]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Rename pr93207.c to pr93027.c. Fix PR number in change logs.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
df2c0d36
TB
12020-01-08 Tobias Burnus <tobias@codesourcery.com>
2
3 * libgomp.texi: Fix typos, use https.
4
f760c0c7
TB
52020-01-03 Tobias Burnus <tobias@codesourcery.com>
6
7 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8 unallocated/disassociated actual arguments to nonallocatable/nonpointer
9 dummy arguments; those are/shall be regarded as absent arguments.
10 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
11 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
12
7e7065b9
JJ
132020-01-01 Jakub Jelinek <jakub@redhat.com>
14
8d9254fc
JJ
15 Update copyright years.
16
7e7065b9
JJ
17 * libgomp.texi: Bump @copying's copyright year.
18
2c829799
AM
192019-12-31 Ayush Mittal <ayush.m@samsung.com>
20
21 PR libgomp/93065
22 * oacc-init.c (goacc_runtime_deinitialize): New function.
23
e9dcb75e
JJ
242019-12-28 Jakub Jelinek <jakub@redhat.com>
25
26 PR bootstrap/93074
27 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
28 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
29
6c84c8bf
MR
302019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
31 Frederik Harwath <frederik@codesourcery.com>
32 Thomas Schwinge <tschwinge@codesourcery.com>
33
34 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
35 * libgomp-plugin.h (gomp_device_property_value): New union.
36 (gomp_device_property_value): New prototype.
37 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
38 constant.
39 (acc_device_property_t): New enum.
40 (acc_get_property, acc_get_property_string): New prototypes.
41 * oacc-init.c (acc_get_device_type): Also assert that result
42 is not `acc_device_current'.
43 (get_property_any, acc_get_property, acc_get_property_string):
44 New functions.
45 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
46 `acc_property_memory', `acc_property_free_memory',
47 `acc_property_name', `acc_property_vendor' and
48 `acc_property_driver' constants. Add `acc_device_property' data
49 type.
50 (openacc_internal): Add `acc_get_property' and
51 `acc_get_property_string' interfaces. Add `acc_get_property_h',
52 `acc_get_property_string_h', `acc_get_property_l' and
53 `acc_get_property_string_l'.
54 * oacc-host.c (host_get_property): New function.
55 (host_dispatch): Wire it.
56 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
57 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
58 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
59 * libgomp.texi (OpenACC Runtime Library Routines): Add
60 `acc_get_property'.
61 (acc_get_property): New node.
62 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
63 function (stub).
64 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
65 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
66 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
67 calls.
68 (GOMP_OFFLOAD_get_property): New function.
69 (struct ptx_device): Add new field "name".
70 (cuda_driver_version_s): Add new static variable ...
71 (nvptx_init): ... and init from here.
72
73 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
74 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
75 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
76 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
77 with test helper functions.
78
79 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
80
c8e759b4
MR
812019-12-22 Maciej W. Rozycki <macro@wdc.com>
82
83 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
84 variable.
85
b092fb3b
TS
862019-12-21 Thomas Schwinge <thomas@codesourcery.com>
87
88 * target.c (gomp_map_vars_internal): Restore 'omp declare target
89 link' handling.
90
9be3ac5d
JB
912019-12-19 Julian Brown <julian@codesourcery.com>
92
93 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
94 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
95 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
96
02817027
JB
972019-12-19 Julian Brown <julian@codesourcery.com>
98 Cesar Philippidis <cesar@codesourcery.com>
99
100 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
101 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
102 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
103 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
104 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
105 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
106 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
107 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
108 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
109 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
110 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
111 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
112 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
113
c2eb021f
JB
1142019-12-19 Julian Brown <julian@codesourcery.com>
115
116 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
117 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
118 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
119 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
120 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
121 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
122 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
123 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
124 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
125 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
126 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
127 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
128
8e7e71ff
JB
1292019-12-19 Julian Brown <julian@codesourcery.com>
130
131 * libgomp.h (struct target_var_desc): Add do_detach flag.
132 * oacc-init.c (acc_shutdown_1): Free aux block if present.
133 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
134 struct components. Tidy up and add some new checks.
135 (goacc_enter_data_internal): Update call to find_group_last.
136 (goacc_exit_data_internal): Support detach operations and
137 GOMP_MAP_STRUCT.
138 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
139 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
140 attach/detach in enter/exit data detection code.
141 * target.c (gomp_map_vars_existing): Initialise do_detach field of
142 tgt_var_desc.
143 (gomp_map_vars_internal): Support attach.
144 (gomp_unmap_vars_internal): Support detach.
145
5d5be7bf
JB
1462019-12-19 Julian Brown <julian@codesourcery.com>
147 Thomas Schwinge <thomas@codesourcery.com>
148
149 * libgomp.h (struct splay_tree_aux): Add attach_count field.
150 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
151 * libgomp.map (OACC_2.6): New section. Add acc_attach,
152 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
153 acc_detach_finalize_async.
154 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
155 acc_detach, acc_detach_async, acc_detach_finalize,
156 acc_detach_finalize_async): New functions.
157 * openacc.h (acc_attach, acc_attach_async, acc_detach,
158 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
159 prototypes.
160 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
161 (gomp_remove_var_internal): Free attachment counts if present.
162 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
163 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
164
5bcd470b
JB
1652019-12-19 Julian Brown <julian@codesourcery.com>
166 Cesar Philippidis <cesar@codesourcery.com>
167
168 * libgomp.h (gomp_map_val): Add prototype.
169 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
170 open-coding device-address calculation.
171 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
172 non-present case.
173
378da98f
JB
1742019-12-19 Julian Brown <julian@codesourcery.com>
175
176 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
177 field for virtual_refcount.
178 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
179 (gomp_free_memmap): Remove prototype.
180 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
181 instead of calling gomp_free_memmap.
182 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
183 dynamic_refcount.
184 (acc_unmap_data): Open code instead of forcing target_mem_desc's
185 to_free field to NULL then calling gomp_unmap_vars. Handle
186 REFCOUNT_INFINITY on target blocks.
187 (goacc_enter_data): Rename to...
188 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
189 handling for mapping groups. Use virtual_refcount instead of
190 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
191 map_map_vars_async call. Re-do lookup for target pointer return value.
192 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
193 renamed goacc_enter_datum function.
194 (goacc_exit_data): Rename to...
195 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
196 (acc_delete, acc_delete_async, acc_delete_finalize,
197 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
198 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
199 goacc_exit_datum function.
200 (gomp_acc_remove_pointer, find_pointer): Remove functions.
201 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
202 New functions.
203 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
204 goacc_exit_data_internal helper functions.
205 * target.c (gomp_map_vars_internal): Handle
206 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
207 semantics.
208 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
209 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
210 virtual_refcount field instead of dynamic_refcount.
211 (gomp_free_memmap): Remove function.
212 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
213 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
214 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
215
2a656a93
JB
2162019-12-19 Julian Brown <julian@codesourcery.com>
217 Thomas Schwinge <thomas@codesourcery.com>
218
219 * libgomp.h (struct splay_tree_aux): New.
220 (struct splay_tree_key_s): Replace link_key field with aux pointer.
221 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
222 to aux struct.
223 (gomp_remove_var_internal): Free aux block if present.
224 (gomp_load_image_to_device): Zero-initialise aux field instead of
225 link_key field.
226 (omp_target_associate_pointer): Zero-initialise aux field.
227
601399c0
JJ
2282019-12-18 Jakub Jelinek <jakub@redhat.com>
229
230 PR middle-end/86416
231 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
232 q or none.
233 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
234 L or none.
235
a6163563
JB
2362019-12-19 Julian Brown <julian@codesourcery.com>
237 Maciej W. Rozycki <macro@codesourcery.com>
238 Tobias Burnus <tobias@codesourcery.com>
239 Thomas Schwinge <thomas@codesourcery.com>
240
241 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
242 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
243 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
244 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
245 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
246 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
247 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
248 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
249 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
250
6278b549
TS
2512019-12-18 Thomas Schwinge <thomas@codesourcery.com>
252
77ce5555
TS
253 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
254 called...
255 (goacc_insert_pointer): ... from here, "present" case.
256 (goacc_insert_pointer): Inline function into...
257 (GOACC_enter_exit_data): ... here, and simplify.
258
9444a299
TS
259 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
260 called...
261 (goacc_insert_pointer): ... from here, "not present" case.
262
5031b619
TS
263 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
264 all users.
265
1a79b578
TS
266 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
267 'goacc_enter_data', 'goacc_exit_data'.
268
34cfe31e
TS
269 * oacc-mem.c (delete_copyout): Refactor into...
270 (goacc_exit_data): ... this. Adjust all users.
271
aaf0e9d7
TS
272 * oacc-mem.c (present_create_copy): Refactor into...
273 (goacc_enter_data): ... this. Adjust all users.
274
83d1d065
TS
275 * target.c (gomp_unmap_vars_internal): Add a safeguard to
276 'gomp_remove_var'.
277
cc3f11f5
TS
278 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
279 like 'GOMP_MAP_FROM'.
280
ddb25eb9
TS
281 PR libgomp/92726
282 PR libgomp/92970
283 PR libgomp/92984
284 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
285 fails.
286 (GOACC_enter_exit_data): Simplify accordingly.
287 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
288 subsuming...
289 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
290 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
291 file.
292 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
293 subsuming...
294 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
295 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
296 file.
297 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
298 subsuming...
299 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
300
32128577
TS
301 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
302 'finalize' handling.
303
ba40277f
TS
304 PR libgomp/92848
305 * oacc-mem.c (acc_map_data, present_create_copy)
306 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
307 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
308 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
309 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
310 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
311 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
312 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
313 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
314 Remove "XFAIL"s.
315
6278b549
TS
316 * target.c (gomp_unmap_tgt): Make it 'static'.
317 * libgomp.h (gomp_unmap_tgt): Remove.
318
c80c9e26
TB
3192019-12-18 Tobias Burnus <tobias@codesourcery.com>
320
321 PR middle-end/86416
322 * testsuite/libgomp.c/pr86416-1.c: New.
323 * testsuite/libgomp.c/pr86416-2.c: New.
324
0b8499a4
TB
3252019-12-17 Tobias Burnus <tobias@codesourcery.com>
326
327 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
328 all symbols as public except for the 'use …, only' imported symbol,
329 which is private.
330 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
331 all symbols from module openacc_kinds as PUBLIC
332 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
333 fix comment typo.
334 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
335
1cbd94e8
JB
3362019-12-13 Julian Brown <julian@codesourcery.com>
337
338 PR libgomp/92881
339
340 * libgomp.h (gomp_remove_var_async): Add prototype.
341 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
342 gomp_remove_var.
343 * target.c (gomp_unref_tgt): Change return type to bool, indicating
344 whether target_mem_desc was unmapped.
345 (gomp_unref_tgt_void): New.
346 (gomp_remove_var): Reimplement in terms of...
347 (gomp_remove_var_internal): ...this new helper function.
348 (gomp_remove_var_async): New, implemented using above helper function.
349 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
350 gomp_unref_tgt.
351
26b74ed0
AS
3522019-12-13 Andrew Stubbs <ams@codesourcery.com>
353
354 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
355 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
356 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
357 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
358 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
359 Likewise.
360 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
361 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
362
7858bb96
TB
3632019-12-13 Tobias Burnus <tobias@codesourcery.com>
364
365 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
366 as public except for the 'use …, only' imported symbol, which is
367 private.
368 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
369 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
370 attributes for acc_copyout_finalize and acc_delete_finalize.
371
f8ac7d8f
JJ
3722019-12-11 Jakub Jelinek <jakub@redhat.com>
373
374 PR fortran/92899
375 * testsuite/libgomp.fortran/atomic1.f90: New test.
376
3d1b5e71
TS
3772019-12-11 Thomas Schwinge <thomas@codesourcery.com>
378
d6e8c01c
TS
379 PR libgomp/92843
380 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
381 reference counting for structured 'REFCOUNT_INFINITY'. Add some
382 assertions.
383 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
384 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
385 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
386 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
387 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
388
57963e39
TS
389 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
390 * oacc-mem.c: ... here.
391 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
392 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
393 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
394 Remove.
395 * libgomp_g.h: Update.
396
c5578b56
TS
397 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
398 * oacc-async.c: ... here.
399 * oacc-int.h (goacc_wait): Declare.
400 * libgomp_g.h: Update
401
3d1b5e71
TS
402 PR libgomp/92854
403 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
404 New file.
405 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
406 Likewise.
407 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
408 Likewise.
409 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
410 Likewise.
411 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
412 Likewise.
413 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
414 Likewise.
415
5e939438
TS
4162019-12-11 Thomas Schwinge <thomas@codesourcery.com>
417 Julian Brown <julian@codesourcery.com>
418
419 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
420 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
421
93d90219
TB
4222019-12-11 Tobias Burnus <tobias@codesourcery.com>
423
424 * omp_lib.h.in: Fix spelling of function declaration
425 omp_get_cancell(l)ation.
426 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
427 Fix typos.
428 * env.c: Fix comment typos.
429 * oacc-host.c: Likewise.
430 * ordered.c: Likewise.
431 * task.c: Likewise.
432 * team.c: Likewise.
433 * config/gcn/task.c: Likewise.
434 * config/gcn/team.c: Likewise.
435 * config/nvptx/task.c: Likewise.
436 * config/nvptx/team.c: Likewise.
437 * plugin/plugin-gcn.c: Likewise.
438 * testsuite/libgomp.fortran/jacobi.f: Likewise.
439 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
440 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
441
a0221aee
TB
4422019-12-11 Tobias Burnus <tobias@codesourcery.com>
443
444 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
445 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
446 unnecessary 'dg-additional-options "-w"'.
447
47afc7b4
TS
4482019-12-09 Thomas Schwinge <thomas@codesourcery.com>
449 Julian Brown <julian@codesourcery.com>
450
451 PR libgomp/92116
452 PR libgomp/92877
453
454 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
455 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
456 Adjust all users.
457 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
458 Remove XFAIL.
459 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
460 Likewise.
461 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
462
b5859e40
TS
4632019-12-09 Thomas Schwinge <thomas@codesourcery.com>
464
cec41816
TS
465 PR libgomp/92503
466 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
467 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
468 file.
469 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
470 Likewise.
471 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
472 Likewise.
473 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
474 Likewise.
475 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
476 Likewise.
477 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
478 Likewise.
479 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
480 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
481 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
482 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
483 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
484 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
485 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
486 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
487 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
488 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
489
e103542b
TS
490 PR libgomp/92840
491 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
492 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
493 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
494 New file.
495 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
496 Likewise.
497 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
498 Likewise.
499 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
500 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
501
41f36f22
TS
502 PR libgomp/92511
503 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
504 this file...
505 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
506 this file...
507 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
508 file...
509 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
510 file...
511 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
512 ... with their content moved into, and extended in this new file.
513 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
514 New file.
515 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
516 Likewise.
517 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
518 Likewise.
519 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
520 Likewise.
521
6effebe1
TS
522 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
523
7d020473
TS
524 PR libgomp/92854
525 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
526
1e1fb715
TS
527 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
528
b5859e40
TS
529 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
530
11586ed9
TB
5312019-12-09 Tobias Burnus <tobias@codesourcery.com>
532
533 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
534 unique.
535 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
536 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
537 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
538 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
539 Ditto.
540 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
541 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
542
3ad4a03a
KCY
5432019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
544
545 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
546
6e4d01d6
TB
5472019-12-06 Tobias Burnus <tobias@codesourcery.com>
548 Kwok Cheung Yeung <kcy@codesourcery.com>
549
550 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
551 if input it a NULL pointer.
552 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
553 diagnostic of NULL pointer.
554 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
555 * testsuite/libgomp.fortran/optional-map.f90: New.
556 * testsuite/libgomp.fortran/use_device_addr-1.f90
557 (test_dummy_opt_callee_1_absent): New.
558 (test_dummy_opt_call_1): Call it.
559 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
560 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
561 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
562 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
563 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
564 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
565 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
566 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
567 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
568 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
569 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
570 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
571 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
572 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
573 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
574 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
575
ad80ec46
TB
5762019-12-05 Tobias Burnus <tobias@codesourcery.com>
577
578 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
579 expect dg-output of 'Error termination.' for GCN.
580 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
581 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
582
a8a5f4cc
JJ
5832019-12-04 Jakub Jelinek <jakub@redhat.com>
584
585 PR fortran/92756
586 * testsuite/libgomp.fortran/teams1.f90: New test.
587 * testsuite/libgomp.fortran/teams2.f90: New test.
588
d8f0024b
FH
5892019-12-03 Frederik Harwath <frederik@codesourcery.com>
590
591 * oacc-init.c (acc_known_device_type): Add function.
592 (unknown_device_type_error): Add function.
593 (name_of_acc_device_t): Change to call unknown_device_type_error
594 on unknown type.
595 (resolve_device): Use acc_known_device_type.
596 (acc_init): Fail if acc_device_t argument is not valid.
597 (acc_shutdown): Likewise.
598 (acc_get_num_devices): Likewise.
599 (acc_set_device_type): Likewise.
600 (acc_get_device_num): Likewise.
601 (acc_set_device_num): Likewise.
602 (acc_on_device): Add comment that argument validity is not checked.
603
83caa34e
AS
6042019-12-03 Andrew Stubbs <ams@codesourcery.com>
605
606 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
607 Recognize amdgcn.
608 (check_effective_target_openacc_amdgcn_accel_present): New proc.
609 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
610 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
611 * testsuite/libgomp.oacc-c/c.exp: Likewise.
612 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
613
00484365
SN
6142019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
615
616 PR libgomp/91938
617 * configure.tgt: Avoid IE tls on *-*-musl*.
618
9909a059
TB
6192019-11-29 Tobias Burnus <tobias@codesourcery.com>
620
621 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
622 adding a common-block test case.
623
b3f44388
JJ
6242019-11-29 Jakub Jelinek <jakub@redhat.com>
625
626 PR c++/60228
627 * testsuite/libgomp.c++/udr-20.C: New test.
628 * testsuite/libgomp.c++/udr-21.C: New test.
629
b1a73b48
TS
6302019-11-27 Thomas Schwinge <thomas@codesourcery.com>
631
632 * testsuite/lib/libgomp.exp
633 (check_effective_target_offload_target_nvptx): New proc.
634 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
635 'dg-skip-if'.
636 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
637 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
638 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
639
b8e72446
RO
6402019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
641
642 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
643 * testsuite/libgomp.c/pr39591-2.c: Likewise.
644 * testsuite/libgomp.c/pr39591-3.c: Likewise.
645 * testsuite/libgomp.c/private-1.c: Likewise.
646 * testsuite/libgomp.c/task-1.c: Likewise.
647 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
648
d88b27da
JB
6492019-11-20 Julian Brown <julian@codesourcery.com>
650
651 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
652 aq->mutex here.
653 (queue_push_launch): Lock aq->mutex before calling
654 wait_for_queue_nonfull.
655 (queue_push_callback): Likewise.
656 (queue_push_asyncwait): Likewise.
657 (queue_push_placeholder): Likewise.
658
8d2f4ddf
JB
6592019-11-20 Julian Brown <julian@codesourcery.com>
660
661 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
662 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
663 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
664 return code.
665
e307b05f
JB
6662019-11-20 Julian Brown <julian@codesourcery.com>
667
668 PR libgomp/92511
669
670 * oacc-mem.c (present_create_copy): Fix device pointer return value in
671 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
672 in non-present/create case.
673 (delete_copyout): Change error condition to fail only on copies outside
674 of mapped block. Adjust error message accordingly.
675 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
676 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
677 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
678 message.
679 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
680 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
681 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
682
83115e9e
MR
6832019-11-20 Maciej W. Rozycki <macro@wdc.com>
684
685 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
686 libatomic in build-tree testing.
687
a1289887
MR
6882019-11-18 Maciej W. Rozycki <macro@wdc.com>
689
690 * testsuite/Makefile.in: Regenerate.
691
8916ba87
AS
6922019-11-15 Andrew Stubbs <ams@codesourcery.com>
693
694 * testsuite/libgomp.c/target-print-1.c: New file.
695 * testsuite/libgomp.fortran/target-print-1.f90: New file.
696 * testsuite/libgomp.oacc-c/print-1.c: New file.
697 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
698
237957cc
AS
6992019-11-13 Andrew Stubbs <ams@codesourcery.com>
700 Kwok Cheung Yeung <kcy@codesourcery.com>
701 Julian Brown <julian@codesourcery.com>
702 Tom de Vries <tom@codesourcery.com>
703
704 * plugin/Makefrag.am: Add amdgcn plugin support.
705 * plugin/configfrag.ac: Likewise.
706 * plugin/plugin-gcn.c: New file.
707 * configure: Regenerate.
708 * Makefile.in: Regenerate.
709 * testsuite/Makefile.in: Regenerate.
710
cee16451
AS
7112019-11-13 Andrew Stubbs <ams@codesourcery.com>
712
713 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
714 and use team_malloc variants.
715 (gomp_gcn_exit_kernel): Use team_free.
716 * libgomp.h (TEAM_ARENA_SIZE): Define.
717 (TEAM_ARENA_START): Define.
718 (TEAM_ARENA_FREE): Define.
719 (TEAM_ARENA_END): Define.
720 (team_malloc): New function.
721 (team_malloc_cleared): New function.
722 (team_free): New function.
723 * team.c (gomp_new_team): Initialize and use team_malloc.
724 (free_team): Use team_free.
725 (gomp_free_thread): Use team_free.
726 (gomp_pause_host): Use team_free.
727 * work.c (gomp_init_work_share): Use team_malloc.
728 (gomp_fini_work_share): Use team_free.
729
fa499995
AS
7302019-11-13 Andrew Stubbs <ams@codesourcery.com>
731 Kwok Cheung Yeung <kcy@codesourcery.com>
732 Julian Brown <julian@codesourcery.com>
733 Tom de Vries <tom@codesourcery.com>
734
735 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
736 * Makefile.in: Regenerate.
737 * config.h.in (PLUGIN_GCN): Add new undef.
738 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
739 * config/gcn/affinity-fmt.c: New file.
740 * config/gcn/bar.c: New file.
741 * config/gcn/bar.h: New file.
742 * config/gcn/doacross.h: New file.
743 * config/gcn/icv-device.c: New file.
744 * config/gcn/oacc-target.c: New file.
745 * config/gcn/simple-bar.h: New file.
746 * config/gcn/target.c: New file.
747 * config/gcn/task.c: New file.
748 * config/gcn/team.c: New file.
749 * config/gcn/time.c: New file.
750 * configure.ac: Add amdgcn*-*-*.
751 * configure: Regenerate.
752 * configure.tgt: Add amdgcn*-*-*.
753 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
754 * libgomp.h (gcn_thrs): Add amdgcn variant.
755 (set_gcn_thrs): Likewise.
756 (gomp_thread): Likewise.
757 * oacc-int.h (goacc_thread): Likewise.
758 * oacc-target.c: New file.
759 * openacc.f90 (acc_device_gcn): New parameter.
760 * openacc.h (acc_device_t): Add acc_device_gcn.
761 * team.c (gomp_free_pool_helper): Add amdgcn support.
762
d2903ce0
AS
7632019-11-13 Andrew Stubbs <ams@codesourcery.com>
764 Julian Brown <julian@codesourcery.com>
765
766 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
767 parameter.
768 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
769 queue constructor.
770 * oacc-host.c (host_openacc_async_construct): Add device parameter.
771 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
772 device parameter.
773
b3d14b3a
AS
7742019-11-13 Andrew Stubbs <ams@codesourcery.com>
775
776 * configure.tgt (nvptx*-*-*): Add "accel" directory.
777 * config/nvptx/libgomp-plugin.c: Move ...
778 * config/accel/libgomp-plugin.c: ... to here.
779 * config/nvptx/lock.c: Move ...
780 * config/accel/lock.c: ... to here.
781 * config/nvptx/mutex.c: Move ...
782 * config/accel/mutex.c: ... to here.
783 * config/nvptx/mutex.h: Move ...
784 * config/accel/mutex.h: ... to here.
785 * config/nvptx/oacc-async.c: Move ...
786 * config/accel/oacc-async.c: ... to here.
787 * config/nvptx/oacc-cuda.c: Move ...
788 * config/accel/oacc-cuda.c: ... to here.
789 * config/nvptx/oacc-host.c: Move ...
790 * config/accel/oacc-host.c: ... to here.
791 * config/nvptx/oacc-init.c: Move ...
792 * config/accel/oacc-init.c: ... to here.
793 * config/nvptx/oacc-mem.c: Move ...
794 * config/accel/oacc-mem.c: ... to here.
795 * config/nvptx/oacc-plugin.c: Move ...
796 * config/accel/oacc-plugin.c: ... to here.
797 * config/nvptx/omp-lock.h: Move ...
798 * config/accel/omp-lock.h: ... to here.
799 * config/nvptx/openacc.f90: Move ...
800 * config/accel/openacc.f90: ... to here.
801 * config/nvptx/pool.h: Move ...
802 * config/accel/pool.h: ... to here.
803 * config/nvptx/proc.c: Move ...
804 * config/accel/proc.c: ... to here.
805 * config/nvptx/ptrlock.c: Move ...
806 * config/accel/ptrlock.c: ... to here.
807 * config/nvptx/ptrlock.h: Move ...
808 * config/accel/ptrlock.h: ... to here.
809 * config/nvptx/sem.c: Move ...
810 * config/accel/sem.c: ... to here.
811 * config/nvptx/sem.h: Move ...
812 * config/accel/sem.h: ... to here.
813 * config/nvptx/thread-stacksize.h: Move ...
814 * config/accel/thread-stacksize.h: ... to here.
815
62aee289
MR
8162019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
817 Tobias Burnus <tobias@codesourcery.com>
818 Frederik Harwath <frederik@codesourcery.com>
819 Thomas Schwinge <thomas@codesourcery.com>
820
821 libgomp/
822 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
823 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
824 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
825
a2c26c50
TB
8262019-11-11 Tobias Burnus <tobias@codesourcery.com>
827 Kwok Cheung Yeung <kcy@codesourcery.com>
828
829 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
830 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
831
6d4868f3
TS
8322019-11-11 Thomas Schwinge <thomas@codesourcery.com>
833
bfa1837b
TS
834 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
835
6d4868f3
TS
836 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
837 run'.
838 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
839 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
840
5d183d17
FH
8412019-11-06 Thomas Schwinge <thomas@codesourcery.com>
842
843 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
844 Add expected warnings about missing reduction clauses.
845 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
846 Likewise.
847 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
848 Likewise.
849 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
850 Likewise.
851
d8f03b03
TB
8522019-11-04 Tobias Burnus <tobias@codesourcery.com>
853
854 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
855 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
856 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
857 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
858 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
859 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
860
12fd2ec5
TB
8612019-11-04 Tobias Burnus <tobias@codesourcery.com>
862
863 PR fortran/92305
864 * testsuite/libgomp.fortran/allocatable2.f90: Use
865 unique numbers with 'stop'.
866 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
867 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
868 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
869 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
870 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
871
92e63bd2
TB
8722019-11-01 Tobias Burnus <tobias@codesourcery.com>
873
874 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
875 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
876 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
877 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
878 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
879 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
880
91ae0a46
TB
8812019-10-30 Tobias Burnus <tobias@codesourcery.com>
882
883 * testsuite/libgomp.fortran/target9.f90: New.
884
c425e66b
TB
8852019-10-30 Tobias Burnus <tobias@codesourcery.com>
886
887 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
888 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
889 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
890 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
891 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
892 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
893 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
894 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
895 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
896 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
897 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
898 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
899 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
900 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
901 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
902 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
903 * testsuite/libgomp.fortran/associate1.f90: Ditto.
904 * testsuite/libgomp.fortran/associate2.f90: Ditto.
905 * testsuite/libgomp.fortran/associate3.f90: Ditto.
906 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
907 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
908 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
909 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
910 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
911 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
912 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
913 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
914 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
915 * testsuite/libgomp.fortran/character1.f90: Ditto.
916 * testsuite/libgomp.fortran/character2.f90: Ditto.
917 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
918 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
919 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
920 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
921 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
922 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
923 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
924 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
925 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
926 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
927 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
928 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
929 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
930 * testsuite/libgomp.fortran/do1.f90: Ditto.
931 * testsuite/libgomp.fortran/do2.f90: Ditto.
932 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
933 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
934 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
935 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
936 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
937 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
938 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
939 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
940 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
941 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
942 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
943 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
944 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
945 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
946 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
947 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
948 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
949 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
950 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
951 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
952 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
953 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
954 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
955 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
956 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
957 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
958 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
959 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
960 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
961 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
962 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
963 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
964 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
965 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
966 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
967 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
968 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
969 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
970 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
971 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
972 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
973 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
974 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
975 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
976 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
977 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
978 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
979 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
980 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
981 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
982 * testsuite/libgomp.fortran/lib1.f90: Ditto.
983 * testsuite/libgomp.fortran/lib4.f90: Ditto.
984 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
985 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
986 * testsuite/libgomp.fortran/nested1.f90: Ditto.
987 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
988 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
989 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
990 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
991 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
992 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
993 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
994 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
995 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
996 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
997 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
998 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
999 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1000 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1001 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1002 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1003 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1004 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1005 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1006 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1007 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1008 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1009 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1010 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1011 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1012 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1013 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1014 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1015 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1016 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1017 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1018 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1019 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1020 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1021 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1022 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1023 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1024 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1025 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1026 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1027 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1028 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1029 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1030 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1031 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1032 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1033 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1034 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1035 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1036 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1037 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1038 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1039 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1040 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1041 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1042 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1043 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1044 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1045 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1046 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1047 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1048 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1049 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1050 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1051 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1052 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1053 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1054 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1055 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1056 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1057 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1058 * testsuite/libgomp.fortran/stack.f90: Ditto.
1059 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1060 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1061 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1062 * testsuite/libgomp.fortran/target1.f90: Ditto.
1063 * testsuite/libgomp.fortran/target2.f90: Ditto.
1064 * testsuite/libgomp.fortran/target3.f90: Ditto.
1065 * testsuite/libgomp.fortran/target4.f90: Ditto.
1066 * testsuite/libgomp.fortran/target5.f90: Ditto.
1067 * testsuite/libgomp.fortran/target6.f90: Ditto.
1068 * testsuite/libgomp.fortran/target7.f90: Ditto.
1069 * testsuite/libgomp.fortran/target8.f90: Ditto.
1070 * testsuite/libgomp.fortran/task1.f90: Ditto.
1071 * testsuite/libgomp.fortran/task2.f90: Ditto.
1072 * testsuite/libgomp.fortran/task3.f90: Ditto.
1073 * testsuite/libgomp.fortran/task4.f90: Ditto.
1074 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1075 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1076 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1077 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1078 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1079 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1080 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1081 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1082 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1083 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1084 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1085 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1086 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1087 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1088 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1089 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1090 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1091 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1092 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1093 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1094 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1095 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1096 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1097 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1098 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1099 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1100 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1101 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1102 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1103 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1104 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1105 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1106 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1107 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1108
01509e2f
TB
11092019-10-30 Tobias Burnus <tobias@codesourcery.com>
1110
1111 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1112 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1113 Ditto; add 'dg-do run' for torture testing.
1114 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1115 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1116 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1117 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1118 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1119 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1120 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1121 * testsuite/libgomp.fortran/task2.f90: Ditto.
1122 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1123 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1124 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1125 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1126 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1127 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1128
ffbdd78a
TB
11292019-10-28 Tobias Burnus <tobias@codesourcery.com>
1130
1131 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1132 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1133 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1134 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1135 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1136 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1137 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1138 Use 'stop' not abort().
1139 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1140 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1141 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1142 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1143 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1144 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1145 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1146 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1147 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1148 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1149 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1150 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1151 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1152 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1153 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1154 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1155 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1156 Ditto.
1157 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1158 Ditto.
1159 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1160 Ditto.
1161 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1162 Ditto.
1163 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1164 Ditto.
1165 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1166 Ditto.
1167 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1168 Ditto.
1169 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1170 Ditto.
1171 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1172 Ditto.
1173 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1174 Ditto.
1175 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1176 Ditto.
1177 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1178 Ditto.
1179 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1180 Ditto.
1181 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1182 Ditto.
1183 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1184 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1185 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1186 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1187 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1188 Likewise and also add 'dg-do run'.
1189 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1190 Ditto.
1191
ec084613
CP
11922019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1193 Tobias Burnus <tobias@codesourcery.com>
1194
1195 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1196 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1197 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1198
77ef3394
JJ
11992019-10-14 Jakub Jelinek <jakub@redhat.com>
1200
1201 PR libgomp/92081
1202 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1203 than 0.
1204
08c14aaa
TB
12052019-10-11 Tobias Burnus <tobias@codesourcery.com>
1206
1207 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1208 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1209
6bbead0c
TS
12102019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1211
1212 PR middle-end/92036
1213 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1214 file.
1215
eba3dee8
TB
12162019-10-09 Tobias Burnus <tobias@codesourcery.com>
1217
1218 PR testsuite/91884
1219 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1220 add -lquadmath.
1221 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1222
7d48e14f
JJ
12232019-10-09 Jakub Jelinek <jakub@redhat.com>
1224
1225 PR libgomp/92028
1226 * target.c (gomp_map_vars_internal): Readd the previous
1227 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1228 though do that just in the !not_found_cnt case.
1229
65b67cf3
TB
12302019-10-08 Tobias Burnus <tobias@codesourcery.com>
1231
1232 * gfortran.dg/gomp/target-simd.f90: New.
1233
6c7e076b
JB
12342019-10-02 Julian Brown <julian@codesourcery.com>
1235 Cesar Philippidis <cesar@codesourcery.com>
1236
1237 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1238 * target.c (FIELD_TGT_EMPTY): Define.
1239 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1240 as switch instead of list of ifs.
1241 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1242
d61bff85
AT
12432019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1244
1245 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1246 include. Replace alloca () with __builtin_alloca ().
1247 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1248
810f316d
JJ
12492019-10-01 Jakub Jelinek <jakub@redhat.com>
1250
1251 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1252 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1253 * oacc-parallel.c: Don't include "libgomp_g.h".
1254 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1255 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1256 * aclocal.m4: Regenerated.
1257 * config.h.in: Regenerated.
1258 * configure: Regenerated.
1259 * Makefile.in: Regenerated.
1260
d7f9ee98
KCY
12612019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1262
1263 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1264
e9085da5
MR
12652019-09-27 Maciej W. Rozycki <macro@wdc.com>
1266
1267 * configure: Regenerate.
1268
c28712be
TB
12692019-09-13 Tobias Burnus <tobias@codesourcery.com>
1270
1271 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1272 string is initialized.
1273
3c086f8d
FW
12742019-09-06 Florian Weimer <fweimer@redhat.com>
1275
1276 * configure: Regenerate.
1277
c6c2d1bc
CLT
12782019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1279
1280 PR other/79543
1281 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1282 scanning to conform to the GNU Coding Standards.
1283 * configure: Regenerate.
1284
5cb72d83
JJ
12852019-08-28 Jakub Jelinek <jakub@redhat.com>
1286
1287 PR libgomp/91530
1288 * testsuite/libgomp.c/scan-21.c: New test.
1289 * testsuite/libgomp.c/scan-22.c: New test.
1290
0ad7981c
JJ
12912019-08-27 Jakub Jelinek <jakub@redhat.com>
1292
1293 PR libgomp/91530
1294 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1295 targets.
1296 * testsuite/libgomp.c/scan-12.c: Likewise.
1297 * testsuite/libgomp.c/scan-13.c: Likewise.
1298 * testsuite/libgomp.c/scan-14.c: Likewise.
1299 * testsuite/libgomp.c/scan-15.c: Likewise.
1300 * testsuite/libgomp.c/scan-16.c: Likewise.
1301 * testsuite/libgomp.c/scan-17.c: Likewise.
1302 * testsuite/libgomp.c/scan-18.c: Likewise.
1303 * testsuite/libgomp.c/scan-19.c: Likewise.
1304 * testsuite/libgomp.c/scan-20.c: Likewise.
1305 * testsuite/libgomp.c++/scan-9.C: Likewise.
1306 * testsuite/libgomp.c++/scan-10.C: Likewise.
1307 * testsuite/libgomp.c++/scan-11.C: Likewise.
1308 * testsuite/libgomp.c++/scan-12.C: Likewise.
1309 * testsuite/libgomp.c++/scan-14.C: Likewise.
1310 * testsuite/libgomp.c++/scan-15.C: Likewise.
1311 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1312 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1313 * testsuite/libgomp.c++/scan-16.C: Likewise.
1314
1e67491a
TK
13152019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1316
1317 PR fortran/91473
1318 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1319 -std=legacy so invalid code in the test case is accepted.
1320
393fdeb1
TK
13212019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1322
1323 PR fortran/91422
1324 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1325 dimension.
1326
8860d270
JJ
13272019-08-08 Jakub Jelinek <jakub@redhat.com>
1328
1329 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1330 perform the lookup in the first loop only if !not_found_cnt, otherwise
1331 perform lookups for it in the second loop guarded with
1332 if (not_found_cnt || has_firstprivate).
1333 * testsuite/libgomp.c/target-37.c: New test.
1334 * testsuite/libgomp.c++/target-22.C: New test.
1335
398e3feb
JJ
13362019-08-07 Jakub Jelinek <jakub@redhat.com>
1337
1338 * testsuite/libgomp.c/target-18.c (struct S): New type.
1339 (foo): Use use_device_addr clause instead of use_device_ptr clause
1340 where required by OpenMP 5.0, add further tests for both use_device_ptr
1341 and use_device_addr clauses.
1342 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1343 (foo): Use use_device_addr clause instead of use_device_ptr clause
1344 where required by OpenMP 5.0, add further tests for both use_device_ptr
1345 and use_device_addr clauses. Add t and u arguments.
1346 (main): Adjust caller.
1347
d81ab49d
JJ
13482019-08-06 Jakub Jelinek <jakub@redhat.com>
1349
1350 * testsuite/libgomp.c++/loop-13.C: New test.
1351 * testsuite/libgomp.c++/loop-14.C: New test.
1352 * testsuite/libgomp.c++/loop-15.C: New test.
1353
c3ac76aa
JJ
13542019-07-31 Jakub Jelinek <jakub@redhat.com>
1355
1356 PR middle-end/91301
1357 * testsuite/libgomp.c++/for-27.C: New test.
1358
8dc63166
SK
13592019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1360
393fdeb1 1361 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 1362 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 1363
554a530f
JJ
13642019-07-20 Jakub Jelinek <jakub@redhat.com>
1365
1366 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1367
6cda84b5
JJ
13682019-07-08 Jakub Jelinek <jakub@redhat.com>
1369
1370 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1371 * testsuite/libgomp.c++/scan-16.C: Likewise.
1372
1f52d1a8
JJ
13732019-07-06 Jakub Jelinek <jakub@redhat.com>
1374
6f67abcd
JJ
1375 * testsuite/libgomp.c/scan-19.c: New test.
1376 * testsuite/libgomp.c/scan-20.c: New test.
1377
1f52d1a8
JJ
1378 * testsuite/libgomp.c/scan-11.c: New test.
1379 * testsuite/libgomp.c/scan-12.c: New test.
1380 * testsuite/libgomp.c/scan-13.c: New test.
1381 * testsuite/libgomp.c/scan-14.c: New test.
1382 * testsuite/libgomp.c/scan-15.c: New test.
1383 * testsuite/libgomp.c/scan-16.c: New test.
1384 * testsuite/libgomp.c/scan-17.c: New test.
1385 * testsuite/libgomp.c/scan-18.c: New test.
1386 * testsuite/libgomp.c++/scan-9.C: New test.
1387 * testsuite/libgomp.c++/scan-10.C: New test.
1388 * testsuite/libgomp.c++/scan-11.C: New test.
1389 * testsuite/libgomp.c++/scan-12.C: New test.
1390 * testsuite/libgomp.c++/scan-13.C: New test.
1391 * testsuite/libgomp.c++/scan-14.C: New test.
1392 * testsuite/libgomp.c++/scan-15.C: New test.
1393 * testsuite/libgomp.c++/scan-16.C: New test.
1394
2f03073f
JJ
13952019-07-04 Jakub Jelinek <jakub@redhat.com>
1396
1397 * testsuite/libgomp.c/scan-9.c: New test.
1398 * testsuite/libgomp.c/scan-10.c: New test.
1399
2f6bb511
JJ
14002019-07-03 Jakub Jelinek <jakub@redhat.com>
1401
1402 * testsuite/libgomp.c++/scan-1.C: New test.
1403 * testsuite/libgomp.c++/scan-2.C: New test.
1404 * testsuite/libgomp.c++/scan-3.C: New test.
1405 * testsuite/libgomp.c++/scan-4.C: New test.
1406 * testsuite/libgomp.c++/scan-5.C: New test.
1407 * testsuite/libgomp.c++/scan-6.C: New test.
1408 * testsuite/libgomp.c++/scan-7.C: New test.
1409 * testsuite/libgomp.c++/scan-8.C: New test.
1410 * testsuite/libgomp.c/scan-1.c: New test.
1411 * testsuite/libgomp.c/scan-2.c: New test.
1412 * testsuite/libgomp.c/scan-3.c: New test.
1413 * testsuite/libgomp.c/scan-4.c: New test.
1414 * testsuite/libgomp.c/scan-5.c: New test.
1415 * testsuite/libgomp.c/scan-6.c: New test.
1416 * testsuite/libgomp.c/scan-7.c: New test.
1417 * testsuite/libgomp.c/scan-8.c: New test.
1418
bd194a51
TS
14192019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1420
85fca03a
TS
1421 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1422 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1423 Likewise.
1424
bd194a51
TS
1425 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1426 check.
1427
6652161e
CP
14282019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1429
1430 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1431 file.
1432
3a37d6f6
TS
14332019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1434
4017da8d
TS
1435 PR fortran/90743
1436 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1437 case.
1438 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1439 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1440 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1441 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1442
6f7c1f65
TS
1443 PR testsuite/90861
1444 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1445
3a37d6f6
TS
1446 PR middle-end/90862
1447 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1448
f45ce17d
TV
14492019-06-16 Tom de Vries <tdevries@suse.de>
1450
1451 PR tree-optimization/89376
1452 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1453
00908992
TV
14542019-06-15 Tom de Vries <tdevries@suse.de>
1455
1456 PR tree-optimization/89713
1457 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1458 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1459
211b7533
JJ
14602019-06-15 Jakub Jelinek <jakub@redhat.com>
1461
1462 PR middle-end/90779
1463 * testsuite/libgomp.c/pr90779.c: New test.
1464 * testsuite/libgomp.fortran/pr90779.f90: New test.
1465
120a01d1
TV
14662019-06-15 Tom de Vries <tdevries@suse.de>
1467
1468 PR tree-optimization/90009
1469 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1470
c29c92c7
FX
14712019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1472
1473 PR tree-optimization/89713
1474 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1475
ce9c4ec3
JJ
14762019-06-11 Jakub Jelinek <jakub@redhat.com>
1477
1478 PR target/90811
1479 * testsuite/libgomp.c/pr90811.c: New test.
1480
28b3a77c
JJ
14812019-06-05 Jakub Jelinek <jakub@redhat.com>
1482
1483 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1484 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1485
7855700e
JJ
14862019-06-04 Jakub Jelinek <jakub@redhat.com>
1487
1488 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1489 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1490 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1491 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1492
a7155c2e
RO
14932019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1494
1495 * configure.ac: Call AX_COUNT_CPUS.
1496 Substitute CPU_COUNT.
1497 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1498 count fallback.
1499 * aclocal.m4: Regenerate.
1500 * configure: Regenerate.
1501 * Makefile.in, testsuite/Makefile.in: Regenerate.
1502
7e47198b
JJ
15032019-05-29 Jakub Jelinek <jakub@redhat.com>
1504
1505 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1506 to ...
1507 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1508 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1509 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1510
fcfb8032
JJ
15112019-05-27 Jakub Jelinek <jakub@redhat.com>
1512
8e7757ba
JJ
1513 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1514
36c7a3ff
JJ
1515 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1516
fcfb8032
JJ
1517 PR libgomp/90641
1518 * work.c (gomp_init_work_share): Instead of aligning final ordered
1519 value to multiples of long long alignment, align to that the
1520 first part (ordered team ids) and if inline_ordered_team_ids
1521 is not on a long long alignment boundary within the structure,
1522 use __alignof__ (long long) - 1 pad size always.
1523 * loop.c (GOMP_loop_start): Fix *mem computation if
1524 inline_ordered_team_ids is not aligned on long long alignment boundary
1525 within the structure.
1526 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1527 * sections.c (GOMP_sections2_start): Likewise.
1528
b5c26449
JJ
15292019-05-24 Jakub Jelinek <jakub@redhat.com>
1530
6c7ae8c5
JJ
1531 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1532 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1533
b5c26449
JJ
1534 PR libgomp/90585
1535 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1536 HAVE_INTTYPES_H is defined.
1537 (print_uint64_t): New typedef.
1538 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1539 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1540 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1541 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1542 before casting to void *.
1543 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1544 * oacc-mem.c: Don't include config.h nor stdint.h.
1545 * target.c: Don't include config.h.
1546 * oacc-cuda.c: Likewise.
1547 * oacc-host.c: Don't include stdint.h.
1548
3e03ed66
JJ
15492019-05-20 Jakub Jelinek <jakub@redhat.com>
1550
1551 PR libgomp/90527
1552 * alloc.c (_GNU_SOURCE): Define.
1553
5fae049d
TS
15542019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1555
1556 * acc_prof.h: New file.
1557 * oacc-profiling.c: Likewise.
1558 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1559 Add these, respectively.
1560 * Makefile.in: Regenerate.
1561 * env.c (initialize_env): Call goacc_profiling_initialize.
1562 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1563 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1564 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1565 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1566 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1567 acc_prof_register, acc_prof_unregister, and acc_register_library.
1568 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1569 GOMP_PLUGIN_goacc_thread.
1570 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1571 prof_callbacks_enabled members.
1572 (goacc_prof_enabled, goacc_profiling_initialize)
1573 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1574 (goacc_profiling_dispatch): Declare.
1575 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1576 (GOACC_PROFILING_SETUP_P): Define.
1577 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1578 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1579 OpenACC Profiling Interface.
1580 * oacc-cuda.c (acc_get_current_cuda_device)
1581 (acc_get_current_cuda_context, acc_get_cuda_stream)
1582 (acc_set_cuda_stream): Likewise.
1583 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1584 (acc_init, acc_set_device_type, acc_get_device_type)
1585 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1586 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1587 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1588 (acc_unmap_data, present_create_copy, delete_copyout)
1589 (update_dev_host): Likewise.
1590 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1591 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1592 Likewise.
1593 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1594 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1595 Likewise.
1596 * libgomp.texi: Update.
1597 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1598 file.
1599 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1600 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1601 Likewise.
1602 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1603 Likewise.
1604 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1605 Likewise.
1606 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1607 Likewise.
1608
1f4c5b9b
CLT
16092019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1610
1611 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1612 (struct goacc_asyncqueue_list): Likewise.
1613 (goacc_aq): Likewise.
1614 (goacc_aq_list): Likewise.
1615 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1616 (GOMP_OFFLOAD_openacc_async_test): Remove.
1617 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1618 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1619 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1620 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1621 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1622 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1623 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1624 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1625 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1626 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1627 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1628 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1629 (GOMP_OFFLOAD_openacc_async_test): Declare.
1630 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1631 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1632 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1633 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1634 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1635
1636 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1637 (gomp_acc_insert_pointer): Adjust declaration.
1638 (gomp_copy_host2dev): New declaration.
1639 (gomp_copy_dev2host): Likewise.
1640 (gomp_map_vars_async): Likewise.
1641 (gomp_unmap_tgt): Likewise.
1642 (gomp_unmap_vars_async): Likewise.
1643 (gomp_fini_device): Likewise.
1644
1645 * oacc-async.c (get_goacc_thread): New function.
1646 (get_goacc_thread_device): New function.
1647 (lookup_goacc_asyncqueue): New function.
1648 (get_goacc_asyncqueue): New function.
1649 (acc_async_test): Adjust code to use new async design.
1650 (acc_async_test_all): Likewise.
1651 (acc_wait): Likewise.
1652 (acc_wait_async): Likewise.
1653 (acc_wait_all): Likewise.
1654 (acc_wait_all_async): Likewise.
1655 (goacc_async_free): New function.
1656 (goacc_init_asyncqueues): Likewise.
1657 (goacc_fini_asyncqueues): Likewise.
1658 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1659 design.
1660 (acc_set_cuda_stream): Likewise.
1661 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1662 (host_openacc_register_async_cleanup): Remove.
1663 (host_openacc_async_exec): New function.
1664 (host_openacc_async_test): Adjust parameters.
1665 (host_openacc_async_test_all): Remove.
1666 (host_openacc_async_wait): Remove.
1667 (host_openacc_async_wait_async): Remove.
1668 (host_openacc_async_wait_all): Remove.
1669 (host_openacc_async_wait_all_async): Remove.
1670 (host_openacc_async_set_async): Remove.
1671 (host_openacc_async_synchronize): New function.
1672 (host_openacc_async_serialize): New function.
1673 (host_openacc_async_host2dev): New function.
1674 (host_openacc_async_dev2host): New function.
1675 (host_openacc_async_queue_callback): New function.
1676 (host_openacc_async_construct): New function.
1677 (host_openacc_async_destruct): New function.
1678 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 1679 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
1680 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1681 (goacc_attach_host_thread_to_device): Remove old async code usage.
1682 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1683 (goacc_fini_asyncqueues): Likewise.
1684 (goacc_async_copyout_unmap_vars): Likewise.
1685 (goacc_async_free): Likewise.
1686 (get_goacc_asyncqueue): Likewise.
1687 (lookup_goacc_asyncqueue): Likewise.
1688 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1689 design.
1690 (present_create_copy): Adjust code to use new async design.
1691 (delete_copyout): Likewise.
1692 (update_dev_host): Likewise.
1693 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1694 async design.
1695 (gomp_acc_remove_pointer): Adjust code to use new async design.
1696 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1697 design.
1698 (GOACC_enter_exit_data): Likewise.
1699 (goacc_wait): Likewise.
1700 (GOACC_update): Likewise.
1701 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1702 when called, warn as obsolete in comment.
1703 * target.c (goacc_device_copy_async): New function.
1704 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1705 add goacc_device_copy_async case.
1706 (gomp_copy_dev2host): Likewise.
1707 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1708 (gomp_map_pointer): Likewise.
1709 (gomp_map_fields_existing): Likewise.
1710 (gomp_map_vars_internal): New always_inline function, renamed from
1711 gomp_map_vars.
1712 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1713 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1714 passing goacc_asyncqueue argument.
1715 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1716 (gomp_unref_tgt): New function.
1717 (gomp_unmap_vars_internal): New always_inline function, renamed from
1718 gomp_unmap_vars.
1719 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1720 (gomp_unmap_vars_async): Implement by calling
1721 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1722 (gomp_fini_device): New function.
1723 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1724 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1725 new async interface.
1726 (gomp_target_fini): Adjust code to call gomp_fini_device.
1727
1728 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1729 (struct ptx_stream): Remove.
1730 (struct nvptx_thread): Remove current_stream field.
1731 (cuda_map_create): Remove.
1732 (cuda_map_destroy): Remove.
1733 (map_init): Remove.
1734 (map_fini): Remove.
1735 (map_pop): Remove.
1736 (map_push): Remove.
1737 (struct goacc_asyncqueue): Define.
1738 (struct nvptx_callback): Define.
1739 (struct ptx_free_block): Define.
1740 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1741 stream_lock, and next fields.
1742 (enum ptx_event_type): Remove.
1743 (struct ptx_event): Remove.
1744 (ptx_event_lock): Remove.
1745 (ptx_events): Remove.
1746 (init_streams_for_device): Remove.
1747 (fini_streams_for_device): Remove.
1748 (select_stream_for_async): Remove.
1749 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1750 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1751 case.
1752 (nvptx_open_device): Add free_blocks initialization, remove
1753 init_streams_for_device call.
1754 (nvptx_close_device): Remove fini_streams_for_device call, add
1755 free_blocks destruct code.
1756 (event_gc): Remove.
1757 (event_add): Remove.
1758 (nvptx_exec): Adjust parameters and code.
1759 (nvptx_free): Likewise.
1760 (nvptx_host2dev): Remove.
1761 (nvptx_dev2host): Remove.
1762 (nvptx_set_async): Remove.
1763 (nvptx_async_test): Remove.
1764 (nvptx_async_test_all): Remove.
1765 (nvptx_wait): Remove.
1766 (nvptx_wait_async): Remove.
1767 (nvptx_wait_all): Remove.
1768 (nvptx_wait_all_async): Remove.
1769 (nvptx_get_cuda_stream): Remove.
1770 (nvptx_set_cuda_stream): Remove.
1771 (GOMP_OFFLOAD_alloc): Adjust code.
1772 (GOMP_OFFLOAD_free): Likewise.
1773 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1774 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1775 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1776 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1777 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1778 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1779 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1780 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1781 (cuda_free_argmem): New function.
1782 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1783 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1784 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1785 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1786 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1787 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1788 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1789 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1790 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1791 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1792 (cuda_callback_wrapper): New function.
1793 (cuda_memcpy_sanity_check): New function.
1794 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1795 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1796 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1797 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1798
da2d30c1
TS
17992019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1800
1801 PR target/87835
1802 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1803
2bbbfa4e
TS
18042019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1805
1806 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1807
bbf1efe1
KB
18082019-03-27 Kevin Buettner <kevinb@redhat.com>
1809
1810 * team.c (gomp_team_start): Initialize pool->threads[0].
1811
1241136c
TS
18122019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1813
b03d721a
TS
1814 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1815 "-foffload=$offload_target".
1816 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1817 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1818 * testsuite/lib/libgomp.exp
1819 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1820 as (conceptually) merged into
1821 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1822 users.
1823
0a0384b4
TS
1824 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1825 * testsuite/libgomp-test-support.exp.in: Adjust.
1826 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1827 openacc_device_types_s.
1828 (offload_target_to_openacc_device_type): New proc.
1829 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1830 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1831 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1832 * Makefile.in: Regenerate.
1833 * configure: Likewise.
1834 * testsuite/Makefile.in: Likewise.
1835
ee332b4a
TS
1836 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1837 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1838 instead of OFFLOAD_TARGETS.
1839 * target.c (gomp_target_init): Adjust.
1840 * testsuite/libgomp-test-support.exp.in: Likewise.
1841 * testsuite/lib/libgomp.exp: Likewise. Populate
1842 openacc_device_types_s instead of offload_targets_s_openacc.
1843 (check_effective_target_openacc_nvidia_accel_selected)
1844 (check_effective_target_openacc_host_selected): Adjust.
1845 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1846 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1847 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1848 * Makefile.in: Regenerate.
1849 * config.h.in: Likewise.
1850 * configure: Likewise.
1851 * testsuite/Makefile.in: Likewise.
1852
1241136c
TS
1853 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1854 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1855 "offloading: supported, but hardware not accessible".
1856 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1857 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1858
19695f4d
CLT
18592019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1860
1861 PR c/87924
1862 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1863 goacc_wait().
1864 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1865 and related adjustment.
1866
8b44f8ec
JJ
18672019-01-30 Jakub Jelinek <jakub@redhat.com>
1868
1869 PR c++/88988
1870 * testsuite/libgomp.c++/pr88988.C: New test.
1871
be3a87e7
JJ
18722019-01-28 Jakub Jelinek <jakub@redhat.com>
1873
1874 PR middle-end/89002
1875 * testsuite/libgomp.c/pr89002.c: New test.
1876
497ef4d7
RB
18772019-01-28 Richard Biener <rguenther@suse.de>
1878
1879 PR testsuite/89064
1880 PR tree-optimization/86865
1881 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1882
738c56d4
TV
18832019-01-24 Tom de Vries <tdevries@suse.de>
1884
1885 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1886 once instantiated_devices drops to 0.
1887
4a75460b
TV
18882019-01-23 Tom de Vries <tdevries@suse.de>
1889
1890 PR target/PR88946
1891 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1892 cuMemFree.
1893 (nvptx_exec): Don't call map_push if mapnum == 0.
1894 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1895
4fef8e4d
TV
18962019-01-23 Tom de Vries <tdevries@suse.de>
1897
1898 PR target/88941
1899 PR target/88939
1900 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1901 (map_fini): Remove "assert (!s->map->active)".
1902 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1903
2ee6cb22
TV
19042019-01-23 Tom de Vries <tdevries@suse.de>
1905
1906 PR target/87835
1907 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1908 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1909
d41d952c
TV
19102019-01-15 Tom de Vries <tdevries@suse.de>
1911
1912 PR target/80547
1913 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1914 New test.
1915
efb56ae8
TV
19162019-01-12 Tom de Vries <tdevries@suse.de>
1917
1918 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1919 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1920 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1921 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1922
2c2ff168
TV
19232019-01-12 Tom de Vries <tdevries@suse.de>
1924
1925 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1926
a1057758
TV
19272019-01-12 Tom de Vries <tdevries@suse.de>
1928
1929 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1930 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1931 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1932
56314b77
TV
19332019-01-12 Tom de Vries <tdevries@suse.de>
1934
1935 PR target/85486
1936 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1937 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1938
b39e4366
TV
19392019-01-12 Tom de Vries <tdevries@suse.de>
1940
1941 PR target/85381
1942 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1943 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1944
2cb7a501
TV
19452019-01-12 Tom de Vries <tdevries@suse.de>
1946
1947 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1948 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1949 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1950
8e77f71e
TV
19512019-01-12 Tom de Vries <tdevries@suse.de>
1952
1953 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1954 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1955 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1956
52d22ece
TV
19572019-01-12 Tom de Vries <tdevries@suse.de>
1958
1959 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1960 resources diagnostic.
1961
2b9d9e39
TV
19622019-01-12 Tom de Vries <tdevries@suse.de>
1963
1964 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1965 vector length to be 128.
1966 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1967 length 2097152 to be reduced to 1024 instead of 32.
1968
4102bda6
TS
19692019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1970 James Norris <jnorris@codesourcery.com>
1971
1972 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1973 Library Routines", and "Environment Variables".
1974
052aaace
TV
19752019-01-11 Tom de Vries <tdevries@suse.de>
1976
1977 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1978 num_workers 16.
1979
9390f916
TV
19802019-01-11 Tom de Vries <tdevries@suse.de>
1981
1982 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1983 -foffload=-w.
1984 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1985 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1986 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1987 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1988
2c3e7ad2
TV
19892019-01-11 Tom de Vries <tdevries@suse.de>
1990
1991 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1992 test.
1993
e222497d
NS
19942019-01-10 Nathan Sidwell <nathan@acm.org>
1995 Julian Brown <julian@codesourcery.com>
1996
1997 PR lto/71959
1998 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1999 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2000
cb87fec3
SH
20012019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2002
2003 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2004 and paste code.
2005
30b4d0d0
SH
20062019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2007
2008 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2009 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2010 write.
2011
5d0bc70a
TV
20122019-01-09 Tom de Vries <tdevries@suse.de>
2013
2014 PR target/88756
2015 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2016 #define instead of "const int".
2017 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2018 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2019 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2020 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2021
2c372e81
TV
20222019-01-09 Tom de Vries <tdevries@suse.de>
2023
2024 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2025 one worker.
2026
43493c97
TV
20272019-01-07 Tom de Vries <tdevries@suse.de>
2028
2029 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2030 GOMP_OPENACC_DIM argument.
2031
5c571497
TV
20322019-01-03 Tom de Vries <tdevries@suse.de>
2033
2034 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2035 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2036
a5544970
JJ
20372019-01-01 Jakub Jelinek <jakub@redhat.com>
2038
2039 Update copyright years.
2040
3f27508c
JJ
20412019-01-01 Jakub Jelinek <jakub@redhat.com>
2042
2043 * libgomp.texi: Bump @copying's copyright year.
2044
59d5960c
TS
20452018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2046
2047 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2048 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2049 (GOACC_declare): Redefine the "device" argument to "flags".
2050
a44c1790
TS
20512018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2052 Cesar Philippidis <cesar@codesourcery.com>
2053
2054 * target.c (struct gomp_coalesce_chunk): New structure.
2055 (struct gomp_coalesce_buf): Update the chunks member to use that
2056 type. Adjust all users.
2057
a152954e
TV
20582018-12-19 Tom de Vries <tdevries@suse.de>
2059
2060 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2061 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2062 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2063
49188cd1
TV
20642018-12-19 Tom de Vries <tdevries@suse.de>
2065
2066 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2067 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2068 gcc/testsuite/gcc.dg/goacc.
2069 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2070
c759830b
TS
20712018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2072 Chung-Lin Tang <cltang@codesourcery.com>
2073
2074 * oacc-mem.c (acc_present_or_create): Remove definition and change
2075 to alias of acc_create.
2076 (acc_present_or_copyin): Remove definition and change to alias of
2077 acc_copyin.
2078 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2079 of acc_present_or_create.
2080 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2081 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2082 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2083 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2084 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2085 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2086 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2087 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2088 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2089 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2090 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2091 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2092 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2093 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2094 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2095 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2096
7de562ee
TS
20972018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2098
f847198e
TS
2099 PR libgomp/88495
2100 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2101 "identical parameters".
2102 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2103 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2104
c8ab8aab
TS
2105 PR libgomp/88484
2106 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2107 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2108
1404af62
TS
2109 PR libgomp/88407
2110 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2111 (nvptx_wait_async): Unseen async-argument is a no-op.
2112 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2113 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2114 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2115 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2116 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2117 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2118 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2119 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2120 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2121
7de562ee
TS
2122 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2123 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2124
17469af7
CLT
21252018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2126
2127 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2128 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2129 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2130
18c247cc
TS
21312018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2132
2133 PR libgomp/88370
2134 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2135 (acc_set_cuda_stream): Clarify.
2136 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2137 "async_valid_p".
2138 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2139 acc_async_sync".
2140 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2141 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2142 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2143 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2144
b0aba46c
TV
21452018-12-14 Tom de Vries <tdevries@suse.de>
2146
2147 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2148 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2149 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2150 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2151 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2152
fe0827ee
TV
21532018-12-13 Tom de Vries <tdevries@suse.de>
2154
2155 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2156 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2157 * fortran.c (omp_display_affinity_): ... here.
2158 * libgomp.h (gomp_print_string): Declare.
2159 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2160 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2161 write.
2162
a51f8c92
JJ
21632018-12-13 Jakub Jelinek <jakub@redhat.com>
2164
2165 PR libgomp/88460
2166 * testsuite/libgomp.c++/for-24.C (results): Include it in
2167 omp declare target region.
2168 (main): Use map (always, tofrom: results) instead of
2169 map (tofrom: results).
2170
a6ef2ac9
JJ
21712018-12-12 Jakub Jelinek <jakub@redhat.com>
2172
7a289b7d
JJ
2173 PR fortran/88463
2174 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2175 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2176
a6ef2ac9
JJ
2177 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2178
9c47a019
AS
21792018-12-12 Andreas Schwab <schwab@suse.de>
2180
2181 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2182 clobbered.
2183
d0cbb206
TK
21842018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2185
2186 PR fortran/88411
2187 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2188
84ca08d2
TS
21892018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2190 Jakub Jelinek <jakub@redhat.com>
2191
2192 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2193 devicep->host2dev_func.
2194
6997628d
JJ
21952018-12-08 Jakub Jelinek <jakub@redhat.com>
2196
2197 PR libgomp/87995
2198 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2199 tls_runtime effective target.
2200 (t): New threadprivate variable.
2201 (main): Set t in threads which execute iterations of the worksharing
2202 loop. Propagate that to the task after the loop and don't abort
2203 if the current taskgroup hasn't been cancelled.
2204
daa8c1d7
JJ
22052018-12-02 Jakub Jelinek <jakub@redhat.com>
2206
4a82df9a
JJ
2207 * testsuite/libgomp.c/task-reduction-3.c: New test.
2208
daa8c1d7
JJ
2209 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2210
fe570ff8
CP
22112018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2212
2213 PR libgomp/88288
2214 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2215 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2216
c223608f
TS
22172018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2218
2219 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2220
fc60283c
RB
22212018-10-19 Richard Biener <rguenther@suse.de>
2222
2223 PR tree-optimization/88182
2224 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2225
ffcf3b79
JJ
22262018-11-26 Jakub Jelinek <jakub@redhat.com>
2227
2228 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2229 (RUNTEST): Don't define.
2230 (RUNTESTDEFAULTFLAGS): Add.
2231 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2232 (distclean-am): Depend on distclean-DEJAGNU.
2233 (check-am): If -j% option is present in MFLAGS and if
2234 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2235 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2236 * testsuite/Makefile.in: Regenerated.
2237
ef6e6914
RB
22382018-11-26 Richard Biener <rguenther@suse.de>
2239
2240 PR tree-optimization/88182
2241 * testsuite/libgomp.c++/pr88182.C: New testcase.
2242
72d3bb76
JJ
22432018-11-20 Jakub Jelinek <jakub@redhat.com>
2244
2245 PR bootstrap/88106
2246 * config/mingw32/affinity-fmt.c: New file.
2247
207286c3
JJ
22482018-11-09 Jakub Jelinek <jakub@redhat.com>
2249
9666c522
JJ
2250 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2251 (gomp_display_affinity): Use __builtin_choose_expr to handle
2252 properly handle argument having integral, or pointer or some other
2253 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2254 with uint64_t type instead of %llx and unsigned long long.
2255
207286c3
JJ
2256 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2257 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2258
2033f45b
RO
22592018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2260
2261 * affinity.c: Include <string.h>, <stdio.h>.
2262 (gomp_display_affinity_place): Remove cpusetp.
2263 * teams.c: Include <limits.h>.
2264
28567c40
JJ
22652018-11-08 Jakub Jelinek <jakub@redhat.com>
2266
8991d779
JJ
2267 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2268 in_reduction clause for s[0].
2269
28567c40
JJ
2270 * affinity.c (gomp_display_affinity_place): New function.
2271 * affinity-fmt.c: New file.
2272 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2273 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2274 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2275 Move these functions to ...
2276 * config/nvptx/teams.c: ... here. New file.
2277 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2278 New functions.
2279 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2280 functions.
2281 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2282 and _aligned_malloc.
2283 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2284 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2285 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2286 gomp_affinity_format_len): New variables.
2287 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2288 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2289 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2290 modifiers. Display (non-default) chunk sizes. Print
2291 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2292 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2293 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2294 * fortran.c: Include stdio.h and string.h.
2295 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2296 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2297 (omp_set_affinity_format_, omp_get_affinity_format_,
2298 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2299 omp_pause_resource_all_): New functions.
2300 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2301 switch.
2302 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2303 functions to ...
2304 * teams.c: ... here. New file.
2305 * libgomp_g.h: Include gstdint.h.
2306 (GOMP_loop_nonmonotonic_runtime_start,
2307 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2308 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2309 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2310 GOMP_parallel_loop_nonmonotonic_runtime,
2311 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2312 GOMP_loop_ull_nonmonotonic_runtime_start,
2313 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2314 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2315 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2316 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2317 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2318 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2319 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2320 GOMP_teams_reg): Declare.
2321 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2322 gomp_aligned_alloc uses fallback implementation.
2323 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2324 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2325 (struct gomp_doacross_work_share): Add extra field.
2326 (struct gomp_work_share): Add task_reductions field.
2327 (struct gomp_taskgroup): Add workshare and reductions fields.
2328 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2329 (gomp_thread_handle): New typedef.
2330 (gomp_display_affinity_place, gomp_set_affinity_format,
2331 gomp_display_string, gomp_display_affinity,
2332 gomp_display_affinity_thread): Declare.
2333 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2334 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2335 gomp_workshare_task_reduction_register): Declare.
2336 (gomp_team_start): Add taskgroup argument.
2337 (gomp_pause_host): Declare.
2338 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2339 to size_t.
2340 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2341 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2342 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2343 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2344 GOMP_loop_ull_doacross_start,
2345 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2346 GOMP_loop_maybe_nonmonotonic_runtime_next,
2347 GOMP_loop_maybe_nonmonotonic_runtime_start,
2348 GOMP_loop_nonmonotonic_runtime_next,
2349 GOMP_loop_nonmonotonic_runtime_start,
2350 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2351 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2352 GOMP_loop_ull_nonmonotonic_runtime_next,
2353 GOMP_loop_ull_nonmonotonic_runtime_start,
2354 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2355 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2356 GOMP_taskgroup_reduction_register,
2357 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2358 GOMP_teams_reg and GOMP_taskwait_depend.
2359 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2360 omp_{capture,display}_affinity{,_}, and
2361 omp_[gs]et_affinity_format{,_}.
2362 * loop.c: Include string.h.
2363 (GOMP_loop_runtime_next): Add ialias.
2364 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2365 (gomp_loop_static_start, gomp_loop_dynamic_start,
2366 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2367 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2368 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2369 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2370 or gomp_doacross_init callers.
2371 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2372 GOMP_loop_doacross_start): New functions.
2373 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2374 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2375 Mask off GFS_MONOTONIC bit.
2376 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2377 GOMP_loop_maybe_nonmonotonic_runtime_start,
2378 GOMP_loop_nonmonotonic_runtime_next,
2379 GOMP_loop_nonmonotonic_runtime_start,
2380 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2381 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2382 functions.
2383 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2384 gomp_team_start.
2385 * loop_ull.c: Include string.h.
2386 (GOMP_loop_ull_runtime_next): Add ialias.
2387 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2388 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2389 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2390 gomp_loop_ull_ordered_dynamic_start,
2391 gomp_loop_ull_ordered_guided_start,
2392 gomp_loop_ull_doacross_static_start,
2393 gomp_loop_ull_doacross_dynamic_start,
2394 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2395 and gomp_doacross_ull_init callers.
2396 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2397 GOMP_loop_ull_doacross_start): New functions.
2398 (GOMP_loop_ull_runtime_start,
2399 GOMP_loop_ull_ordered_runtime_start,
2400 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2401 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2402 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2403 GOMP_loop_ull_nonmonotonic_runtime_next,
2404 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2405 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2406 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2407 (omp_pause_resource_t, omp_depend_t): New typedefs.
2408 (enum omp_lock_hint_t): Renamed to ...
2409 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2410 enumerators using numbers and omp_lock_hint_* as their aliases.
2411 (omp_lock_hint_t): New typedef. Rename to ...
2412 (omp_sync_hint_t): ... this.
2413 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2414 omp_sync_hint_t instead of omp_lock_hint_t.
2415 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2416 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2417 Declare.
2418 (omp_target_is_present, omp_target_disassociate_ptr):
2419 Change first argument from void * to const void *.
2420 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2421 from void * to const void *.
2422 (omp_target_associate_ptr): Change first and second arguments from
2423 void * to const void *.
2424 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2425 omp_pause_hard): New parameters.
2426 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2427 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2428 New interfaces.
2429 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2430 omp_pause_hard): New parameters.
2431 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2432 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2433 New externals.
2434 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2435 EXTRA argument. If not needed to prepare array, if extra is 0,
2436 clear ws->doacross, otherwise allocate just doacross structure and
2437 extra payload. If array is needed, allocate also extra payload.
2438 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2439 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2440 doacross == NULL.
2441 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2442 gomp_team_start.
2443 (GOMP_parallel): Likewise. Formatting fix.
2444 (GOMP_parallel_reductions): New function.
2445 (GOMP_cancellation_point): If taskgroup has workshare
2446 flag set, check cancelled of prev taskgroup if any.
2447 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2448 on prev taskgroup if any.
2449 * sections.c: Include string.h.
2450 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2451 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2452 (GOMP_sections2_start): New function.
2453 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2454 Pass NULL as taskgroup to gomp_team_start.
2455 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2456 gomp_work_share_start callers.
2457 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2458 If taskgroup has workshare flag set, check cancelled on prev
2459 taskgroup if any. Guard all cancellation tests with
2460 gomp_cancel_var test.
2461 (omp_target_is_present, omp_target_disassociate_ptr):
2462 Change ptr argument from void * to const void *.
2463 (omp_target_memcpy): Change src argument from void * to const void *.
2464 (omp_target_memcpy_rect): Likewise.
2465 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2466 instead of char * where needed.
2467 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2468 from void * to const void *.
2469 (omp_pause_resource, omp_pause_resource_all): New functions.
2470 * task.c (gomp_task_handle_depend): Handle new depend array format
2471 in addition to the old. Handle mutexinoutset kinds the same as
2472 inout for now, handle unspecified kinds.
2473 (gomp_create_target_task): If taskgroup has workshare flag set, check
2474 cancelled on prev taskgroup if any. Guard all cancellation tests with
2475 gomp_cancel_var test. Handle new depend array format count in
2476 addition to the old.
2477 (GOMP_task): Likewise. Adjust function comment.
2478 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2479 cancelled on prev taskgroup if any. Guard all cancellation tests with
2480 gomp_cancel_var test.
2481 (GOMP_taskwait_depend): New function.
2482 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2483 format in addition to the old. Handle mutexinoutset kinds the same as
2484 inout for now, handle unspecified kinds. Fix a function comment typo.
2485 (gomp_taskgroup_init): New function.
2486 (GOMP_taskgroup_start): Use it.
2487 (gomp_reduction_register, gomp_create_artificial_team,
2488 GOMP_taskgroup_reduction_register,
2489 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2490 gomp_parallel_reduction_register,
2491 gomp_workshare_task_reduction_register,
2492 gomp_workshare_taskgroup_start,
2493 GOMP_workshare_task_reduction_unregister): New functions.
2494 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2495 check cancelled on prev taskgroup if any. Guard all cancellation
2496 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2497 by calling GOMP_taskgroup_reduction_register.
2498 * team.c (gomp_thread_attr): Remove comment.
2499 (struct gomp_thread_start_data): Add handle field.
2500 (gomp_thread_start): Call pthread_detach.
2501 (gomp_new_team): Adjust gomp_init_work_share caller.
2502 (gomp_free_pool_helper): Call pthread_detach.
2503 (gomp_team_start): Add taskgroup argument, initialize implicit
2504 tasks' taskgroup field to that. Don't call
2505 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2506 (gomp_team_end): Determine nesting by thr->ts.level != 0
2507 rather than thr->ts.team != NULL.
2508 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2509 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2510 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2511 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2512 if more than 1 allocate also extra payload at the end of array. Never
2513 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2514 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2515 return true instead of ws.
2516 * Makefile.in: Regenerated.
2517 * configure: Regenerated.
2518 * config.h.in: Regenerated.
2519 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2520 in some cases.
2521 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2522 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2523 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2524 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2525 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2526 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2527 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2528 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2529 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2530 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2531 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2532 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2533 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2534 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2535 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2536 define a different N(test), don't define N(f0) to N(f14), but instead
2537 define N(f20) to N(f34) using != comparisons.
2538 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2539 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2540 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2541 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2542 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2543 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2544 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2545 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2546 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2547 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2548 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2549 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2550 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2551 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2552 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2553 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2554 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2555 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2556 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2557 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2558 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2559 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2560 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2561 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2562 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2563 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2564 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2565 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2566 * testsuite/libgomp.c++/depend-1.C: New test.
2567 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2568 * testsuite/libgomp.c++/depobj-1.C: New test.
2569 * testsuite/libgomp.c++/for-16.C: New test.
2570 * testsuite/libgomp.c++/for-21.C: New test.
2571 * testsuite/libgomp.c++/for-22.C: New test.
2572 * testsuite/libgomp.c++/for-23.C: New test.
2573 * testsuite/libgomp.c++/for-24.C: New test.
2574 * testsuite/libgomp.c++/for-25.C: New test.
2575 * testsuite/libgomp.c++/for-26.C: New test.
2576 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2577 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2578 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2579 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2580 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2581 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2582 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2583 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2584 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2585 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2586 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2587 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2588 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2589 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2590 * testsuite/libgomp.c/task-reduction-1.c: New test.
2591 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2592 * testsuite/libgomp.c/task-reduction-2.c: New test.
2593 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2594 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2595 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2596 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2597 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2598 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2599 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2600 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2601 * testsuite/libgomp.c/teams-1.c: New test.
2602 * testsuite/libgomp.c/teams-2.c: New test.
2603 * testsuite/libgomp.c/thread-limit-4.c: New test.
2604 * testsuite/libgomp.c/thread-limit-5.c: New test.
2605 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2606
58168bbf
CLT
26072018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2608
2609 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2610 acc_memcpy_to/from_device functions, now with async parameter.
2611 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2612 (acc_memcpy_from_device): Likewise.
2613 (acc_memcpy_to_device_async): New API function.
2614 (acc_memcpy_from_device_async): Likewise.
2615 (present_create_copy): Add async parameter and async setting/unsetting.
2616 (acc_create): Adjust present_create_copy call.
2617 (acc_copyin): Likewise.
2618 (acc_present_or_create): Likewise.
2619 (acc_present_or_copyin): Likewise.
2620 (acc_create_async): New API function.
2621 (acc_copyin_async): New API function.
2622 (delete_copyout): Add async parameter and async setting/unsetting.
2623 (acc_delete): Adjust delete_copyout call.
2624 (acc_copyout): Likewise.
2625 (acc_delete_async): New API function.
2626 (acc_copyout_async): Likewise.
2627 (update_dev_host): Add async parameter and async setting/unsetting.
2628 (acc_update_device): Adjust update_dev_host call.
2629 (acc_update_self): Likewise.
2630 (acc_update_device_async): New API function.
2631 (acc_update_self_async): Likewise.
2632 * openacc.h (acc_copyin_async): Declare new API function.
2633 (acc_create_async): Likewise.
2634 (acc_copyout_async): Likewise.
2635 (acc_delete_async): Likewise.
2636 (acc_update_device_async): Likewise.
2637 (acc_update_self_async): Likewise.
2638 (acc_memcpy_to_device_async): Likewise.
2639 (acc_memcpy_from_device_async): Likewise.
2640 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2641 (acc_copyin_async_64_h): New subroutine.
2642 (acc_copyin_async_array_h): New subroutine.
2643 (acc_create_async_32_h): New subroutine.
2644 (acc_create_async_64_h): New subroutine.
2645 (acc_create_async_array_h): New subroutine.
2646 (acc_copyout_async_32_h): New subroutine.
2647 (acc_copyout_async_64_h): New subroutine.
2648 (acc_copyout_async_array_h): New subroutine.
2649 (acc_delete_async_32_h): New subroutine.
2650 (acc_delete_async_64_h): New subroutine.
2651 (acc_delete_async_array_h): New subroutine.
2652 (acc_update_device_async_32_h): New subroutine.
2653 (acc_update_device_async_64_h): New subroutine.
2654 (acc_update_device_async_array_h): New subroutine.
2655 (acc_update_self_async_32_h): New subroutine.
2656 (acc_update_self_async_64_h): New subroutine.
2657 (acc_update_self_async_array_h): New subroutine.
2658 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2659 (acc_copyin_async_64_h): New subroutine.
2660 (acc_copyin_async_array_h): New subroutine.
2661 (acc_create_async_32_h): New subroutine.
2662 (acc_create_async_64_h): New subroutine.
2663 (acc_create_async_array_h): New subroutine.
2664 (acc_copyout_async_32_h): New subroutine.
2665 (acc_copyout_async_64_h): New subroutine.
2666 (acc_copyout_async_array_h): New subroutine.
2667 (acc_delete_async_32_h): New subroutine.
2668 (acc_delete_async_64_h): New subroutine.
2669 (acc_delete_async_array_h): New subroutine.
2670 (acc_update_device_async_32_h): New subroutine.
2671 (acc_update_device_async_64_h): New subroutine.
2672 (acc_update_device_async_array_h): New subroutine.
2673 (acc_update_self_async_32_h): New subroutine.
2674 (acc_update_self_async_64_h): New subroutine.
2675 (acc_update_self_async_array_h): New subroutine.
2676 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2677 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2678 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2679 acc_memcpy_to_device_async*, acc_update_device_async*, and
2680 acc_update_self_async* entries.
2681 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2682 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2683 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2684
22e05272
JM
26852018-10-31 Joseph Myers <joseph@codesourcery.com>
2686
2687 PR bootstrap/82856
2688 * Makefile.am: Include multilib.am
2689 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2690 (CLEANFILES): Remove libgomp.info.
2691 * configure.ac: Remove AC_PREREQ.
2692 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2693 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2694 Regenerate.
2695
87a5ccfb
JM
26962018-10-29 Joseph Myers <joseph@codesourcery.com>
2697 Julian Brown <julian@codesourcery.com>
2698
2699 * testsuite/libgomp.oacc-c++/this.C: New.
2700
2049befd
CP
27012018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2702
2703 * plugin/plugin-nvptx.c (struct cuda_map): New.
2704 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2705 h_tail with (cuda_map *) map.
2706 (cuda_map_create): New function.
2707 (cuda_map_destroy): New function.
2708 (map_init): Update to use a linked list of cuda_map objects.
2709 (map_fini): Likewise.
2710 (map_pop): Likewise.
2711 (map_push): Likewise. Return CUdeviceptr instead of void.
2712 (init_streams_for_device): Remove stales references to ptx_stream
2713 members.
2714 (select_stream_for_async): Likewise.
2715 (nvptx_exec): Update call to map_init.
2716
8e36332c
CP
27172018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2718 Julian Brown <julian@codesourcery.com>
2719
2720 PR middle-end/86336
2721 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2722
2b4c9065
NK
27232018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2724 Thomas Koenig <tkoenig@gcc.gnu.org>
2725
2726 PR fortran/25829
2727 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2728 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2729 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2730 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2731 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2732 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2733 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2734
bd9b3d3d
CP
27352018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2736 Tom de Vries <tdevries@suse.de>
2737
2738 PR target/85590
2739 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2740 (cuOccupancyMaxPotentialBlockSize): Declare.
2741 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2742 CUDA_ONE_CALL_MAYBE_NULL.
2743 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2744 CUoccupancyB2DSize and declare
2745 cuOccupancyMaxPotentialBlockSize.
2746 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2747 default num_gangs and num_workers when the driver supports it.
2748
8e09a12f
TV
27492018-08-08 Tom de Vries <tdevries@suse.de>
2750
2751 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2752 CUDA_ONE_CALL_MAYBE_NULL.
2753 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2754 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2755 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2756 are not found.
2757
cedd9bd0
TV
27582018-08-08 Tom de Vries <tdevries@suse.de>
2759
2760 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2761 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2762 present.
2763
b113af95
TV
27642018-08-08 Tom de Vries <tdevries@suse.de>
2765
2766 * plugin/plugin-nvptx.c
2767 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2768 (nvptx_open_device): Use
2769 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2770
94767dac
TV
27712018-08-08 Tom de Vries <tdevries@suse.de>
2772
2773 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2774 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2775
02150de8
TV
27762018-08-07 Tom de Vries <tdevries@suse.de>
2777
2778 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2779 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2780 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2781 corresponding call in CUDA_ONE_CALL. Add def/undef of
2782 CUDA_ONE_CALL_MAYBE_NULL.
2783 (CUDA_CALL_EXISTS): Define.
2784
9e28b107
TV
27852018-08-07 Tom de Vries <tdevries@suse.de>
2786
2787 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2788 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2789 corresponding undefs right after.
2790
09940090
TV
27912018-08-04 Tom de Vries <tdevries@suse.de>
2792
2793 * plugin/configfrag.ac: For --without-cuda-driver, set
2794 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2795 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2796 * configure: Regenerate.
2797
77e0a97a
TV
27982018-08-02 Tom de Vries <tdevries@suse.de>
2799
2800 PR target/86660
2801 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2802 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2803 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2804 Same.
2805 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2806 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2807 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2808
701d080a
CP
28092018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2810 Thomas Schwinge <thomas@codesourcery.com>
2811
2812 * config/nvptx/oacc-parallel.c: Truncate.
2813
094db6be
CP
28142018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2815 James Norris <jnorris@codesourcery.com>
2816
2817 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
2818 (map_init, map_pop): Remove use of struct map.
2819 (map_push): Likewise and change argument list.
094db6be
CP
2820 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2821
8c6310a2
TV
28222018-08-01 Tom de Vries <tdevries@suse.de>
2823
2824 * plugin/cuda-lib.def: New file. Factor out of ...
2825 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2826 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2827 using CUDA_CALLS.
2828
1d4a51cf
AV
28292018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2830
2831 Revert 'AsyncI/O patch committed'.
2832 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2833 Thomas Koenig <tkoenig@gcc.gnu.org>
2834
2835 PR fortran/25829
2836 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2837 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2838 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2839 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2840 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2841 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2842 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2843
4cdfee3f
TV
28442018-07-30 Tom de Vries <tdevries@suse.de>
2845
2846 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2847 (nvptx_exec): Ensure worker and vector default dims don't exceed
2848 targ_fn->max_threads_per_block.
2849
0b210c43
TV
28502018-07-30 Tom de Vries <tdevries@suse.de>
2851
2852 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2853 (nvptx_open_device): Init default_dims for device.
2854 (nvptx_exec): Use default_dims from device.
2855
5883c5cc
JJ
28562018-07-26 Jakub Jelinek <jakub@redhat.com>
2857
5d36384c
JJ
2858 PR testsuite/86660
2859 * testsuite/libgomp.c++/for-15.C (results): Include it in
2860 omp declare target region.
2861 (main): Use map (always, tofrom: results) instead of
2862 map (tofrom: results).
2863
5883c5cc
JJ
2864 PR middle-end/86660
2865 * testsuite/libgomp.c/pr86660.c: New test.
2866
88a4654d
CP
28672018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2868 Tom de Vries <tdevries@suse.de>
2869
2870 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2871 sufficient resources to launch a kernel, and give a hint on how to fix
2872 it.
2873
0c6c2f5f
CP
28742018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2875 Tom de Vries <tdevries@suse.de>
2876
2877 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2878 max_threads_per_block and max_threads_per_multiprocessor fields.
2879 (nvptx_open_device): Initialize new fields.
2880 (nvptx_exec): Use num_sms, and new fields.
2881
6dd58010
TV
28822018-07-26 Tom de Vries <tdevries@suse.de>
2883
2884 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2885 to correct locations. Remove xfail.
2886
b2eb1779
TV
28872018-07-26 Tom de Vries <tdevries@suse.de>
2888
2889 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2890 acc_wait. Move acc_async_test calls to correct locations. Remove
2891 xfail.
2892
b1f45884
NK
28932018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2894 Thomas Koenig <tkoenig@gcc.gnu.org>
2895
2896 PR fortran/25829
2897 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2898 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2899 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2900 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2901 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2902 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2903 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2904
3a106211
JJ
29052018-07-17 Jakub Jelinek <jakub@redhat.com>
2906
a3bccfa1
JJ
2907 PR middle-end/86542
2908 * testsuite/libgomp.c++/pr86542.C: New test.
2909
3a106211
JJ
2910 PR middle-end/86539
2911 * testsuite/libgomp.c++/pr86539.C: New test.
2912
2bae8b2f
JJ
29132018-07-11 Jakub Jelinek <jakub@redhat.com>
2914
2915 PR c++/86443
2916 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2917 (results): Make sure the variable is not inside declare target region.
2918 (qux): Remove unused function.
2919
0b27c3ed
JJ
29202018-07-10 Jakub Jelinek <jakub@redhat.com>
2921
2922 PR c++/86443
2923 * testsuite/libgomp.c++/for-15.C: New test.
2924
f0391511
JJ
29252018-06-26 Jakub Jelinek <jakub@redhat.com>
2926
2927 PR c++/86291
2928 * testsuite/libgomp.c++/pr86291.C: New test.
2929
1a6d1d24
GP
29302018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2931
2932 * libgomp.texi (Top): Move www.openmp.org to https.
2933 (Enabling OpenMP): Ditto.
2934 (omp_get_active_level): Ditto.
2935 (omp_get_ancestor_thread_num): Ditto.
2936 (omp_get_cancellation): Ditto.
2937 (omp_get_default_device): Ditto.
2938 (omp_get_dynamic): Ditto.
2939 (omp_get_level): Ditto.
2940 (omp_get_max_active_levels): Ditto.
2941 (omp_get_max_task_priority): Ditto.
2942 (omp_get_max_threads): Ditto.
2943 (omp_get_nested): Ditto.
2944 (omp_get_num_devices): Ditto.
2945 (omp_get_num_procs): Ditto.
2946 (omp_get_num_teams): Ditto.
2947 (omp_get_num_threads): Ditto.
2948 (omp_get_proc_bind): Ditto.
2949 (omp_get_schedule): Ditto.
2950 (omp_get_team_num): Ditto.
2951 (omp_get_team_size): Ditto.
2952 (omp_get_thread_limit): Ditto.
2953 (omp_get_thread_num): Ditto.
2954 (omp_in_parallel): Ditto.
2955 (omp_in_final): Ditto.
2956 (omp_is_initial_device): Ditto.
2957 (omp_set_default_device): Ditto.
2958 (omp_set_dynamic): Ditto.
2959 (omp_set_max_active_levels): Ditto.
2960 (omp_set_nested): Ditto.
2961 (omp_set_num_threads): Ditto.
2962 (omp_set_schedule): Ditto.
2963 (omp_init_lock): Ditto.
2964 (omp_set_lock): Ditto.
2965 (omp_test_lock): Ditto.
2966 (omp_unset_lock): Ditto.
2967 (omp_destroy_lock): Ditto.
2968 (omp_init_nest_lock): Ditto.
2969 (omp_set_nest_lock): Ditto.
2970 (omp_test_nest_lock): Ditto.
2971 (omp_unset_nest_lock): Ditto.
2972 (omp_destroy_nest_lock): Ditto.
2973 (omp_get_wtick): Ditto.
2974 (omp_get_wtime): Ditto.
2975 (OMP_CANCELLATION): Ditto.
2976 (OMP_DISPLAY_ENV): Ditto.
2977 (OMP_DEFAULT_DEVICE): Ditto.
2978 (OMP_DYNAMIC): Ditto.
2979 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2980 (OMP_MAX_TASK_PRIORITY): Ditto.
2981 (OMP_NESTED): Ditto.
2982 (OMP_NUM_THREADS): Ditto.
2983 (OMP_PROC_BIND): Ditto.
2984 (OMP_PLACES): Ditto.
2985 (OMP_STACKSIZE): Ditto.
2986 (OMP_SCHEDULE): Ditto.
2987 (OMP_THREAD_LIMIT): Ditto.
2988 (OMP_WAIT_POLICY): Ditto.
2989
31dd69b7
CP
29902018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2991 James Norris <jnorris@codesourcery.com>
2992 Julian Brown <julian@codesourcery.com>
2993 Thomas Schwinge <thomas@codesourcery.com>
2994 Tom de Vries <tom@codesourcery.com>
2995
2996 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2997 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2998 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2999 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3000 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3001 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3002 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3003 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3004 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3005 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3006 Likewise.
3007 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3008 Likewise.
3009 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3010 Likewise.
3011 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3012 Likewise.
3013 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3014 Likewise.
3015 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3016 Likewise.
3017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3018 Likewise.
3019 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3020 Likewise.
3021 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3022 Likewise.
3023 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3024 Likewise.
3025 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3026 Likewise.
3027 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3028 Likewise.
3029 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3030 Likewise.
3031 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3032 Likewise.
3033 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3034 Likewise.
3035 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3036 Likewise.
3037 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3038 Likewise.
3039 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3040 Likewise.
3041 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3042 Likewise.
3043 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3044 Likewise.
3045 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3046 Likewise.
3047 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3048 Likewise.
3049 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3050 Likewise.
3051 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3052 Likewise.
3053 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3054 Likewise.
3055 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3056 Likewise.
3057 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3058 Likewise.
3059 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3060 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3061 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3062 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3063 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3064 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3065 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3066 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3067 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3068 Likewise.
3069 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3070 Likewise.
3071 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3072 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3073 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3074 Likewise.
3075 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3076 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3077 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3078 Likewise.
3079 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3080 Likewise.
3081 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3082 Likewise.
3083 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3084 Likewise.
3085 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3086 Likewise.
3087 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3088 Likewise.
3089 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3090 Likewise.
3091 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3092 Likewise.
3093 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3094 Likewise.
3095 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3096 Likewise.
3097 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3098 Likewise.
3099 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3100 Likewise.
3101 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3102 Likewise.
3103 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3104 Likewise.
3105 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3106 Likewise.
3107 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3108 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3109 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3110 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3111 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3112 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3113 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3114
829c6349
CLT
31152018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3116 Thomas Schwinge <thomas@codesourcery.com>
3117 Cesar Philippidis <cesar@codesourcery.com>
3118
3119 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3120 (gomp_acc_remove_pointer): Update declaration.
3121 (gomp_acc_declare_allocate): Declare.
3122 (gomp_remove_var): Declare.
3123 * libgomp.map (OACC_2.5): Define.
3124 * oacc-mem.c (acc_map_data): Update refcount.
3125 (acc_unmap_data): Likewise.
3126 (present_create_copy): Likewise.
3127 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3128 (acc_copyin): Likewise.
3129 (FLAG_FINALIZE): Define.
3130 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3131 (acc_delete_finalize): New function.
3132 (acc_delete_finalize_async): New function.
3133 (acc_copyout_finalize): New function.
3134 (acc_copyout_finalize_async): New function.
3135 (gomp_acc_insert_pointer): Update refcounts.
3136 (gomp_acc_remove_pointer): Return if data is not present on the
3137 accelerator.
3138 * oacc-parallel.c (find_pset): Rename to find_pointer.
3139 (find_pointer): Add support for GOMP_MAP_POINTER.
3140 (handle_ftn_pointers): New function.
3141 (GOACC_parallel_keyed): Update refcounts of variables.
3142 (GOACC_enter_exit_data): Add support for finalized data mappings.
3143 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3144 of fortran arrays.
3145 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3146 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3147 for GOMP_MAP_FORCE_FROM.
3148 * openacc.f90 (module openacc_internal): Add
3149 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3150 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3151 acc_copyout_finalize and acc_delete_finalize.
3152 (acc_copyout_finalize_32_h): New subroutine.
3153 (acc_copyout_finalize_64_h): New subroutine.
3154 (acc_copyout_finalize_array_h): New subroutine.
3155 (acc_delete_finalize_32_h): New subroutine.
3156 (acc_delete_finalize_64_h): New subroutine.
3157 (acc_delete_finalize_array_h): New subroutine.
3158 * openacc.h (acc_copyout_finalize): Declare.
3159 (acc_copyout_finalize_async): Declare.
3160 (acc_delete_finalize): Declare.
3161 (acc_delete_finalize_async): Declare.
3162 * openacc_lib.h (acc_copyout_finalize): New interface.
3163 (acc_delete_finalize): New interface.
3164 * target.c (gomp_map_vars): Update dynamic_refcount.
3165 (gomp_remove_var): New function.
3166 (gomp_unmap_vars): Use it.
3167 (gomp_unload_image_from_device): Likewise.
3168 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3169 case to utilize OpenACC 2.5 data clause semantics.
3170 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3171 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3172 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3173 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3174 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3175 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3176 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3177 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3178 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3179 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3180 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3181 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3182 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3183 utilize OpenACC 2.5 data clause semantics.
3184 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3185 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3186 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3187 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3188 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3189 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3190 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3191 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3192 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3193
4358400b
JW
31942018-05-21 Janus Weil <janus@gcc.gnu.org>
3195
3196 PR fortran/85841
3197 PR testsuite/85865
3198 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3199 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3200 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3201 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3202 * testsuite/libgomp.fortran/task2.f90: Ditto.
3203 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3204 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3205 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3206 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3207 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3208 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3209 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3210 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3211 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3212
950ad0ba
CP
32132018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3214
3215 PR c++/85782
3216 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3217
f5ad16f1
TV
32182018-05-09 Tom de Vries <tom@codesourcery.com>
3219
3220 PR libgomp/82901
3221 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3222 to GOACC_enter_exit_data.
3223
edbd038a
TV
32242018-05-09 Tom de Vries <tom@codesourcery.com>
3225
3226 PR libgomp/83792
3227 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3228 (async_synchronous_p): New function.
3229 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3230 async_valid_p.
3231 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3232 async_valid_stream_id_p.
3233 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3234 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3235
37d6c719
TV
32362018-05-07 Tom de Vries <tom@codesourcery.com>
3237
3238 PR testsuite/85677
3239 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3240 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3241
63f12215
TV
32422018-05-03 Tom de Vries <tom@codesourcery.com>
3243
3244 PR testsuite/85106
3245 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3246 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3247 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3248 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3249
ec00d3fa
TV
32502018-05-02 Tom de Vries <tom@codesourcery.com>
3251
3252 PR libgomp/85411
3253 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3254 GOMP_OPENACC_DIM ...
3255 * env.c (parse_gomp_openacc_dim): ... here. New function.
3256 (initialize_env): Call parse_gomp_openacc_dim.
3257 (goacc_default_dims): Define.
3258 * libgomp.h (goacc_default_dims): Declare.
3259 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3260 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3261 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3262 GOMP_PLUGIN_acc_default_dim.
3263 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3264 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3265
92243e7c
TV
32662018-05-02 Tom de Vries <tom@codesourcery.com>
3267
3268 PR testsuite/83791
3269 * testsuite/libgomp.c++/udr-9.C: Update.
3270 * testsuite/libgomp.c++/atomic-16.C: Remove.
3271 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3272 * testsuite/libgomp.c++/loop-13.C: Remove.
3273 * testsuite/libgomp.c++/loop-14.C: Remove.
3274 * testsuite/libgomp.c++/loop-15.C: Remove.
3275 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3276 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3277 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3278 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3279 * testsuite/libgomp.c++/ordered-1.C: Remove.
3280 * testsuite/libgomp.c++/pr45784.C: Remove.
3281 * testsuite/libgomp.c++/pr64824.C: Remove.
3282 * testsuite/libgomp.c++/pr64868.C: Remove.
3283 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3284 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3285 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3286 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3287 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3288 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3289 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3290 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3291 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3292 * testsuite/libgomp.c++/pr69389.C: Remove.
3293 * testsuite/libgomp.c++/simd10.C: Remove.
3294 * testsuite/libgomp.c++/simd11.C: Remove.
3295 * testsuite/libgomp.c++/simd12.C: Remove.
3296 * testsuite/libgomp.c++/simd13.C: Remove.
3297 * testsuite/libgomp.c++/target-1.C: Remove.
3298 * testsuite/libgomp.c++/target-3.C: Remove.
3299 * testsuite/libgomp.c++/target-4.C: Remove.
3300 * testsuite/libgomp.c++/target-5.C: Remove.
3301 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3302 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3303 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3304 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3305 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3306 * testsuite/libgomp.c++/udr-9.C: Remove.
3307 * testsuite/libgomp.c++/for-10.C: Remove.
3308 * testsuite/libgomp.c++/for-11.C: Remove.
3309 * testsuite/libgomp.c++/for-12.C: Remove.
3310 * testsuite/libgomp.c++/for-13.C: Remove.
3311 * testsuite/libgomp.c++/for-14.C: Remove.
3312 * testsuite/libgomp.c++/for-9.C: Remove.
3313 * testsuite/libgomp.c/atomic-18.c: Move ...
3314 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3315 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3316 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3317 * testsuite/libgomp.c/loop-13.c: Move ...
3318 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3319 * testsuite/libgomp.c/loop-14.c: Move ...
3320 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3321 * testsuite/libgomp.c/loop-15.c: Remove.
3322 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3323 * testsuite/libgomp.c/monotonic-1.c: Move ...
3324 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3325 * testsuite/libgomp.c/monotonic-2.c: Move ...
3326 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3327 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3328 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3329 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3330 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3331 * testsuite/libgomp.c/ordered-4.c: Move ...
3332 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3333 * testsuite/libgomp.c/pr45784.c: Move ...
3334 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3335 * testsuite/libgomp.c/pr64824.c: Move ...
3336 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3337 * testsuite/libgomp.c/pr64868.c: Move ...
3338 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3339 * testsuite/libgomp.c/pr66199-1.c: Move ...
3340 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3341 * testsuite/libgomp.c/pr66199-2.c: Move ...
3342 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3343 * testsuite/libgomp.c/pr66199-3.c: Move ...
3344 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3345 * testsuite/libgomp.c/pr66199-4.c: Move ...
3346 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3347 * testsuite/libgomp.c/pr66199-5.c: Move ...
3348 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3349 * testsuite/libgomp.c/pr66199-6.c: Move ...
3350 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3351 * testsuite/libgomp.c/pr66199-7.c: Move ...
3352 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3353 * testsuite/libgomp.c/pr66199-8.c: Move ...
3354 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3355 * testsuite/libgomp.c/pr66199-9.c: Move ...
3356 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3357 * testsuite/libgomp.c/pr69389.c: Move ...
3358 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3359 * testsuite/libgomp.c/simd-14.c: Move ...
3360 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3361 * testsuite/libgomp.c/simd-15.c: Move ...
3362 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3363 * testsuite/libgomp.c/simd-16.c: Move ...
3364 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3365 * testsuite/libgomp.c/simd-17.c: Move ...
3366 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3367 * testsuite/libgomp.c/target-1.c: Move ...
3368 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3369 * testsuite/libgomp.c/target-10.c: Move ...
3370 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3371 * testsuite/libgomp.c/target-13.c: Move ...
3372 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3373 * testsuite/libgomp.c/target-2.c: Move ...
3374 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3375 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3376 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3377 * testsuite/libgomp.c/taskloop-1.c: Move ...
3378 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3379 * testsuite/libgomp.c/taskloop-2.c: Move ...
3380 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3381 * testsuite/libgomp.c/taskloop-3.c: Move ...
3382 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3383 * testsuite/libgomp.c/taskloop-4.c: Move ...
3384 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3385 * testsuite/libgomp.c/udr-1.c: Move ...
3386 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3387 * testsuite/libgomp.c/for-1.c: Move ...
3388 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3389 * testsuite/libgomp.c/for-1.h: Move ...
3390 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3391 * testsuite/libgomp.c/for-2.c: Move ...
3392 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3393 * testsuite/libgomp.c/for-2.h: Move ...
3394 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3395 * testsuite/libgomp.c/for-3.c: Move ...
3396 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3397 * testsuite/libgomp.c/for-4.c: Move ...
3398 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3399 * testsuite/libgomp.c/for-5.c: Move ...
3400 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3401 * testsuite/libgomp.c/for-6.c: Move ...
3402 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3403
1f62d637
TV
34042018-05-02 Tom de Vries <tom@codesourcery.com>
3405
3406 PR libgomp/82428
3407 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3408 __builtin_goacc_parlevel_{id,size}.
3409 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3410 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3411 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3412 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3413 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3414 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3415 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3416 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3417 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3418 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3419 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3420 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3421 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3422 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3423 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3424 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3425 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3426 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3427 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3428 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3429 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3430 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3431 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3432
9220b511
TV
34332018-05-02 Tom de Vries <tom@codesourcery.com>
3434
3435 PR testsuite/85106
3436 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3437
6c3c13c1
TV
34382018-05-02 Tom de Vries <tom@codesourcery.com>
3439
3440 PR testsuite/85106
3441 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3442
8d70b61e
JB
34432018-04-29 Julian Brown <julian@codesourcery.com>
3444 Tom de Vries <tom@codesourcery.com>
3445
3446 PR testsuite/85527
3447 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3448 arbitrary order for iterations of atomic subtract check.
3449
4a57a4b6
TV
34502018-04-28 Tom de Vries <tom@codesourcery.com>
3451
3452 PR testsuite/85527
3453 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3454 atomic capture results obtained in parallel loop to an array, instead of
3455 to a scalar.
3456
df36a3d3
TV
34572018-04-26 Tom de Vries <tom@codesourcery.com>
3458
3459 PR libgomp/84020
3460 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3461 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3462 (process_GOMP_NVPTX_JIT): New function.
3463 (link_ptx): Use process_GOMP_NVPTX_JIT.
3464
d160ae78
RB
34652018-04-26 Richard Biener <rguenther@suse.de>
3466 Tom de Vries <tom@codesourcery.com>
3467
3468 PR lto/85422
3469 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3470
ca9dc642
TV
34712018-04-26 Tom de Vries <tom@codesourcery.com>
3472
3473 PR target/85519
3474 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3475 recursion depth from 25 to 23.
3476 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3477
7b47ecf2
L
34782018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3479
3480 * configure: Regenerated.
3481
e91eba31
NS
34822018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3483 Tom de Vries <tom@codesourcery.com>
3484
3485 PR target/85445
3486 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3487
6e0d40b6
TS
34882018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3489
3490 PR libgomp/85463
3491 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3492 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3493 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3494 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3495 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3496 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3497
3498 PR libfortran/85166
3499 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3500 abort".
3501 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3502
a0e1df88
JJ
35032018-04-19 Jakub Jelinek <jakub@redhat.com>
3504
3505 * configure: Regenerated.
3506
001ddaa8
DM
35072018-04-18 David Malcolm <dmalcolm@redhat.com>
3508
3509 PR jit/85384
3510 * configure: Regenerate.
3511
05e0af43
CP
35122018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3513 Tom de Vries <tom@codesourcery.com>
3514
3515 PR middle-end/84955
3516 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3517 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3518
bc436e10
TK
35192018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3520
3521 PR fortran/83064
3522 PR testsuite/85346
3523 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3524 test from gfortran.dg to here.
3525
ffb164c7
JJ
35262018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3527
3528 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3529 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3530
35312018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3532
3533 PR middle-end/84955
3534 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3535 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3536
2ba16fd2
TV
35372018-04-05 Tom de Vries <tom@codesourcery.com>
3538
3539 PR target/85204
3540 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3541
46dbeb40
TV
35422018-03-26 Tom de Vries <tom@codesourcery.com>
3543
3544 PR tree-optimization/85063
3545 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3546 * testsuite/libgomp.c/switch-conversion.c: New test.
3547 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3548 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3549
bfc24e32
TK
35502018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3551
3552 PR fortran/84381
3553 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3554 call abort by STOP n.
3555 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3556 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3557 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3558 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3559 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3560 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3561 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3562 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3563 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3564 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3565 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3566 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3567 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3568 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3569 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3570 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3571 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3572 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3573 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3574 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3575 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3576 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3577 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3578 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3579 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3580 * testsuite/libgomp.fortran/character1.f90: Likewise.
3581 * testsuite/libgomp.fortran/character2.f90: Likewise.
3582 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3583 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3584 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3585 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3586 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3587 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3588 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3589 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3590 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3591 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3592 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3593 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3594 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3595 * testsuite/libgomp.fortran/do1.f90: Likewise.
3596 * testsuite/libgomp.fortran/do2.f90: Likewise.
3597 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3598 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3599 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3600 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3601 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3602 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3603 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3604 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3605 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3606 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3607 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3608 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3609 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3610 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3611 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3612 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3613 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3614 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3615 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3616 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3617 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3618 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3619 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3620 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3621 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3622 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3623 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3624 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3625 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3626 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3627 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3628 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3629 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3630 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3631 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3632 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3633 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3634 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3635 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3636 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3637 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3638 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3639 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3640 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3641 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3642 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3643 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3644 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3645 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3646 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3647 * testsuite/libgomp.fortran/lib2.f: Likewise.
3648 * testsuite/libgomp.fortran/lib3.f: Likewise.
3649 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3650 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3651 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3652 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3653 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3654 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3655 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3656 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3657 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3658 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3659 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3660 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3661 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3662 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3663 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3664 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3665 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3666 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3667 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3668 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3669 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3670 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3671 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3672 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3673 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3674 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3675 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3676 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3677 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3678 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3679 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3680 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3681 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3682 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3683 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3684 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3685 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3686 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3687 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3688 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3689 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3690 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3691 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3692 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3693 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3694 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3695 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3696 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3697 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3698 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3699 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3700 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3701 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3702 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3703 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3704 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3705 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3706 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3707 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3708 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3709 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3710 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3711 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3712 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3713 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3714 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3715 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3716 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3717 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3718 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3719 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3720 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3721 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3722 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3723 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3724 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3725 * testsuite/libgomp.fortran/stack.f90: Likewise.
3726 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3727 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3728 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3729 * testsuite/libgomp.fortran/target1.f90: Likewise.
3730 * testsuite/libgomp.fortran/target2.f90: Likewise.
3731 * testsuite/libgomp.fortran/target3.f90: Likewise.
3732 * testsuite/libgomp.fortran/target4.f90: Likewise.
3733 * testsuite/libgomp.fortran/target5.f90: Likewise.
3734 * testsuite/libgomp.fortran/target6.f90: Likewise.
3735 * testsuite/libgomp.fortran/target7.f90: Likewise.
3736 * testsuite/libgomp.fortran/target8.f90: Likewise.
3737 * testsuite/libgomp.fortran/task1.f90: Likewise.
3738 * testsuite/libgomp.fortran/task2.f90: Likewise.
3739 * testsuite/libgomp.fortran/task3.f90: Likewise.
3740 * testsuite/libgomp.fortran/task4.f90: Likewise.
3741 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3742 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3743 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3744 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3745 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3746 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3747 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3748 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3749 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3750 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3751 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3752 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3753 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3754 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3755 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3756 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3757 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3758 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3759 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3760 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3761 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3762 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3763 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3764 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3765 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3766 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3767 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3768 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3769 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3770 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3771 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3772 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3773 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3774 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3775 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3776 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3777 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3778 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3779 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3780 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3781 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3782 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3783 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3784 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3785 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3786 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3787 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3788 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3789 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3790 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3791 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3792 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3793 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3794 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3795 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3796 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3797 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3798 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3799 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3800 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3801 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3802 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3803 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3804 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3805 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3806 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3807 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3808 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3809 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3810 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3811 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3812 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3813 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3814 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3815 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3816 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3817 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3818 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3819 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3820 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3821 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3822 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3823 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3824 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3825 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3826 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3827 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3828 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3829 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3830 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3831 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3832 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3833 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3834 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3835 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3836 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3837 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3838 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3839 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3840 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3841 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3842 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3843 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3844 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3845 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3846 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3847 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3848 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3849 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3850 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3851 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3852 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3853 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3854 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3855 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3856 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3857 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3858 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3859 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3860 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3861 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3862 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3863 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3864 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3865 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3866 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3867
79cf14ae
RB
38682018-03-20 Richard Biener <rguenther@suse.de>
3869
3870 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3871 parallelizable loop.
3872
14e335ed
IT
38732018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3874
3875 PR target/84148
3876 * configure: Regenerate.
3877
83d9be55
JJ
38782018-02-16 Jakub Jelinek <jakub@redhat.com>
3879
3880 PR fortran/84418
3881 * libgomp.fortran/pr84418-1.f90: New test.
3882 * libgomp.fortran/pr84418-2.f90: New test.
3883
d1fe6124
JJ
38842018-02-14 Jakub Jelinek <jakub@redhat.com>
3885
3886 PR fortran/84313
3887 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3888 -std=f2003 -fall-intrinsics into dg-additional-options.
3889
3d224921
MJ
38902018-02-08 Martin Jambor <mjambor@suse.cz>
3891
3892 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3893 clonable.
3894
c7c30edd
MJ
38952018-02-08 Martin Jambor <mjambor@suse.cz>
3896
3897 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3898
f320fdfd
RO
38992018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3900
3901 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3902 [__cplusplus]: Declare extern "C".
3903
c31bc4ac
TV
39042018-02-07 Tom de Vries <tom@codesourcery.com>
3905
3906 PR libgomp/84217
3907 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3908
99ae7ce5
CS
39092018-01-29 Christoph Spiel <cspiel@freenet.de>
3910 Jakub Jelinek <jakub@redhat.com>
3911
3912 PR libgomp/84096
3913 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3914 instead of omp_lock_t.
3915
e77a1236
TV
39162018-01-25 Tom de Vries <tom@codesourcery.com>
3917
3918 PR target/84028
3919 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3920
3dede32b
TV
39212018-01-24 Tom de Vries <tom@codesourcery.com>
3922
3923 PR target/83589
3924 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3925
be606483
TV
39262018-01-24 Tom de Vries <tom@codesourcery.com>
3927
3928 PR target/81352
3929 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3930
8c8e9a6b
TV
39312018-01-19 Tom de Vries <tom@codesourcery.com>
3932 Cesar Philippidis <cesar@codesourcery.com>
3933
3934 PR target/83920
3935 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3936 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3937
65e6aea3
JJ
39382018-01-03 Jakub Jelinek <jakub@redhat.com>
3939
85ec4feb
JJ
3940 Update copyright years.
3941
65e6aea3
JJ
3942 * libgomp.texi: Bump @copying's copyright year.
3943
60bf575c
TV
39442017-12-30 Tom de Vries <tom@codesourcery.com>
3945
3946 PR libgomp/83046
3947 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3948 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3949
7ec16b79
TV
39502017-12-27 Tom de Vries <tom@codesourcery.com>
3951
3952 PR c++/83046
3953 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3954 (test_nonstatic): Fix return type to workaround PR83046.
3955
ac550b9a
JJ
39562017-12-05 Jakub Jelinek <jakub@redhat.com>
3957
3958 PR testsuite/83281
3959 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3960 j suffix instead of i.
3961 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3962 Likewise.
3963
ebdc83f0
CP
39642017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3965
3966 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3967 call to acc_wait (1).
3968
3b3e6283
JJ
39692017-11-24 Jakub Jelinek <jakub@redhat.com>
3970
3971 PR fortran/81304
3972 * testsuite/libgomp.fortran/pr81304.f90: New test.
3973
3b575376
JJ
39742017-11-23 Jakub Jelinek <jakub@redhat.com>
3975
3976 PR fortran/81841
3977 * libgomp.fortran/pr81841.f90: New test.
3978
b13547d8
JJ
39792017-11-22 Jakub Jelinek <jakub@redhat.com>
3980
3981 PR libgomp/83106
3982 * target.c (gomp_target_init): Compute lengths just once and
3983 use them in both malloc size and subsequent copying.
3984
efe33ced
IT
39852017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3986
3987 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3988 * acinclude.m4: Add cet.m4.
3989 * configure: Regenerate.
3990 * Makefile.in: Likewise.
3991 * testsuite/Makefile.in: Likewise.
3992
a7cf2612
TV
39932017-11-15 Tom de Vries <tom@codesourcery.com>
3994
3995 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3996 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3997 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3998 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3999 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4000 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4001
dde76623
TV
40022017-11-14 Tom de Vries <tom@codesourcery.com>
4003
4004 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4005 non-nvidia devices.
4006
4dbeb716
JJ
40072017-11-07 Jakub Jelinek <jakub@redhat.com>
4008
4009 PR c++/82835
4010 * testsuite/libgomp.c++/pr82835.C: New test.
4011
454f8b2b
ML
40122017-11-06 Martin Liska <mliska@suse.cz>
4013
4014 * testsuite/libgomp.c++/loop-2.C: Return a value
4015 for functions with non-void return type, or change type to void,
4016 or add -Wno-return-type for test.
4017 * testsuite/libgomp.c++/loop-4.C: Likewise.
4018 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4019 * testsuite/libgomp.c++/shared-1.C: Likewise.
4020 * testsuite/libgomp.c++/single-1.C: Likewise.
4021 * testsuite/libgomp.c++/single-2.C: Likewise.
4022
12e9c8ce
TV
40232017-10-31 Tom de Vries <tom@codesourcery.com>
4024
4025 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4026 "do {} while (false)".
4027 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4028 after HSA_DEBUG call.
4029
7324369a
JJ
40302017-10-28 Jakub Jelinek <jakub@redhat.com>
4031
4032 * target.c (struct gomp_coalesce_buf): New type.
4033 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4034 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4035 (gomp_copy_host2dev): Add CBUF argument, if copying into
4036 the cached ranges, memcpy into buffer instead of copying
4037 into device.
4038 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4039 Add CBUF argument, pass it through to other calls.
4040 (gomp_map_vars): Aggregate copies from host to device if small enough
4041 and with small enough gaps in between into memcpy into a buffer and
4042 fewer host to device copies from the buffer.
4043 (gomp_update): Adjust gomp_copy_host2dev caller.
4044
933ab0e6
TS
40452017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4046
4047 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4048 run" directive.
4049 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4050 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4051 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4052 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4053
92d5d01a
TV
40542017-10-16 Tom de Vries <tom@codesourcery.com>
4055
4056 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4057 openacc_nvidia_accel_selected.
4058 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4059 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4060 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4061 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4062 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4063 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4064 openacc_nvidia_accel_selected. Skip for shared memory device.
4065 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4066 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4067
191411e4
MJ
40682017-10-09 Martin Jambor <mjambor@suse.cz>
4069
4070 PR hsa/82416
4071 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4072
e923330e
TV
40732017-10-07 Tom de Vries <tom@codesourcery.com>
4074
4075 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4076 Remove acc_device_nvidia references.
4077 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4078 Same.
4079
8fe3ed4c
TV
40802017-10-05 Tom de Vries <tom@codesourcery.com>
4081
4082 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4083 vector_length(32) clause from acc parallel directive.
4084 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4085
26596ee5
TV
40862017-10-04 Tom de Vries <tom@codesourcery.com>
4087
4088 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4089 (main): Reduce sum of arr elements. Assert that hres is exactly
4090 representable in 32-bit floating point.
4091 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4092 (main): Reduce sum of arr elements. Assert that hres and hmres are
4093 exactly representable in 32-bit floating point.
4094 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4095
5c561fa9
TV
40962017-09-28 Tom de Vries <tom@codesourcery.com>
4097
4098 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4099 setting.
4100 * testsuite/libgomp.c++/pr69393.C: Same.
4101 * testsuite/libgomp.c++/taskloop-1.C: Same.
4102 * testsuite/libgomp.c++/taskloop-3.C: Same.
4103 * testsuite/libgomp.c++/taskloop-4.C: Same.
4104 * testsuite/libgomp.c/for-4.c: Same.
4105 * testsuite/libgomp.c/pr66199-3.c: Same.
4106 * testsuite/libgomp.c/pr66199-4.c: Same.
4107 * testsuite/libgomp.c/pr66199-6.c: Same.
4108 * testsuite/libgomp.c/taskloop-1.c: Same.
4109 * testsuite/libgomp.c/taskloop-3.c: Same.
4110 * testsuite/libgomp.c/taskloop-4.c: Same.
4111 * testsuite/libgomp.fortran/aligned1.f03: Same.
4112 * testsuite/libgomp.fortran/condinc1.f: Same.
4113 * testsuite/libgomp.fortran/condinc3.f90: Same.
4114 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4115 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4116 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4117 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4118 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4119 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4120 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4121 * testsuite/libgomp.fortran/recursion1.f90: Same.
4122 * testsuite/libgomp.fortran/target2.f90: Same.
4123 * testsuite/libgomp.fortran/target5.f90: Same.
4124 * testsuite/libgomp.fortran/task3.f90: Same.
4125
7d6206fe
TV
41262017-09-28 Tom de Vries <tom@codesourcery.com>
4127
4128 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4129 vector_length(32) clause from acc parallel directive.
4130 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4131
84c8627c
TV
41322017-09-27 Tom de Vries <tom@codesourcery.com>
4133
4134 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4135 Remove acc_device_nvidia references.
4136
ebc6a85e
TV
41372017-09-16 Tom de Vries <tom@codesourcery.com>
4138
4139 PR c/81875
4140 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4141
82419efb
TV
41422017-09-14 Tom de Vries <tom@codesourcery.com>
4143
4144 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4145 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4146 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4147 * testsuite/libgomp.c/c.exp: Include test-cases from
4148 libgomp.c-c++-common.
4149 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4150 files.
4151
8b586510
JJ
41522017-09-14 Jakub Jelinek <jakub@redhat.com>
4153
4154 PR c++/81314
4155 * testsuite/libgomp.c++/pr81314.C: New test.
4156
9651fbaf
GP
41572017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4158
4159 * libgomp.texi (Top): www.openacc.org now uses https.
4160 (Enabling OpenACC): Ditto.
4161 (acc_get_num_devices): Ditto.
4162 (acc_set_device_type): Ditto.
4163 (acc_get_device_type): Ditto.
4164 (acc_set_device_num): Ditto.
4165 (acc_get_device_num): Ditto.
4166 (acc_async_test): Ditto.
4167 (acc_async_test_all): Ditto.
4168 (acc_wait): Ditto.
4169 (acc_wait_all): Ditto.
4170 (acc_wait_all_async): Ditto.
4171 (acc_wait_async): Ditto.
4172 (acc_init): Ditto.
4173 (acc_shutdown): Ditto.
4174 (acc_on_device): Ditto.
4175 (acc_malloc): Ditto.
4176 (acc_free): Ditto.
4177 (acc_copyin): Ditto.
4178 (acc_present_or_copyin): Ditto.
4179 (acc_create): Ditto.
4180 (acc_present_or_create): Ditto.
4181 (acc_copyout): Ditto.
4182 (acc_delete): Ditto.
4183 (acc_update_device): Ditto.
4184 (acc_update_self): Ditto.
4185 (acc_map_data): Ditto.
4186 (acc_unmap_data): Ditto.
4187 (acc_deviceptr): Ditto.
4188 (acc_hostptr): Ditto.
4189 (acc_is_present): Ditto.
4190 (acc_memcpy_to_device): Ditto.
4191 (acc_memcpy_from_device): Ditto.
4192 (acc_get_current_cuda_device): Ditto.
4193 (acc_get_current_cuda_context): Ditto.
4194 (acc_get_cuda_stream): Ditto.
4195 (acc_set_cuda_stream): Ditto.
4196 (ACC_DEVICE_TYPE): Ditto.
4197 (ACC_DEVICE_NUM): Ditto.
4198 (OpenACC Library Interoperability): Ditto.
4199
50aa16c3
JJ
42002017-08-09 Jakub Jelinek <jakub@redhat.com>
4201
4202 PR c/81687
4203 * testsuite/libgomp.c/pr81687-1.c: New test.
4204 * testsuite/libgomp.c/pr81687-2.c: New test.
4205
56b5041c
JJ
42062017-08-07 Jakub Jelinek <jakub@redhat.com>
4207
4208 PR c/69389
4209 * testsuite/libgomp.c/pr69389.c: New test.
4210 * testsuite/libgomp.c++/pr69389.C: New test.
4211
f4c222c0
TV
42122017-08-07 Tom de Vries <tom@codesourcery.com>
4213
4214 PR middle-end/78266
4215 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4216 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4217
a40ff0ae
JJ
42182017-07-27 Jakub Jelinek <jakub@redhat.com>
4219
4220 PR c/45784
4221 * testsuite/libgomp.c/pr45784.c: New test.
4222 * testsuite/libgomp.c++/pr45784.C: New test.
4223
3717fbe3
TV
42242017-07-19 Tom de Vries <tom@codesourcery.com>
4225
4226 * testsuite/libgomp.oacc-c/vec.c: New test.
4227
9607b014
TV
42282017-07-03 Tom de Vries <tom@codesourcery.com>
4229
4230 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4231
dfb15f6b
TV
42322017-06-27 Tom de Vries <tom@codesourcery.com>
4233
4234 * plugin/plugin-nvptx.c (notify_var): New function.
4235 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4236
22f1a037
TV
42372017-06-27 Tom de Vries <tom@codesourcery.com>
4238
4239 * env.c (parse_unsigned_long_1): Factor out of ...
4240 (parse_unsigned_long): ... here.
4241 (parse_int_1): Factor out of ...
4242 (parse_int): ... here.
4243 (parse_int_secure): New function.
4244 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4245 * secure_getenv.h: Factor out of ...
4246 * plugin/plugin-hsa.c: ... here.
4247 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4248
d54d1fc3
JJ
42492017-06-21 Jakub Jelinek <jakub@redhat.com>
4250
4251 PR c++/81130
4252 * testsuite/libgomp.c++/pr81130.C: New test.
4253
4f4b0ab8
RO
42542017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4255
4256 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4257 default args.
4258 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4259 dg-xfail-run-if default args.
4260
40ffd95f
BE
42612017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4262
4263 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4264 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4265
01275e1e
JJ
42662017-05-30 Jakub Jelinek <jakub@redhat.com>
4267
4268 PR libgomp/80822
4269 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4270 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4271 sibling lists, depending on level just pick up what CPUs to put
4272 together into a place vs. whether add multiple ordered places.
4273
78672bd8
TS
42742017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4275
7ce64403
TS
4276 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4277 * libgomp.map (OACC_2.0.1): Add these.
4278 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4279 for "acc_wait", and "acc_wait_all", respectively.
4280 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4281 for "acc_wait", and "acc_wait_all", respectively.
4282 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4283 * libgomp.texi (acc_wait, acc_wait_all): Update.
4284 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4285 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4286 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4287
318686c2
TS
4288 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4289 acc_present_or_copyin and acc_present_or_create procedures,
4290 respectively.
4291 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4292 generally different variants of OpenACC Runtime Library functions.
4293 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4294
a6745534
TS
4295 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4296 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4297
9b94fbc7
TS
4298 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4299 of preprocessor definitions.
4300 * libgomp.h (strong_alias): Guard by "#ifdef
4301 HAVE_ATTRIBUTE_ALIAS".
4302 * oacc-mem.c: Provide "acc_pcreate" as alias for
4303 "acc_present_or_create", and "acc_pcopyin" as alias for
4304 "acc_present_or_copyin".
4305 * libgomp.map: New version "OACC_2.0.1".
4306 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4307 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4308 its content into...
4309 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4310 Extend testing.
4311
78672bd8
TS
4312 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4313 when disabling nvptx offloading.
4314
0c36d0d5
TS
43152017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4316
fd71a9a2
TS
4317 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4318 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4319 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4320
0c36d0d5
TS
4321 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4322 * testsuite/lib/libgomp.exp
4323 (check_effective_target_openacc_nvidia_accel_configured): New
4324 proc.
4325 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4326 (check_effective_target_c++): New procs.
4327 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4328 (check_effective_target_c++): Likewise.
4329
c24783c4
JJ
43302017-05-22 Jakub Jelinek <jakub@redhat.com>
4331
655e5265
JJ
4332 PR middle-end/80809
4333 * testsuite/libgomp.c/pr80809-2.c: New test.
4334 * testsuite/libgomp.c/pr80809-3.c: New test.
4335
e9e2ef9f
JJ
4336 PR middle-end/80809
4337 * testsuite/libgomp.c/pr80809-1.c: New test.
4338
c24783c4
JJ
4339 PR middle-end/80853
4340 * testsuite/libgomp.c/pr80853.c: New test.
4341
0da2f96a
TS
43422017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4343
7fd549d2
TS
4344 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4345 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4346 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4347 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4348 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4349
0da2f96a
TS
4350 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4351 Debug output for failure.
4352
62ffe920
RO
43532017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4354
4355 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4356
f49215b1
JJ
43572017-04-27 Jakub Jelinek <jakub@redhat.com>
4358
4359 PR bootstrap/80531
4360 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4361 bootstrap compare failures.
4362
2260d19d
AM
43632017-04-20 Alexander Monakov <amonakov@ispras.ru>
4364
4365 * testsuite/libgomp.c/target-36.c: New testcase.
4366
19929ba9
JJ
43672017-04-13 Jakub Jelinek <jakub@redhat.com>
4368
4369 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4370 instead of char.
4371
fbc698e0
JJ
43722017-04-11 Jakub Jelinek <jakub@redhat.com>
4373
4374 PR libgomp/80394
4375 * testsuite/libgomp.c/pr80394.c: New test.
4376
c4060df4
JJ
43772017-04-04 Jakub Jelinek <jakub@redhat.com>
4378
4379 PR libgomp/79876
4380 * config/posix/thread-stacksize.h: New file.
4381 * config/darwin/thread-stacksize.h: New file.
4382 * config/nvptx/thread-stacksize.h: New file.
4383 * env.c: Include thread-stacksize.h.
4384 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4385 instead of 0. Call pthread_attr_setstacksize even if
4386 GOMP_DEFAULT_STACKSIZE is non-zero.
4387
e02d868a
JJ
43882017-03-30 Jakub Jelinek <jakub@redhat.com>
4389
4390 * env.c (initialize_env): Initialize stacksize to 0.
4391
7ba8651e
CP
43922017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4393
4394 PR c++/80029
4395 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4396
eebc5e2d
JJ
43972017-03-08 Jakub Jelinek <jakub@redhat.com>
4398
4399 PR c/79940
4400 * testsuite/libgomp.c/pr79940.c: New test.
4401
1eb08f52
RO
44022017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4403
4404 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4405 targets.
4406 Add __float128 options.
4407
b0f78ff3
JDA
44082017-02-11 John David Anglin <danglin@gcc.gnu.org>
4409
4410 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4411 hppa*-*-* dg-skip-if directive.
4412
1bbe0d8f
JJ
44132017-02-09 Jakub Jelinek <jakub@redhat.com>
4414
4415 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4416 dg-skip-if directive into a comment.
4417
02889d23
CLT
44182017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4419 Chung-Lin Tang <cltang@codesourcery.com>
4420
4421 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4422 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4423 add additional case.
4424 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4425 "openacc_nvidia_accel_selected".
4426 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4427 Add num_workers(8) clause.
4428
5896a41d
JDA
44292017-02-08 John David Anglin <danglin@gcc.gnu.org>
4430
4431 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4432 hppa*-*-*.
4433 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4434 include complex.h on hppa*-*-hpux*.
4435 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4436
345a8c17
TS
44372017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4438
e70ab10d
TS
4439 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4440
345a8c17
TS
4441 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4442 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4443 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4444 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4445 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4446 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4447 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4448 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4449 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4450 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4451
dced339c
TS
44522017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4453
4454 * libgomp-plugin.h: #include <stdbool.h>.
4455 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4456 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4457 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4458 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4459 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4460 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4461 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4462 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4463 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4464 (GOMP_OFFLOAD_openacc_async_test)
4465 (GOMP_OFFLOAD_openacc_async_test_all)
4466 (GOMP_OFFLOAD_openacc_async_wait)
4467 (GOMP_OFFLOAD_openacc_async_wait_async)
4468 (GOMP_OFFLOAD_openacc_async_wait_all)
4469 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4470 (GOMP_OFFLOAD_openacc_async_set_async)
4471 (GOMP_OFFLOAD_openacc_create_thread_data)
4472 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4473 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4474 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4475 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4476 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4477 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4478 these.
4479 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4480 (GOMP_OFFLOAD_unload_image): Fix argument types.
4481
23749904
JJ
44822017-01-26 Jakub Jelinek <jakub@redhat.com>
4483
c1cadde1
JJ
4484 * testsuite/lib/libgomp.exp
4485 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4486 check_compile invocation. Fix up removal of executable. Drop
4487 bogus "2>&1" argument.
4488
23749904
JJ
4489 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4490 directive.
4491
44922017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
4493 Martin Jambor <mjambor@suse.cz>
4494
4495 * plugin/hsa.h: Moved to top level include.
4496 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4497
73aa401e
JJ
44982017-01-21 Jakub Jelinek <jakub@redhat.com>
4499
4500 PR other/79046
4501 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4502 of cat to get version from BASE-VER file.
4503 * testsuite/Makefile.in: Regenerated.
4504
b32e85fa
JJ
45052017-01-19 Jakub Jelinek <jakub@redhat.com>
4506
4507 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4508 for _WIN64.
4509
3c36aa6b
JJ
45102017-01-17 Jakub Jelinek <jakub@redhat.com>
4511
d190d5c0
JJ
4512 * plugin/hsa.h: Add GCC runtime library exception.
4513 * plugin/hsa_ext_finalize.h: Likewise.
4514
2393d337
JJ
4515 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4516 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4517 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4518 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4519 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4520 library to link ptx plugin against.
4521 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4522 (CUDA_CALLS): Define.
4523 (cuda_lib, cuda_lib_inited): New variables.
4524 (init_cuda_lib): New function.
4525 (CUDA_CALL_PREFIX): Define.
4526 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4527 (CUDA_CALL): Use FN instead of (FN).
4528 (CUDA_CALL_NOCHECK): Define.
4529 (cuda_error, fini_streams_for_device, select_stream_for_async,
4530 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4531 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4532 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4533 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4534 CUDA_CALL_NOCHECK.
4535 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4536 CUDA_CALL_NOCHECK.
4537 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4538 Use CUDA_CALL_NOCHECK.
4539 * plugin/cuda/cuda.h: New file.
4540 * config.h.in: Regenerated.
4541 * configure: Regenerated.
4542
3c36aa6b
JJ
4543 PR other/79046
4544 * configure.ac: Add GCC_BASE_VER.
4545 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4546 get version from BASE-VER file.
4547 * testsuite/Makefile.in: Regenerated.
4548 * configure: Regenerated.
4549 * Makefile.in: Regenerated.
4550
c508bc2d
FXC
45512017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4552
4553 PR libgomp/60670
4554 * Makefile.am: Make fincludedir multilib-aware.
4555 * Makefile.in: Regenerate.
4556
c1a9c369
JJ
45572017-01-01 Jakub Jelinek <jakub@redhat.com>
4558
cbe34bb5
JJ
4559 Update copyright years.
4560
c1a9c369
JJ
4561 * libgomp.texi: Bump @copying's copyright year.
4562
e7a7f4be
SH
45632016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4564
4565 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4566 pthread_spinlock_t instead of gomp_mutex_t lock.
4567 (gomp_get_thread_pool): Likewise.
4568 (gomp_release_thread_pool): Likewise.
4569 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4570 Likewise.
4571
d313d52c
SH
45722016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4573
4574 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4575 thread pool in case nthreads == 1.
4576
630e3c3a
AM
45772016-11-30 Alexander Monakov <amonakov@ispras.ru>
4578
4579 * config/nvptx/env.c: Delete.
4580 * icv.c: Move definitions of ICV variables back ...
4581 * env.c: ...here. Do not compile environment-related functionality if
4582 LIBGOMP_OFFLOADED_ONLY is set.
4583
9e38af5c
AM
45842016-11-30 Alexander Monakov <amonakov@ispras.ru>
4585
4586 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4587 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4588 * configure: Regenerate.
4589 * config.h.in: Likewise.
4590
f96b7f1f
AM
45912016-11-30 Alexander Monakov <amonakov@ispras.ru>
4592
4593 * Makefile.in: Regenerate with automake-1.11.6.
4594 * aclocal.m4: Likewise.
4595 * configure: Likewise.
4596 * testsuite/Makefile.in: Likewise.
4597
6a6951b1
AM
45982016-11-28 Alexander Monakov <amonakov@ispras.ru>
4599
4600 * config/nvptx/critical.c: Delete to use generic implementation.
4601
c7ac071f
JH
46022016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4603
4604 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4605 ../../affinity.c as fallback.
4606 * config/nvptx/affinity.c: Delete to use fallback implementation.
4607
6103184e 46082016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 4609 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
4610 Dmitry Melnik <dm@ispras.ru>
4611
4612 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4613 * Makefile.in. Regenerate.
4614 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4615 (LIBGOMP_USE_PTHREADS): ...here; new define.
4616 * configure: Regenerate.
4617 * config.h.in: Likewise.
4618 * config/posix/affinity.c: Move to...
4619 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4620 interface by LIBGOMP_USE_PTHREADS.
4621 * critical.c: Split out GOMP_atomic_{start,end} into...
4622 * atomic.c: ...here (new file).
4623 * env.c: Split out ICV definitions into...
4624 * icv.c: ...here (new file) and...
4625 * icv-device.c: ...here. New file.
4626 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4627 (gomp_destroy_lock_30): Ditto.
4628 (gomp_set_lock_30): Ditto.
4629 (gomp_unset_lock_30): Ditto.
4630 (gomp_test_lock_30): Ditto.
4631 (gomp_init_nest_lock_30): Ditto.
4632 (gomp_destroy_nest_lock_30): Ditto.
4633 (gomp_set_nest_lock_30): Ditto.
4634 (gomp_unset_nest_lock_30): Ditto.
4635 (gomp_test_nest_lock_30): Ditto.
4636 * lock.c: New.
4637 * config/nvptx/lock.c: New.
4638 * config/nvptx/bar.c: New.
4639 * config/nvptx/bar.h: New.
4640 * config/nvptx/doacross.h: New.
4641 * config/nvptx/error.c: New.
4642 * config/nvptx/icv-device.c: New.
4643 * config/nvptx/mutex.h: New.
4644 * config/nvptx/pool.h: New.
4645 * config/nvptx/proc.c: New.
4646 * config/nvptx/ptrlock.h: New.
4647 * config/nvptx/sem.h: New.
4648 * config/nvptx/simple-bar.h: New.
4649 * config/nvptx/target.c: New.
4650 * config/nvptx/task.c: New.
4651 * config/nvptx/team.c: New.
4652 * config/nvptx/time.c: New.
4653 * config/posix/simple-bar.h: New.
4654 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4655 (gomp_num_teams_var): Declare.
4656 (struct gomp_thread_pool): Change threads_dock member to
4657 gomp_simple_barrier_t.
4658 [__nvptx__] (gomp_thread): New implementation.
4659 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4660 (gomp_thread_destructor): Ditto.
4661 (gomp_init_thread_affinity): Ditto.
4662 * team.c: Guard uses of Pthreads-specific interfaces by
4663 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4664 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4665 * config/nvptx/alloc.c: Delete.
4666 * config/nvptx/barrier.c: Ditto.
4667 * config/nvptx/fortran.c: Ditto.
4668 * config/nvptx/iter.c: Ditto.
4669 * config/nvptx/iter_ull.c: Ditto.
4670 * config/nvptx/loop.c: Ditto.
4671 * config/nvptx/loop_ull.c: Ditto.
4672 * config/nvptx/ordered.c: Ditto.
4673 * config/nvptx/parallel.c: Ditto.
4674 * config/nvptx/priority_queue.c: Ditto.
4675 * config/nvptx/sections.c: Ditto.
4676 * config/nvptx/single.c: Ditto.
4677 * config/nvptx/splay-tree.c: Ditto.
4678 * config/nvptx/work.c: Ditto.
4679 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4680 -foffload=-lgfortran in addition to -lgfortran.
4681 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4682 * plugin/plugin-nvptx.c: Include <limits.h>.
4683 (struct targ_fn_descriptor): Add new fields.
4684 (struct ptx_device): Ditto. Set them...
4685 (nvptx_open_device): ...here.
4686 (nvptx_adjust_launch_bounds): New.
4687 (nvptx_host2dev): Allow NULL 'nvthd'.
4688 (nvptx_dev2host): Ditto.
4689 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4690 (link_ptx): Adjust log sizes.
4691 (nvptx_host2dev): Allow NULL 'nvthd'.
4692 (nvptx_dev2host): Ditto.
4693 (nvptx_set_clocktick): New. Use it...
4694 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4695 fields.
4696 (GOMP_OFFLOAD_dev2dev): New.
4697 (nvptx_adjust_launch_bounds): New.
4698 (nvptx_stacks_size): New.
4699 (nvptx_stacks_alloc): New.
4700 (nvptx_stacks_free): New.
4701 (GOMP_OFFLOAD_run): New.
4702 (GOMP_OFFLOAD_async_run): New (stub).
4703
56b1c60e
MJ
47042016-11-23 Martin Jambor <mjambor@suse.cz>
4705
4706 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4707 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4708 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4709
b8d89b03 47102016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 4711 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
4712
4713 * plugin/hsa.h: New file.
4714 * plugin/hsa_ext_finalize.h: New file.
4715 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4716 header file unistd.h, and functions secure_getenv, __secure_getenv,
4717 getuid, geteuid, getgid and getegid.
4718 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4719 -D_GNU_SOURCE.
4720 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4721 Handle various cases of secure_getenv presence, add an implementation
4722 when we can test effective UID and GID.
4723 (struct hsa_runtime_fn_info): New structure.
4724 (hsa_runtime_fn_info hsa_fns): New variable.
4725 (hsa_runtime_lib): Likewise.
4726 (support_cpu_devices): Likewise.
4727 (init_enviroment_variables): Load newly introduced ENV
4728 variables.
4729 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4730 (hsa_fatal): Likewise.
4731 (DLSYM_FN): New macro.
4732 (init_hsa_runtime_functions): New function.
4733 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4734 structure. Depending on environment, also allow CPU devices.
4735 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4736 (get_kernarg_memory_region): Likewise.
4737 (GOMP_OFFLOAD_init_device): Likewise.
4738 (destroy_hsa_program): Likewise.
4739 (init_basic_kernel_info): New function.
4740 (GOMP_OFFLOAD_load_image): Use it.
4741 (create_and_finalize_hsa_program): Call hsa run-time functions via
4742 hsa_fns structure.
4743 (create_single_kernel_dispatch): Likewise.
4744 (release_kernel_dispatch): Likewise.
4745 (init_single_kernel): Likewise.
4746 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4747 (get_group_size): New function.
4748 (run_kernel): Likewise.
4749 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4750 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4751 structure.
4752 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4753 * testsuite/libgomp-test-support.exp.in: Likewise.
4754 * Makefile.in: Regenerated.
4755 * aclocal.m4: Likewise.
4756 * config.h.in: Likewise.
4757 * configure: Likewise.
4758 * testsuite/Makefile.in: Likewise.
4759
18d2ada8 47602016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 4761 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
4762
4763 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4764 mapping clauses to target constructs.
4765 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4766
84c1b9d3
MK
47672016-11-15 Matthias Klose <doko@ubuntu.com>
4768
4769 * configure: Regenerate.
4770
b4c3a85b
JJ
47712016-11-10 Jakub Jelinek <jakub@redhat.com>
4772
8ebd1b31
JJ
4773 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4774 * omp_lib.h.in (openmp_version): Likewise.
4775 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4776 of 201307.
4777 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4778
b4c3a85b
JJ
4779 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4780 (fib_wrapper): Add map(from: x) clause.
4781 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4782 (e_53_2): Likewise.
4783 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4784 (accum): Add map(tmp) clause.
4785 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4786 (accum): Add map(tofrom: tmp) clause.
4787 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4788 (gramSchmidt): Likewise.
4789 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4790 map(tofrom: sum) clause.
4791 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4792 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4793 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4794 only allowed on the loop iterator.
4795 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4796 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4797 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4798 * testsuite/libgomp.fortran/doacross1.f90: New test.
4799 * testsuite/libgomp.fortran/doacross3.f90: New test.
4800 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4801 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4802 * testsuite/libgomp.fortran/doacross2.f90: New test.
4803 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4804 #pragma omp atomic read.
4805 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4806 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4807
6668eb45
CP
48082016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4809 Nathan Sidwell <nathan@acm.org>
4810
4811 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4812 to determine default geometry.
4813 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4814 dimension.
4815
f10e37a1
JJ
48162016-11-01 Jakub Jelinek <jakub@redhat.com>
4817
4818 * hashtab.h: Use standard GPLv3 with runtime exception
4819 boilerplate.
4820
015c7760
AH
48212016-10-27 Aldy Hernandez <aldyh@redhat.com>
4822
4823 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4824 size when allocating new thread.
4825
20a1e5b8
MP
48262016-09-14 Marek Polacek <polacek@redhat.com>
4827
4828 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4829
1cad9284
JJ
48302016-08-19 Jakub Jelinek <jakub@redhat.com>
4831
4832 PR fortran/71014
4833 * testsuite/libgomp.fortran/pr71014.f90: New test.
4834
2c71d454
CLT
48352016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4836
4837 PR middle-end/70895
4838 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4839 firstprivate clauses.
4840 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4841 copy clauses.
4842 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4843 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4844 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4845 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4846 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4847 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4848 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4849 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4850 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4851 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4852 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4853 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4854
7c713714
CLT
48552016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4856
4857 PR fortran/70598
4858 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4859
5c934396
JJ
48602016-08-08 Jakub Jelinek <jakub@redhat.com>
4861
4862 PR c++/58706
4863 * testsuite/libgomp.c++/pr58706.C: New test.
4864
9ef64248
TS
48652016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4866
bbc79c0e
TS
4867 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4868 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4869 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4870 Likewise.
4871 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4872 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4873 Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4875
9ef64248
TS
4876 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4877 test, and don't hardcode -O0.
4878
c1311c86
NS
48792016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4880
4881 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4882
b1c9c068
CP
48832016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4884
4885 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4886 test.
4887
b4410f63
L
48882016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4889
4890 PR middle-end/71734
4891 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4892 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4893
a8dbab92
JJ
48942016-07-01 Jakub Jelinek <jakub@redhat.com>
4895
4896 PR fortran/71717
4897 * testsuite/libgomp.fortran/associate3.f90: New test.
4898
9b6a8d0f
JJ
48992016-06-17 Jakub Jelinek <jakub@redhat.com>
4900
4901 * testsuite/libgomp.c++/target-21.C: New test.
4902
283635f9
JJ
49032016-06-16 Jakub Jelinek <jakub@redhat.com>
4904
4905 * testsuite/libgomp.c++/target-20.C: New test.
4906
27d6ba88
TS
49072016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4908 Cesar Philippidis <cesar@codesourcery.com>
4909
4910 PR middle-end/71373
4911 * libgomp.oacc-c/nested-function-1.c: New file.
4912 * libgomp.oacc-c/nested-function-2.c: Likewise.
4913 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4914 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4915 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4916
4b1ffdb1
TS
49172016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4918
4919 PR c/71381
4920 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4921 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4922 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4923
d821b794
CLT
49242016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4925
4926 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4927 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4928
3616a8c5
CP
49292016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4930
4931 PR c/70688
5eed9a88 4932 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 4933
7211a097
JJ
49342016-05-26 Jakub Jelinek <jakub@redhat.com>
4935
4936 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4937 instead of invalid schedule(static, 0).
4938 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4939
b4557008
CLT
49402016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4941
4942 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4943 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4944 parameter, use to set async stream around call to gomp_unmap_vars,
4945 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4946 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4947 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4948 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4949 (event_add): Add int parameter, initialize 'val' field when
4950 adding new ptx_event struct.
4951 (nvptx_evec): Adjust event_add() call arguments.
4952 (nvptx_host2dev): Likewise.
4953 (nvptx_dev2host): Likewise.
4954 (nvptx_wait_async): Likewise.
4955 (nvptx_wait_all_async): Likewise.
4956 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4957 pass to event_add() call.
4958 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4959 parameter.
4960 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4961 call openacc.register_async_cleanup_func() hook.
4962 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4963 * target.c (gomp_copy_from_async): Delete function.
4964 (gomp_map_vars): Remove async_refcount.
4965 (gomp_unmap_vars): Likewise.
4966 (gomp_load_image_to_device): Likewise.
4967 (omp_target_associate_ptr): Likewise.
4968 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4969 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4970 (gomp_copy_from_async): Remove.
4971
6ce13072
CLT
49722016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4973
4974 * target.c (gomp_device_copy): New function.
4975 (gomp_copy_host2dev): Likewise.
4976 (gomp_copy_dev2host): Likewise.
4977 (gomp_free_device_memory): Likewise.
4978 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4979 (gomp_map_pointer): Likewise.
4980 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4981 NULL value from alloc_func plugin hook.
4982 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4983 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4984 (gomp_unmap_vars): Likewise.
4985 (gomp_update): Adjust to call gomp_copy_dev2host and
4986 gomp_copy_host2dev functions.
4987 (gomp_unload_image_from_device): Handle false value from
4988 unload_image_func plugin hook.
4989 (gomp_init_device): Handle false value from init_device_func
4990 plugin hook.
4991 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4992 (omp_target_free): Adjust to call gomp_free_device_memory.
4993 (omp_target_memcpy): Handle return values from host2dev_func,
4994 dev2host_func, and dev2dev_func plugin hooks.
4995 (omp_target_memcpy_rect_worker): Likewise.
4996 (gomp_target_fini): Handle false value from fini_device_func
4997 plugin hook.
4998 * libgomp.h (struct gomp_device_descr): Adjust return type of
4999 init_device_func, fini_device_func, unload_image_func, free_func,
5000 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5001 * oacc-init.c (acc_shutdown_1): Handle false value from
5002 fini_device_func plugin hook.
5003 * oacc-host.c (host_init_device): Change return type to bool.
5004 (host_fini_device): Likewise.
5005 (host_unload_image): Likewise.
5006 (host_free): Likewise.
5007 (host_dev2host): Likewise.
5008 (host_host2dev): Likewise.
5009 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5010 (acc_memcpy_to_device): Likewise.
5011 (acc_memcpy_from_device): Likewise.
5012 (delete_copyout): Add libfnname parameter, handle free_func
5013 hook fatal error case.
5014 (acc_delete): Adjust delete_copyout call.
5015 (acc_copyout): Likewise.
5016 (update_dev_host): Move gomp_mutex_unlock to after
5017 host2dev/dev2host hook calls.
5018
5019 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5020 to 'hsa_error_msg', for clarity.
5021 (hsa_fatal): Likewise.
5022 (hsa_error): New function.
5023 (init_hsa_context): Change return type to bool, adjust to return
5024 false on error.
5025 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5026 return value.
5027 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5028 return false on error.
5029 (get_agent_info): Adjust to return NULL on error.
5030 (destroy_hsa_program): Change return type to bool, adjust to
5031 return false on error.
5032 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5033 (destroy_module): Change return type to bool, adjust to
5034 return false on error.
5035 (GOMP_OFFLOAD_unload_image): Likewise.
5036 (GOMP_OFFLOAD_fini_device): Likewise.
5037 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5038 (GOMP_OFFLOAD_free): Change to return false when called.
5039 (GOMP_OFFLOAD_dev2host): Likewise.
5040 (GOMP_OFFLOAD_host2dev): Likewise.
5041 (GOMP_OFFLOAD_dev2dev): Likewise.
5042
5043 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5044 (CUDA_CALL): Likewise.
5045 (CUDA_CALL_ASSERT): Likewise.
5046 (map_init): Change return type to bool, use CUDA_CALL* macros.
5047 (map_fini): Likewise.
5048 (init_streams_for_device): Change return type to bool, adjust
5049 call to map_init.
5050 (fini_streams_for_device): Change return type to bool, adjust
5051 call to map_fini.
5052 (select_stream_for_async): Release stream_lock before calls to
5053 GOMP_PLUGIN_fatal, adjust call to map_init.
5054 (nvptx_init): Use CUDA_CALL* macros.
5055 (nvptx_attach_host_thread_to_device): Change return type to bool,
5056 use CUDA_CALL* macros.
5057 (nvptx_open_device): Use CUDA_CALL* macros.
5058 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5059 macros.
5060 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5061 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5062 (nvptx_exec): Use CUDA_CALL* macros.
5063 (nvptx_alloc): Use CUDA_CALL* macros.
5064 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5065 (nvptx_host2dev): Likewise.
5066 (nvptx_dev2host): Likewise.
5067 (nvptx_wait): Use CUDA_CALL* macros.
5068 (nvptx_wait_async): Likewise.
5069 (nvptx_wait_all): Likewise.
5070 (nvptx_wait_all_async): Likewise.
5071 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5072 use CUDA_CALL* macros, adjust call to map_fini.
5073 (GOMP_OFFLOAD_init_device): Change return type to bool,
5074 adjust code accordingly.
5075 (GOMP_OFFLOAD_fini_device): Likewise.
5076 (GOMP_OFFLOAD_load_image): Adjust calls to
5077 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5078 use CUDA_CALL* macros.
5079 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5080 return code.
5081 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5082 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5083 handle error return.
5084 (GOMP_OFFLOAD_dev2host): Likewise.
5085 (GOMP_OFFLOAD_host2dev): Likewise.
5086 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5087 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5088
e46c7770
CP
50892016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5090
5091 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5092 (acc_free): Likewise.
5093 (acc_memcpy_to_device): Likewise.
5094 (acc_memcpy_from_device): Likewise.
5095 (acc_deviceptr): Likewise.
5096 (acc_hostptr): Likewise.
5097 (acc_is_present): Likewise.
5098 (acc_map_data): Likewise.
5099 (acc_unmap_data): Likewise.
5100 (present_create_copy): Likewise.
5101 (delete_copyout): Likewise.
5102 (update_dev_host): Likewise.
5103 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5104 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5105 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5106 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5107 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5108 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5109 it only runs on nvptx targets.
5110 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5111 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5112 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5113 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5114 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5115 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5116 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5117 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5118 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5119 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5120 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5121 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5122 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5123 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5124 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5125 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5126 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5127 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5128 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5129 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5130 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5131 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5132 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5133
a5057543
MJ
51342016-05-23 Martin Jambor <mjambor@suse.cz>
5135
5136 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5137
e37288a6
CLT
51382016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5139
5140 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5141 to gomp_init_targets_once.
5142 (acc_set_device_type): Remove !cached_base_dev condition on call to
5143 gomp_init_targets_once, move call to before acc_device_lock acquire,
5144 to avoid deadlock.
5145 (acc_get_device_num): Remove !cached_base_dev condition on call to
5146 gomp_init_targets_once.
5147 (acc_set_device_num): Likewise.
5148
51d9ed48
MJ
51492016-05-16 Martin Jambor <mjambor@suse.cz>
5150
92a285c1 5151 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 5152
5b37e866
NS
51532016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5154
5155 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5156 expected partitioning.
5157
e7ff0319
CP
51582016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5159
5160 PR middle-end/70626
5161 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5162 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5163 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5164
c2bd3b69
AM
51652016-04-21 Alexander Monakov <amonakov@ispras.ru>
5166
5167 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5168 non-fatal.
5169
84311083
JJ
51702016-04-19 Jakub Jelinek <jakub@redhat.com>
5171
5172 PR middle-end/70680
5173 * testsuite/libgomp.c/pr70680-1.c: New test.
5174 * testsuite/libgomp.c/pr70680-2.c: New test.
5175
aadc043f
CP
51762016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5177
5178 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5179 pass parameter variables to subroutines.
5180
e387fc64
CP
51812016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5182
5183 PR middle-end/70643
5184 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5185
10c3c424
CP
51862016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5187
5188 PR testsuite/68242
5189 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5190 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5191
27f9add3
TS
51922016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5193
58d32aeb
TS
5194 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5195 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5196 GOACC_declare prototype.
5197
d97633ef
TS
5198 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5199 Merge this file, and...
5200 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5201 ... this file, and...
5202 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5203 ... this file, and...
5204 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5205 ... this file, and...
5206 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5207 ... this file, and...
5208 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5209 ... this file, and...
5210 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5211 ... this file, and...
5212 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5213 ... this file, and...
5214 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5215 ... this file, and...
5216 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5217 ... this file, and...
5218 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5219 ... this file, and...
5220 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5221 ... this file, and...
5222 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5223 ... this file into...
5224 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5225 file.
5226
27f9add3
TS
5227 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5228 Make failure observable.
5229
21f3a236
JJ
52302016-04-12 Jakub Jelinek <jakub@redhat.com>
5231
5232 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5233 field.
5234 * target.c (gomp_target_fallback_firstprivate,
5235 gomp_target_unshare_firstprivate): Removed.
5236 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5237 before waiting for dependencies.
5238 (gomp_target_task_fn): Don't copy firstprivate vars here.
5239 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5240 firstprivate_copies here.
5241 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5242 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5243 explicit/implicit firstprivate.
5244
c42cfb5c
CP
52452016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5246
5247 PR lto/70289
5248 PR ipa/70348
5249 PR tree-optimization/70373
5250 PR middle-end/70533
5251 PR middle-end/70534
5252 PR middle-end/70535
5253 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5254 test.
5255 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5256 test.
5257 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5258 test.
5259 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5260 test.
5261 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5262 test.
5263 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5264 test.
5265 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5266 test.
5267 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5268 test.
5269 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5270 test.
5271 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5272 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5273 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5274 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5275 test.
5276 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5277 test.
5278 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5279 test.
5280 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5281 test.
5282 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5283 coverage.
5284 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5285 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5286 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5287 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5288 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5289 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5290 coverage.
5291 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5292 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5293 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5294 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5295 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5296 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5297 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5298 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5299 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5300 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5301 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5302 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5303 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5304 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5305 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5306
2620c80d
TS
53072016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5308 James Norris <jnorris@codesourcery.com>
5309 Nathan Sidwell <nathan@codesourcery.com>
5310 Julian Brown <julian@codesourcery.com>
5311 Cesar Philippidis <cesar@codesourcery.com>
5312 Chung-Lin Tang <cltang@codesourcery.com>
5313 Tom de Vries <tom@codesourcery.com>
5314
5315 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5316 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5317 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5318 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5319 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5320 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5321 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5322 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5323 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5324 XFAIL.
5325 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5326 Incorporate...
5327 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5328 file.
5329 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5330 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5331 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5332 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5333 Likewise.
5334 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5335 Likewise.
5336 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5337 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5338 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5339 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5340 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5341 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5342 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5343 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5344 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5345 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5346 Likewise.
5347 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5348 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5349 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5350 file...
5351 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5352 file into...
5353 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5354 file. Update.
5355 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5356 file.
5357 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5358 Likewise.
5359 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5360 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5361 ... this new file. Update.
5362 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5363 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5364 ... this new file. Update.
5365 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5366 file. Incorporate...
5367 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5368 file, and...
5369 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5370 file, and...
5371 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5372 file.
5373 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5374
ce83104b
TS
53752016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5376
5377 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5378 set-torture-options.
5379
6e0df3b7
TS
53802016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5381
5382 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5383 gcc-dg-runtest.
5384 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5385 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5386 -fno-builtin-acc_on_device instead of -O0.
5387 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5388 -O0.
5389 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5390 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5391 Likewise.
5392 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5393 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5394 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5395 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5396 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5397 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5398 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5399 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5400 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5401 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5402 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5403 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5404 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5405 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5406 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5407 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5408 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5409 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5410 Don't specify -O2.
5411 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5412 Likewise.
5413 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5414 Likewise.
5415
f9c8babb
ML
54162016-03-24 Martin Liska <mliska@suse.cz>
5417
5418 * plugin/plugin-hsa.c (packet_store_release): New function
5419 that is taken from the HSA runtime manual.
5420 (GOMP_OFFLOAD_run): Use the function.
5421
04833609
JJ
54222016-03-23 Jakub Jelinek <jakub@redhat.com>
5423
5424 PR c++/70376
5425 * testsuite/libgomp.c++/pr70376.C: New test.
5426
d79ee524
TV
54272016-03-23 Tom de Vries <tom@codesourcery.com>
5428
5429 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5430 initialization of lresult and lvresult.
5431 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5432
b6d1f2b5
JN
54332016-03-23 James Norris <jnorris@codesourcery.com>
5434 Daichi Fukuoka <dc-fukuoka@sgi.com>
5435
5436 PR libgomp/69414
5437 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5438 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5439 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5440 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5441
7397fce2
ML
54422016-03-23 Martin Liska <mliska@suse.cz>
5443
5444 PR hsa/70337
5445 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5446 argument just in case a dispatched kernel uses that argument.
5447
ee2e7d51
TS
54482016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5449
5450 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5451 -ftree-parallelize-loops/-fopenacc changes.
5452 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5453 Likewise.
5454 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5455 Likewise.
5456 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5457 Likewise.
5458 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5459 Likewise.
5460 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5461 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5462
be9f7143
TS
54632016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5464
5465 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5466 always_ld_library_path the path to libgcc_s.
5467
f6c1032d
CP
54682016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5469
5470 PR testsuite/70009
5471 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5472
5a6452e6
TV
54732016-03-09 Tom de Vries <tom@codesourcery.com>
5474
5475 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5476 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5477 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5478 Same.
5479 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5480 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5481 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5482 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5483
96a71bd5
MJ
54842016-03-07 Martin Jambor <mjambor@suse.cz>
5485
5486 * testsuite/lib/libgomp.exp
5487 (check_effective_target_hsa_offloading_selected_nocache): New.
5488 (check_effective_target_hsa_offloading_selected): Likewise.
5489 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5490 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5491 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5492 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5493 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5494 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5495 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5496 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5497 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5498 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5499 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5500 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5501 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5502 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5503 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5504 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5505 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5506
02e0b5b2
MJ
55072016-03-07 Martin Jambor <mjambor@suse.cz>
5508
5509 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5510 non-shared memory accelerators.
5511 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5512 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5513 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5514 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5515 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5516 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5517 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5518 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5519 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5520
45548f30
MJ
55212016-03-07 Martin Jambor <mjambor@suse.cz>
5522
5523 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5524 ALWAYS_CFLAGS.
5525
da3d46cb
JJ
55262016-03-02 Jakub Jelinek <jakub@redhat.com>
5527
5528 PR libgomp/69555
5529 * testsuite/libgomp.c++/pr69555-1.C: New test.
5530 * testsuite/libgomp.c++/pr69555-2.C: New test.
5531
622174b2
KM
55322016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5533 Martin Jambor <mjambor@suse.cz>
5534
5535 * testsuite/lib/libgomp.exp
5536 (check_effective_target_offload_device_shared_as): New proc.
5537 * testsuite/libgomp.c++/declare_target-1.C: New test.
5538
e6861a99
IV
55392016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5540
5541 PR driver/68463
5542 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5543
f99c3557
TS
55442016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5545
5546 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5547 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5548 dims.
5549 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5550 -ftree-parallelize-loops/-fopenacc changes.
5551 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5552 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5553 Likewise.
5554 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5555 Likewise.
5556 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5557 Likewise.
5558 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5559 Likewise.
5560 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5561 Likewise.
5562 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5563 Likewise.
5564 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5565 Likewise.
5566 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5567 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5568 Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5570 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5571 Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5573 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5574 Likewise.
5575
d5ace3b5
CP
55762016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5577
5578 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5579
f3609a89
JJ
55802016-02-19 Jakub Jelinek <jakub@redhat.com>
5581
5582 PR driver/69805
5583 * testsuite/libgomp.c/pr69805.c: New test.
5584
2175df99
TV
55852016-02-16 Tom de Vries <tom@codesourcery.com>
5586
5587 PR lto/67709
5588 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5589
17b6426c
TV
55902016-02-09 Tom de Vries <tom@codesourcery.com>
5591
5592 PR tree-optimization/69599
5593 * testsuite/libgomp.c/omp-nested-3.c: New test.
5594 * testsuite/libgomp.c/pr46032-2.c: New test.
5595 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5596 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5597
34df756c
TV
55982016-02-09 Tom de Vries <tom@codesourcery.com>
5599
5600 PR lto/69707
5601 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5602
5854ee30
AM
56032016-02-02 Alexander Monakov <amonakov@ispras.ru>
5604
5605 * testsuite/libgomp.c/target-31.c: Fix testcase.
5606
e70b6ad7
AM
56072016-02-02 Alexander Monakov <amonakov@ispras.ru>
5608
5609 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5610 clause.
5611 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5612 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5613 reduction and map clauses.
5614 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5615
bd78a45f
JN
56162016-02-02 James Norris <jnorris@codesourcery.com>
5617
5618 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5619
41d809d3
TS
56202016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5621
18f60146
TS
5622 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5623 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5624
1a06f5e6
TS
5625 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5626 cases.
5627
033ff3d1
TS
5628 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5629 variables.
5630 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5631 (hsa_kmt_lib): Set variables.
5632 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5633 always_ld_library_path.
5634 * Makefile.in: Regenerate.
5635 * configure: Likewise.
5636 * testsuite/Makefile.in: Likewise.
5637
4a88d9b7
TS
5638 * plugin/configfrag.ac (offload_additional_options)
5639 (offload_additional_lib_paths): Don't amend for hsa offloading.
5640 * configure: Regenerate.
5641
41d809d3
TS
5642 * plugin/configfrag.ac: Don't configure for offloading target if
5643 we don't build the corresponding plugin.
5644 * configure: Regenerate.
5645
b6adbb9f
NS
56462016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5647
5648 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5649 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5650
8dfdb419
TV
56512016-01-26 Tom de Vries <tom@codesourcery.com>
5652
5653 PR tree-optimization/69110
5654 * testsuite/libgomp.c/pr69110.c: New test.
5655
02ef53f2
RB
56562016-01-25 Richard Biener <rguenther@suse.de>
5657
5658 PR lto/69393
5659 * testsuite/libgomp.c++/pr69393.C: New testcase.
5660
eb4048f2
IV
56612016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5662
5663 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5664 function wasn't mapped to the device with non-shared memory.
5665
b235cdd5
IV
56662016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5667
5668 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5669
b2b40051
MJ
56702016-01-19 Martin Jambor <mjambor@suse.cz>
5671 Martin Liska <mliska@suse.cz>
5672
5673 * plugin/Makefrag.am: Add HSA plugin requirements.
5674 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5675 (HSA_RUNTIME_LIB): Likewise.
5676 (HSA_RUNTIME_CPPFLAGS): Likewise.
5677 (HSA_RUNTIME_INCLUDE): New substitution.
5678 (HSA_RUNTIME_LIB): Likewise.
5679 (HSA_RUNTIME_LDFLAGS): Likewise.
5680 (hsa-runtime): New configure option.
5681 (hsa-runtime-include): Likewise.
5682 (hsa-runtime-lib): Likewise.
5683 (PLUGIN_HSA): New substitution variable.
5684 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5685 configure options.
5686 (PLUGIN_HSA_CPPFLAGS): Likewise.
5687 (PLUGIN_HSA_LDFLAGS): Likewise.
5688 (PLUGIN_HSA_LIBS): Likewise.
5689 Check that we have access to HSA run-time.
5690 * libgomp-plugin.h (offload_target_type): New element
5691 OFFLOAD_TARGET_TYPE_HSA.
5692 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5693 args.
5694 (bool gomp_create_target_task): Updated.
5695 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5696 new field can_run_func.
5697 * libgomp_g.h (GOMP_target_ext): Update prototype.
5698 * oacc-host.c (host_run): Added a new parameter args.
5699 * target.c (calculate_firstprivate_requirements): New function.
5700 (copy_firstprivate_data): Likewise.
5701 (gomp_target_fallback_firstprivate): Use them.
5702 (gomp_target_unshare_firstprivate): New function.
5703 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5704 devices.
5705 (GOMP_target): Do host fallback for all shared memory devices. Do not
5706 pass any args to plugins.
5707 (GOMP_target_ext): Introduce device-specific argument parameter args.
5708 Allow host fallback if device shares memory. Do not remap data if
5709 device has shared memory.
5710 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5711 like host fallback for mappings.
5712 (GOMP_target_data): Treat shared memory devices like host fallback.
5713 (GOMP_target_data_ext): Likewise.
5714 (GOMP_target_update): Likewise.
5715 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5716 gomp_create_target_task.
5717 (GOMP_target_enter_exit_data): Likewise.
5718 (omp_target_alloc): Treat shared memory devices like host fallback.
5719 (omp_target_free): Likewise.
5720 (omp_target_is_present): Likewise.
5721 (omp_target_memcpy): Likewise.
5722 (omp_target_memcpy_rect): Likewise.
5723 (omp_target_associate_ptr): Likewise.
5724 (gomp_load_plugin_for_device): Also load can_run.
5725 * task.c (GOMP_PLUGIN_target_task_completion): Free
5726 firstprivate_copies.
5727 (gomp_create_target_task): Accept new argument args and store it to
5728 ttask.
5729 * plugin/plugin-hsa.c: New file.
5730
5d7804a9
TV
57312016-01-18 Tom de Vries <tom@codesourcery.com>
5732
5733 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5734 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5735 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5736 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5737 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5738 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5739 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5740 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5741 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5742 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5743 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5744 Same.
5745 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5746 Same.
5747 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5748 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5749 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5750 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5751 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5752 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5753 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5754 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5755 Same.
5756 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5757
cb11f3cf
JJ
57582016-01-15 Jakub Jelinek <jakub@redhat.com>
5759
5760 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5761
33a126a6
CP
57622016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5763
5764 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5765
cdf6119d
JN
57662016-01-12 James Norris <jnorris@codesourcery.com>
5767
5768 * libgomp.texi: Updates for OpenACC.
5769
0d58938e
AM
57702016-01-11 Alexander Monakov <amonakov@ispras.ru>
5771
5772 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5773
95918b49
L
57742016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5775
5776 PR fortran/66680
5777 * testsuite/libgomp.fortran/pr66680.f90: New test.
5778
8fc708b7
JJ
57792016-01-07 Jakub Jelinek <jakub@redhat.com>
5780
5781 PR middle-end/68960
5782 * testsuite/libgomp.c/pr68960.c: New test.
5783
e9b596c1
NS
57842016-01-06 Nathan Sidwell <nathan@acm.org>
5785
1a14faf2 5786 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
5787 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5788
21fa2a29
JJ
57892016-01-04 Jakub Jelinek <jakub@redhat.com>
5790
818ab71a
JJ
5791 Update copyright years.
5792
21fa2a29
JJ
5793 * libgomp.texi: Bump @copying's copyright year.
5794
9310efbc
NS
57952015-12-31 Nathan Sidwell <nathan@acm.org>
5796
5797 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5798 dg-additional-options syntax.
5799 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5800 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5801 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5802 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5803 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5804 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5805 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5806 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5807 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5808 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5809 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5810 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5811 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5812 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5813 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5814 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5815 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5816 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5817
4a38b02b
IV
58182015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5819
5820 * libgomp.h (REFCOUNT_LINK): Define.
5821 (struct splay_tree_key_s): Add link_key.
5822 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5823 Replace target address of the pointer with target address of newly
5824 mapped object in the splay tree. Set link pointer on target to the
5825 device address of the mapped object.
5826 (gomp_unmap_vars): Restore target address of the pointer in the splay
5827 tree for REFCOUNT_LINK objects after unmapping.
5828 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5829 declare target link" objects.
5830 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5831 "omp declare target link" objects, which were mapped for the image.
5832 (gomp_exit_data): Restore target address of the pointer in the splay
5833 tree for REFCOUNT_LINK objects after unmapping.
5834 * testsuite/libgomp.c/target-link-1.c: New file.
5835
d84ffc0a
IV
58362015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5837
5838 * libgomp.h (gomp_device_state): New enum.
5839 (struct gomp_device_descr): Replace is_initialized with state.
5840 (gomp_fini_device): Remove declaration.
5841 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5842 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5843 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5844 (acc_set_device_type): Use state instead of is_initialized.
5845 (acc_set_device_num): Likewise.
5846 * target.c (resolve_device): Use state instead of is_initialized.
5847 Do not initialize finalized device.
5848 (gomp_map_vars): Do nothing if device is finalized.
5849 (gomp_unmap_vars): Likewise.
5850 (gomp_update): Likewise.
5851 (GOMP_offload_register_ver): Use state instead of is_initialized.
5852 (GOMP_offload_unregister_ver): Likewise.
5853 (gomp_init_device): Likewise.
5854 (gomp_unload_device): Likewise.
5855 (gomp_fini_device): Remove.
5856 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5857 (GOMP_target): Go to host fallback if device is finalized.
5858 (GOMP_target_ext): Likewise.
5859 (gomp_exit_data): Do nothing if device is finalized.
5860 (gomp_target_task_fn): Go to host fallback if device is finalized.
5861 (gomp_target_fini): New static function.
5862 (gomp_target_init): Use state instead of is_initialized.
5863 Call gomp_target_fini at exit.
5864
76680678
TV
58652015-12-09 Tom de Vries <tom@codesourcery.com>
5866
5867 PR tree-optimization/68716
5868 * testsuite/libgomp.c/omp-nested-2.c: New test.
5869
ff7a55bf
TS
58702015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5871
5872 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5873 target openacc_nvidia_accel_selected.
5874 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5875 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5876 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5877 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5878
37d5ad46
JB
58792015-12-01 Julian Brown <julian@codesourcery.com>
5880 James Norris <James_Norris@mentor.com>
5881
5882 * oacc-parallel.c (GOACC_host_data): New function.
5883 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5884 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5885 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5886 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5887 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5888 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5889 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5890
db941d7e
CP
58912015-11-30 James Norris <jnorris@codesourcery.com>
5892 Cesar Philippidis <cesar@codesourcery.com>
5893
5894 libgomp/
5895 * libgomp.oacc-fortran/routine-5.f90: New test.
5896 * libgomp.oacc-fortran/routine-7.f90: New test.
5897 * libgomp.oacc-fortran/routine-9.f90: New test.
5898
e0ca27c5
TV
58992015-11-30 Tom de Vries <tom@codesourcery.com>
5900
5901 PR tree-optimization/46032
5902 * testsuite/libgomp.c/pr46032.c: New test.
5903
aec17bfe
JJ
59042015-11-27 Jakub Jelinek <jakub@redhat.com>
5905
8e4e4719
JJ
5906 PR libgomp/68579
5907 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5908 (gomp_create_target_task): Call it before freeing
5909 GOMP_TARGET_TASK_DATA tasks.
5910
aec17bfe
JJ
5911 PR c/63326
5912 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5913 in between case label and OpenMP standalone directives.
5914 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5915
6cfe90e6
DE
59162015-11-26 David Edelsohn <dje.gcc@gmail.com>
5917
5918 * configure: Regenerate.
5919
0e65fd7d
JJ
59202015-11-26 Jakub Jelinek <jakub@redhat.com>
5921
5922 * testsuite/libgomp.c/target-35.c: New test.
5923
dc7a8b4b
JN
59242015-11-22 James Norris <jnorris@codesourcery.com>
5925 Cesar Philippidis <cesar@codesourcery.com>
5926
5927 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5928 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5929 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5930 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5931 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5932
48a78aee
JJ
59332015-11-20 Jakub Jelinek <jakub@redhat.com>
5934
5935 PR middle-end/68221
5936 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5937 * testsuite/libgomp.c/reduction-12.c: Likewise.
5938 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5939 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5940
2d256816
NS
59412015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5942
5943 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5944 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5945 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5946 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5947 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5948 and fix.
5949 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5950 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5951
33f47f42
NS
59522015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5953
5954 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5955 worker & gang cases.
5956 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5957
3d7bfee0
CP
59582015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5959
5960 * config/nvptx/priority_queue.c: New file.
5961
00b9bd52
JJ
59622015-11-14 Jakub Jelinek <jakub@redhat.com>
5963
5964 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5965 sections.
5966
e4606348
JJ
59672015-11-14 Jakub Jelinek <jakub@redhat.com>
5968 Aldy Hernandez <aldyh@redhat.com>
5969 Ilya Verbin <ilya.verbin@intel.com>
5970
5971 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5972 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5973 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5974 iterators or IV by chunk size.
5975 * parallel.c (gomp_resolve_num_threads): Don't assume that
5976 if thr->ts.team is non-NULL, then pool must be non-NULL.
5977 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5978 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5979 GOMP_PLUGIN_target_task_completion.
5980 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5981 * Makefile.in: Regenerate.
5982 * libgomp.h: Shuffle prototypes and forward definitions around so
5983 priority queues can be defined.
5984 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5985 (enum gomp_target_task_state): New enum.
5986 (struct gomp_target_task): Add state, tgt, task and team fields.
5987 (gomp_create_target_task): Change return type to bool, add
5988 state argument.
5989 (gomp_target_task_fn): Change return type to bool.
5990 (struct gomp_device_descr): Add async_run_func.
5991 (struct gomp_task): Remove children, next_child, prev_child,
5992 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5993 Add pnode field.
5994 (struct gomp_taskgroup): Remove children.
5995 Add taskgroup_queue.
5996 (struct gomp_team): Change task_queue type to a priority queue.
5997 (splay_compare): Define inline.
5998 (priority_queue_offset): New.
5999 (priority_node_to_task): New.
6000 (task_to_priority_node): New.
6001 * oacc-mem.c: Do not include splay-tree.h.
6002 * priority_queue.c: New file.
6003 * priority_queue.h: New file.
6004 * splay-tree.c: Do not include splay-tree.h.
6005 (splay_tree_foreach_internal): New.
6006 (splay_tree_foreach): New.
6007 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6008 (splay_tree_callback): Define typedef.
6009 * target.c (splay_compare): Move to libgomp.h.
6010 (GOMP_target): Don't adjust *thr in any way around running offloaded
6011 task.
6012 (GOMP_target_ext): Likewise. Handle target nowait.
6013 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6014 return value from gomp_create_target_task, if false, fallthrough
6015 as if no dependencies exist.
6016 (gomp_target_task_fn): Change return type to bool, return true
6017 if the task should have another part scheduled later. Handle
6018 target nowait.
6019 (gomp_load_plugin_for_device): Initialize async_run.
6020 * task.c (gomp_init_task): Initialize children_queue.
6021 (gomp_clear_parent_in_list): New.
6022 (gomp_clear_parent_in_tree): New.
6023 (gomp_clear_parent): Handle priorities.
6024 (GOMP_task): Likewise.
6025 (priority_queue_move_task_first,
6026 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6027 New functions.
6028 (gomp_create_target_task): Use priority queues. Change return type
6029 to bool, add state argument, return false if for async
6030 {{enter,exit} data,update} constructs no dependencies need to be
6031 waited for, handle target nowait. Set task->fn to NULL instead of
6032 gomp_target_task_fn.
6033 (verify_children_queue): Remove.
6034 (priority_list_upgrade_task): New.
6035 (priority_queue_upgrade_task): New.
6036 (verify_task_queue): Remove.
6037 (priority_list_downgrade_task): New.
6038 (priority_queue_downgrade_task): New.
6039 (gomp_task_run_pre): Use priority queues.
6040 Abstract code out to priority_queue_downgrade_task.
6041 (gomp_task_run_post_handle_dependers): Use priority queues.
6042 (gomp_task_run_post_remove_parent): Likewise.
6043 (gomp_task_run_post_remove_taskgroup): Likewise.
6044 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6045 tasks specially.
6046 (GOMP_taskwait): Likewise.
6047 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6048 priority-queue_upgrade_task.
6049 (GOMP_taskgroup_start): Use priority queues.
6050 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6051 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6052 barrier.
6053 * taskloop.c (GOMP_taskloop): Handle priorities.
6054 * team.c (gomp_new_team): Call priority_queue_init.
6055 (free_team): Call priority_queue_free.
6056 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6057 team created for target nowait in implicit parallel region.
6058 (gomp_team_start): For nested check, test thr->ts.level instead of
6059 thr->ts.team != NULL.
6060 * testsuite/libgomp.c/doacross-3.c: New test.
6061 * testsuite/libgomp.c/ordered-5.c: New test.
6062 * testsuite/libgomp.c/priority.c: New test.
6063 * testsuite/libgomp.c/target-31.c: New test.
6064 * testsuite/libgomp.c/target-32.c: New test.
6065 * testsuite/libgomp.c/target-33.c: New test.
6066 * testsuite/libgomp.c/target-34.c: New test.
6067
1d1ab74f
NS
60682015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6069
c5a64cfe
NS
6070 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6071
1d1ab74f
NS
6072 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6073 loop is sequential.
6074
dd3c1b14
NS
60752015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6076
6077 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6078 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6079
6e232ba4
JN
60802015-11-12 James Norris <jnorris@codesourcery.com>
6081 Joseph Myers <joseph@codesourcery.com>
6082
6083 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6084 * oacc-parallel.c (GOACC_declare): New function.
6085 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6086 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6087 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6088 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6089 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6090
fffeedeb
NS
60912015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6092
6093 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6094
182190f2
NS
60952015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6096
6097 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6098 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6099
36fa0f5f
NS
61002015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6101
d350c40c
NS
6102 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6103 inadvertent commit.
6104
61052015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6106
36fa0f5f
NS
6107 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6108 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6109 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6110 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6111 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6112
66a5f0b4
TS
61132015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6114
6115 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6116 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6117
e01d41e5
JJ
61182015-11-05 Jakub Jelinek <jakub@redhat.com>
6119 Ilya Verbin <ilya.verbin@intel.com>
6120
6121 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6122 GOMP_loop_nonmonotonic_dynamic_start,
6123 GOMP_loop_nonmonotonic_guided_next,
6124 GOMP_loop_nonmonotonic_guided_start,
6125 GOMP_loop_ull_nonmonotonic_dynamic_next,
6126 GOMP_loop_ull_nonmonotonic_dynamic_start,
6127 GOMP_loop_ull_nonmonotonic_guided_next,
6128 GOMP_loop_ull_nonmonotonic_guided_start,
6129 GOMP_parallel_loop_nonmonotonic_dynamic,
6130 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6131 (GOMP_target_41): Renamed to ...
6132 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6133 arguments.
6134 (GOMP_target_data_41): Renamed to ...
6135 (GOMP_target_data_ext): ... this.
6136 (GOMP_target_update_41): Renamed to ...
6137 (GOMP_target_update_ext): ... this.
6138 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6139 GOMP_target_data_ext and GOMP_target_update_ext instead of
6140 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6141 Export GOMP_loop_nonmonotonic_dynamic_next,
6142 GOMP_loop_nonmonotonic_dynamic_start,
6143 GOMP_loop_nonmonotonic_guided_next,
6144 GOMP_loop_nonmonotonic_guided_start,
6145 GOMP_loop_ull_nonmonotonic_dynamic_next,
6146 GOMP_loop_ull_nonmonotonic_dynamic_start,
6147 GOMP_loop_ull_nonmonotonic_guided_next,
6148 GOMP_loop_ull_nonmonotonic_guided_start,
6149 GOMP_parallel_loop_nonmonotonic_dynamic and
6150 GOMP_parallel_loop_nonmonotonic_guided.
6151 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6152 GOMP_parallel_loop_nonmonotonic_guided,
6153 GOMP_loop_nonmonotonic_dynamic_start,
6154 GOMP_loop_nonmonotonic_guided_start,
6155 GOMP_loop_nonmonotonic_dynamic_next,
6156 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6157 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6158 GOMP_loop_ull_nonmonotonic_guided_start,
6159 GOMP_loop_ull_nonmonotonic_dynamic_next,
6160 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6161 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6162 functions.
6163 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6164 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6165 Use gomp_map_val function.
6166 (gomp_target_fallback_firstprivate): New static function.
6167 (GOMP_target_41): Renamed to ...
6168 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6169 arguments. Move firstprivate fallback handling into a new
6170 function.
6171 (GOMP_target_data_41): Renamed to ...
6172 (GOMP_target_data_ext): ... this.
6173 (GOMP_target_update_41): Renamed to ...
6174 (GOMP_target_update_ext): ... this.
6175 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6176 gomp_map_0len_lookup instead of gomp_map_lookup.
6177 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6178 gomp_map_lookup.
6179 * testsuite/libgomp.c/target-28.c: Likewise.
6180 * testsuite/libgomp.c/monotonic-1.c: New test.
6181 * testsuite/libgomp.c/monotonic-2.c: New test.
6182 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6183 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6184 * testsuite/libgomp.c/pr66199-5.c: New test.
6185 * testsuite/libgomp.c/pr66199-6.c: New test.
6186 * testsuite/libgomp.c/pr66199-7.c: New test.
6187 * testsuite/libgomp.c/pr66199-8.c: New test.
6188 * testsuite/libgomp.c/pr66199-9.c: New test.
6189 * testsuite/libgomp.c/reduction-11.c: New test.
6190 * testsuite/libgomp.c/reduction-12.c: New test.
6191 * testsuite/libgomp.c/reduction-13.c: New test.
6192 * testsuite/libgomp.c/reduction-14.c: New test.
6193 * testsuite/libgomp.c/reduction-15.c: New test.
6194 * testsuite/libgomp.c/target-12.c (main): Adjust for
6195 omp_target_is_present change for one-past-last element.
6196 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6197 the same var is both mapped and privatized.
6198 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6199 handling of zero-length array sections.
6200 * testsuite/libgomp.c/target-28.c: New test.
6201 * testsuite/libgomp.c/target-29.c: New test.
6202 * testsuite/libgomp.c/target-30.c: New test.
6203 * testsuite/libgomp.c/target-teams-1.c: New test.
6204 * testsuite/libgomp.c++/member-6.C: New test.
6205 * testsuite/libgomp.c++/member-7.C: New test.
6206 * testsuite/libgomp.c++/monotonic-1.C: New test.
6207 * testsuite/libgomp.c++/monotonic-2.C: New test.
6208 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6209 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6210 * testsuite/libgomp.c++/pr66199-3.C: New test.
6211 * testsuite/libgomp.c++/pr66199-4.C: New test.
6212 * testsuite/libgomp.c++/pr66199-5.C: New test.
6213 * testsuite/libgomp.c++/pr66199-6.C: New test.
6214 * testsuite/libgomp.c++/pr66199-7.C: New test.
6215 * testsuite/libgomp.c++/pr66199-8.C: New test.
6216 * testsuite/libgomp.c++/pr66199-9.C: New test.
6217 * testsuite/libgomp.c++/reduction-11.C: New test.
6218 * testsuite/libgomp.c++/reduction-12.C: New test.
6219 * testsuite/libgomp.c++/target-13.C: New test.
6220 * testsuite/libgomp.c++/target-14.C: New test.
6221 * testsuite/libgomp.c++/target-15.C: New test.
6222 * testsuite/libgomp.c++/target-16.C: New test.
6223 * testsuite/libgomp.c++/target-17.C: New test.
6224 * testsuite/libgomp.c++/target-18.C: New test.
6225 * testsuite/libgomp.c++/target-19.C: New test.
6226
ccc8282b
NS
62272015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6228
6229 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6230 and reduction copy.
6231 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6232 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6233 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6234 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6235 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6236 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6237 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6238 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6239 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6240 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6241 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6242 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6243 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6244 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6245
5d6823a2
NS
62462015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6247
6248 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6249 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6250 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6251 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6252 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6253 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6254 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6255 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6256
5c06742f
NS
62572015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6258
6259 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6260 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6261 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6262 * oacc-host.c (host_openacc_exec): Likewise.
6263 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6264
4bf9e5a8
TS
62652015-11-03 Julian Brown <julian@codesourcery.com>
6266 Thomas Schwinge <thomas@codesourcery.com>
6267
6268 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6269 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6270 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6271 Likewise.
6272 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6273 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6274
62752015-11-03 James Norris <jnorris@codesourcery.com>
6276
6277 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6278 file.
6279 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6280 Likewise.
6281 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6282 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6283 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6284 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6285 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6286
a0e701d8
NS
62872015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6288
6289 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6290 compatibility.
6291 (enum acc_async_t): Reformat.
6292 (acc_on_device): Declare compatible with builtin and provide C++
6293 wrapper.
6294 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6295
41e977ac
TS
62962015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6297 Cesar Philippidis <cesar@codesourcery.com>
6298
6299 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6300 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6301 ... this. Add a description of the test at the top of the file.
6302 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6303 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6304 ... this. Add a description of the test at the top of the file.
6305
e3091406
NS
63062015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6307
6308 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6309 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6310 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6311 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6312 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6313 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6314
a1c1908b
NS
63152015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6316
6317 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6318 dimensions.
6319
b3962a4a
TS
63202015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6321
6322 PR testsuite/68063
6323 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6324
88bae6f4
TS
63252015-10-27 James Norris <jnorris@codesourcery.com>
6326
6327 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6328 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6329
8baa7864
TS
63302015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6331
bdeb752c
TS
6332 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6333 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6334
ecd4fd43
TS
6335 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6336 acc_device_nvidia usage.
6337 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6338 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6339 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6340
aa8b7d30
TS
6341 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6342 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6343
7c8f138d
TS
6344 PR libgomp/66518
6345 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6346
8baa7864
TS
6347 PR libgomp/65437
6348 PR libgomp/66518
6349 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6350 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6351
88ebcde5
TV
63522015-10-23 Tom de Vries <tom@codesourcery.com>
6353
6354 PR testsuite/68063
6355 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6356
9ef83c04
NS
63572015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6358
6359 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6360 vector_length.
6361 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6362
3837c6d6
IV
63632015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6364 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6365
6366 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6367 to 0 when mapnum is 0.
6368
ac8a1965
SH
63692015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6370
6371 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6372 Cast to int from int32_t.
6373
d9a6bd32
JJ
63742015-10-13 Jakub Jelinek <jakub@redhat.com>
6375 Aldy Hernandez <aldyh@redhat.com>
6376 Ilya Verbin <ilya.verbin@intel.com>
6377
6378 * config/linux/affinity.c (omp_get_place_num_procs,
6379 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6380 * config/linux/doacross.h: New file.
6381 * config/posix/affinity.c (omp_get_place_num_procs,
6382 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6383 * config/posix/doacross.h: New file.
6384 * env.c: Include gomp-constants.h.
6385 (struct gomp_task_icv): Rename run_sched_modifier to
6386 run_sched_chunk_size.
6387 (gomp_max_task_priority_var): New variable.
6388 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6389 (handle_omp_display_env): Change _OPENMP value from 201307 to
6390 201511. Print OMP_MAX_TASK_PRIORITY.
6391 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6392 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6393 chunk_size and run_sched_modifier to run_sched_chunk_size.
6394 (omp_get_max_task_priority, omp_get_initial_device,
6395 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6396 omp_get_partition_place_nums): New functions.
6397 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6398 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6399 to chunk_size.
6400 (omp_get_num_places_, omp_get_place_num_procs_,
6401 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6402 omp_get_place_proc_ids_8_, omp_get_place_num_,
6403 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6404 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6405 omp_get_max_task_priority_): New functions.
6406 * libgomp_g.h (GOMP_loop_doacross_static_start,
6407 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6408 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6409 GOMP_loop_ull_doacross_dynamic_start,
6410 GOMP_loop_ull_doacross_guided_start,
6411 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6412 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6413 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6414 GOMP_target_data_41, GOMP_target_update_41,
6415 GOMP_target_enter_exit_data): New prototypes.
6416 (GOMP_task): Add prototype argument.
6417 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6418 (struct gomp_doacross_work_share): New type.
6419 (struct gomp_work_share): Add doacross field.
6420 (struct gomp_task_icv): Rename run_sched_modifier to
6421 run_sched_chunk_size.
6422 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6423 GOMP_TASK_UNDEFERRED. Add comments.
6424 (struct gomp_task_depend_entry): Add comments.
6425 (struct gomp_task): Likewise.
6426 (struct gomp_taskgroup): Likewise.
6427 (struct gomp_target_task): New type.
6428 (struct gomp_team): Add comment.
6429 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6430 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6431 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6432 (struct target_var_desc): New type.
6433 (struct target_mem_desc): Adjust comment. Use struct
6434 target_var_desc instead of splay_tree_key for list.
6435 (REFCOUNT_INFINITY): Define.
6436 (struct splay_tree_key_s): Remove copy_from field.
6437 (struct gomp_device_descr): Add dev2dev_func field.
6438 (enum gomp_map_vars_kind): New enum.
6439 (gomp_map_vars): Add one argument.
6440 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6441 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6442 omp_get_place_num_procs, omp_get_place_num_procs_,
6443 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6444 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6445 omp_get_place_num_, omp_get_partition_num_places,
6446 omp_get_partition_num_places_, omp_get_partition_place_nums,
6447 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6448 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6449 omp_target_free, omp_target_is_present, omp_target_memcpy,
6450 omp_target_memcpy_rect, omp_target_associate_ptr and
6451 omp_target_disassociate_ptr.
6452 (GOMP_4.0.2): Renamed to ...
6453 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6454 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6455 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6456 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6457 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6458 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6459 GOMP_loop_ull_doacross_guided_start,
6460 GOMP_loop_ull_doacross_runtime_start,
6461 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6462 GOMP_doacross_ull_wait.
6463 * libgomp.texi: Document omp_get_max_task_priority.
6464 Rename modifier argument to chunk_size for omp_set_schedule and
6465 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6466 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6467 to run_sched_chunk_size renaming.
6468 (GOMP_loop_ordered_runtime_start): Likewise.
6469 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6470 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6471 GOMP_parallel_loop_runtime_start): New functions.
6472 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6473 to run_sched_chunk_size renaming.
6474 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6475 GOMP_loop_doacross_guided_start): New functions or aliases.
6476 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6477 run_sched_modifier to run_sched_chunk_size renaming.
6478 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6479 (gomp_loop_ull_doacross_static_start,
6480 gomp_loop_ull_doacross_dynamic_start,
6481 gomp_loop_ull_doacross_guided_start,
6482 GOMP_loop_ull_doacross_runtime_start): New functions.
6483 (GOMP_loop_ull_doacross_static_start,
6484 GOMP_loop_ull_doacross_dynamic_start,
6485 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6486 * oacc-mem.c (acc_map_data, present_create_copy,
6487 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6488 to gomp_map_vars.
6489 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6490 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6491 instead of false to gomp_map_vars.
6492 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6493 * omp.h.in (omp_lock_hint_t): New type.
6494 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6495 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6496 omp_get_place_num, omp_get_partition_num_places,
6497 omp_get_partition_place_nums, omp_get_initial_device,
6498 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6499 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6500 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6501 prototypes.
6502 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6503 (omp_lock_hint_none, omp_lock_hint_uncontended,
6504 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6505 omp_lock_hint_speculative): New parameters.
6506 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6507 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6508 omp_get_place_num, omp_get_partition_num_places,
6509 omp_get_partition_place_nums, omp_get_initial_device,
6510 omp_get_max_task_priority): New interfaces.
6511 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6512 to chunk_size.
6513 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6514 (omp_lock_hint_none, omp_lock_hint_uncontended,
6515 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6516 omp_lock_hint_speculative): New parameters.
6517 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6518 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6519 omp_get_place_num, omp_get_partition_num_places,
6520 omp_get_partition_place_nums, omp_get_initial_device,
6521 omp_get_max_task_priority): New functions and subroutines.
6522 * ordered.c: Include stdarg.h and string.h.
6523 (MAX_COLLAPSED_BITS): Define.
6524 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6525 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6526 GOMP_doacross_ull_wait): New functions.
6527 * target.c: Include errno.h.
6528 (resolve_device): If device is not initialized, call
6529 gomp_init_device on it.
6530 (gomp_map_lookup): New function.
6531 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6532 Don't bump refcount if REFCOUNT_INFINITY. Handle
6533 GOMP_MAP_ALWAYS_TO_P.
6534 (get_kind): Rename is_openacc argument to short_mapkind.
6535 (gomp_map_pointer): Use gomp_map_lookup.
6536 (gomp_map_fields_existing): New function.
6537 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6538 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6539 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6540 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6541 Adjust for tgt->list changed type and copy_from living in there.
6542 (gomp_copy_from_async): Adjust for tgt->list changed type and
6543 copy_from living in there.
6544 (gomp_unmap_vars): Likewise.
6545 (gomp_update): Likewise. Rename is_openacc argument to
6546 short_mapkind. Don't fail if object is not mapped.
6547 (gomp_load_image_to_device): Initialize refcount to
6548 REFCOUNT_INFINITY.
6549 (gomp_target_fallback): New function.
6550 (gomp_get_target_fn_addr): Likewise.
6551 (GOMP_target): Adjust gomp_map_vars caller, use
6552 gomp_get_target_fn_addr and gomp_target_fallback.
6553 (GOMP_target_41): New function.
6554 (gomp_target_data_fallback): New function.
6555 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6556 (GOMP_target_data_41): New function.
6557 (GOMP_target_update): Adjust gomp_update caller.
6558 (GOMP_target_update_41): New function.
6559 (gomp_exit_data, GOMP_target_enter_exit_data,
6560 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6561 omp_target_is_present, omp_target_memcpy,
6562 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6563 omp_target_associate_ptr, omp_target_disassociate_ptr,
6564 gomp_load_plugin_for_device): New functions.
6565 * task.c: Include gomp-constants.h. Include taskloop.c
6566 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6567 (gomp_task_handle_depend): New function.
6568 (GOMP_task): Use it. Add priority argument. Use
6569 gomp-constant.h constants instead of hardcoded numbers.
6570 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6571 (gomp_create_target_task): New function.
6572 (verify_children_queue, verify_taskgroup_queue,
6573 verify_task_queue): New functions.
6574 (gomp_task_run_pre): Call verify_*_queue functions.
6575 If an upcoming tied task is about to leave the sibling or
6576 taskgroup queues in an invalid state, adjust appropriately.
6577 Remove taskgroup argument. Add comments.
6578 (gomp_task_run_post_handle_dependers): Add comments.
6579 (gomp_task_run_post_remove_parent): Likewise.
6580 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6581 (GOMP_taskwait): Likewise. Add comments.
6582 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6583 problem such that the first non parent_depends_on task does not
6584 end up at the end of the children queue.
6585 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6586 GOMP_TASK_UNDEFERRED.
6587 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6588 * taskloop.c: New file.
6589 * testsuite/lib/libgomp.exp
6590 (check_effective_target_offload_device_nonshared_as): New proc.
6591 * testsuite/libgomp.c/affinity-2.c: New test.
6592 * testsuite/libgomp.c/doacross-1.c: New test.
6593 * testsuite/libgomp.c/doacross-2.c: New test.
6594 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6595 Add map clause to target.
6596 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6597 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6598 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6599 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6600 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6601 Likewise.
6602 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6603 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6604 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6605 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6606 not defined. Use those where needed.
6607 * testsuite/libgomp.c/for-4.c: New test.
6608 * testsuite/libgomp.c/for-5.c: New test.
6609 * testsuite/libgomp.c/for-6.c: New test.
6610 * testsuite/libgomp.c/linear-1.c: New test.
6611 * testsuite/libgomp.c/ordered-4.c: New test.
6612 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6613 only allowed on the loop iterator.
6614 * testsuite/libgomp.c/pr66199-3.c: New test.
6615 * testsuite/libgomp.c/pr66199-4.c: New test.
6616 * testsuite/libgomp.c/reduction-7.c: New test.
6617 * testsuite/libgomp.c/reduction-8.c: New test.
6618 * testsuite/libgomp.c/reduction-9.c: New test.
6619 * testsuite/libgomp.c/reduction-10.c: New test.
6620 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6621 map(tofrom:s).
6622 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6623 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6624 * testsuite/libgomp.c/target-11.c: New test.
6625 * testsuite/libgomp.c/target-12.c: New test.
6626 * testsuite/libgomp.c/target-13.c: New test.
6627 * testsuite/libgomp.c/target-14.c: New test.
6628 * testsuite/libgomp.c/target-15.c: New test.
6629 * testsuite/libgomp.c/target-16.c: New test.
6630 * testsuite/libgomp.c/target-17.c: New test.
6631 * testsuite/libgomp.c/target-18.c: New test.
6632 * testsuite/libgomp.c/target-19.c: New test.
6633 * testsuite/libgomp.c/target-20.c: New test.
6634 * testsuite/libgomp.c/target-21.c: New test.
6635 * testsuite/libgomp.c/target-22.c: New test.
6636 * testsuite/libgomp.c/target-23.c: New test.
6637 * testsuite/libgomp.c/target-24.c: New test.
6638 * testsuite/libgomp.c/target-25.c: New test.
6639 * testsuite/libgomp.c/target-26.c: New test.
6640 * testsuite/libgomp.c/target-27.c: New test.
6641 * testsuite/libgomp.c/taskloop-1.c: New test.
6642 * testsuite/libgomp.c/taskloop-2.c: New test.
6643 * testsuite/libgomp.c/taskloop-3.c: New test.
6644 * testsuite/libgomp.c/taskloop-4.c: New test.
6645 * testsuite/libgomp.c++/ctor-13.C: New test.
6646 * testsuite/libgomp.c++/doacross-1.C: New test.
6647 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6648 Replace offload_device with offload_device_nonshared_as.
6649 * testsuite/libgomp.c++/for-12.C: New test.
6650 * testsuite/libgomp.c++/for-13.C: New test.
6651 * testsuite/libgomp.c++/for-14.C: New test.
6652 * testsuite/libgomp.c++/linear-1.C: New test.
6653 * testsuite/libgomp.c++/member-1.C: New test.
6654 * testsuite/libgomp.c++/member-2.C: New test.
6655 * testsuite/libgomp.c++/member-3.C: New test.
6656 * testsuite/libgomp.c++/member-4.C: New test.
6657 * testsuite/libgomp.c++/member-5.C: New test.
6658 * testsuite/libgomp.c++/ordered-1.C: New test.
6659 * testsuite/libgomp.c++/reduction-5.C: New test.
6660 * testsuite/libgomp.c++/reduction-6.C: New test.
6661 * testsuite/libgomp.c++/reduction-7.C: New test.
6662 * testsuite/libgomp.c++/reduction-8.C: New test.
6663 * testsuite/libgomp.c++/reduction-9.C: New test.
6664 * testsuite/libgomp.c++/reduction-10.C: New test.
6665 * testsuite/libgomp.c++/reference-1.C: New test.
6666 * testsuite/libgomp.c++/simd14.C: New test.
6667 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6668 * testsuite/libgomp.c++/target-5.C: New test.
6669 * testsuite/libgomp.c++/target-6.C: New test.
6670 * testsuite/libgomp.c++/target-7.C: New test.
6671 * testsuite/libgomp.c++/target-8.C: New test.
6672 * testsuite/libgomp.c++/target-9.C: New test.
6673 * testsuite/libgomp.c++/target-10.C: New test.
6674 * testsuite/libgomp.c++/target-11.C: New test.
6675 * testsuite/libgomp.c++/target-12.C: New test.
6676 * testsuite/libgomp.c++/taskloop-1.C: New test.
6677 * testsuite/libgomp.c++/taskloop-2.C: New test.
6678 * testsuite/libgomp.c++/taskloop-3.C: New test.
6679 * testsuite/libgomp.c++/taskloop-4.C: New test.
6680 * testsuite/libgomp.c++/taskloop-5.C: New test.
6681 * testsuite/libgomp.c++/taskloop-6.C: New test.
6682 * testsuite/libgomp.c++/taskloop-7.C: New test.
6683 * testsuite/libgomp.c++/taskloop-8.C: New test.
6684 * testsuite/libgomp.c++/taskloop-9.C: New test.
6685 * testsuite/libgomp.fortran/affinity1.f90: New test.
6686 * testsuite/libgomp.fortran/affinity2.f90: New test.
6687
1f600fea
TV
66882015-10-13 Tom de Vries <tom@codesourcery.com>
6689
6690 PR tree-optimization/67476
6691 * testsuite/libgomp.c/autopar-3.c: New test.
6692 * testsuite/libgomp.c/autopar-4.c: New test.
6693 * testsuite/libgomp.c/autopar-5.c: New test.
6694 * testsuite/libgomp.c/autopar-6.c: New test.
6695 * testsuite/libgomp.c/autopar-7.c: New test.
6696 * testsuite/libgomp.c/autopar-8.c: New test.
6697
058a654b
JN
66982015-10-12 James Norris <jnorris@codesourcery.com>
6699
6700 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6701 initializer.
6702
9e531d37
DM
67032015-10-09 David Malcolm <dmalcolm@redhat.com>
6704
6705 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6706 using load_gcc_lib.
6707
113020dc
TS
67082015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6709
6710 * oacc-ptx.h: Remove file, moving its content into...
6711 * config/nvptx/fortran.c: ... here...
6712 * config/nvptx/oacc-init.c: ..., here...
6713 * config/nvptx/oacc-parallel.c: ..., and here.
6714 * config/nvptx/openacc.f90: New file.
6715 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6716 (link_ptx): Don't link in predefined bits of PTX code.
6717
cc3cd79b
NS
67182015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6719 Bernd Schmidt <bernds@codesourcery.com>
6720
6721 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6722 (struct targ_ptx_obj): New.
6723 (nvptx_tdata): Move earlier, change data format.
6724 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6725 objects.
6726 (GOMP_OFFLOAD_load_image): Adjust.
6727
4e2a5450
TS
67282015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6729
6730 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6731 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6734 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6735 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6736 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6737 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6740 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6742 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6744 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6747 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6749 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6752 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6756 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6757 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6758 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6759 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6760 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6761 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6762 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6763 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6764 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6765 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6766 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6767 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6768 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6769 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6770 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6771 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6772 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6773 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6774 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6775 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6776 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6777 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6778 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6779 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6780 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6781 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6782 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6783 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6784 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6785 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6786 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6787 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6788 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6789 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6790 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6791 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6792 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6793
164453bb
NS
67942015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6795
6796 * oacc-init.c (acc_on_device): Force optimization level.
6797
a12a0437
NS
67982015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6799
6800 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6801 (cuda_errlist): Delete.
6802 (cuda_error): Reimplement.
6803
3e32ee19
NS
68042015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6805
6806 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6807 array.
6808 * libgomp.map (GOACC_parallel_keyed): New.
6809 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6810 all callers.
6811 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6812 and take keyed varargs list. Adjust call to exec_func.
6813 (GOACC_parallel): Force host fallback.
6814 * libgomp_g.h (GOACC_parallel): Remove.
6815 (GOACC_parallel_keyed): Declare.
6816 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 6817 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
6818 (nvptx_exec): Lose separate geometry args, take array. Process
6819 dynamic dimensions and adjust.
6820 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6821 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6822 data.
6823 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6824 passing.
6825 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6826 passing.
6827
6bb4c3e2
CLT
68282015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6829
6830 PR libgomp/67141
6831 * oacc-int.h (goacc_host_init): Add declaration.
6832 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6833 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6834
74032f47 68352015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 6836 Sebastian Pop <s.pop@samsung.com>
74032f47 6837
93d90219 6838 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
6839 match o/p.
6840 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6841 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6842 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6843 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6844 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6845
97875f4a
JJ
68462015-09-03 Jakub Jelinek <jakub@redhat.com>
6847
6848 * configure.tgt: Add missing ;; in between nvptx and rtems
6849 snippets.
6850
06441dd5
SH
68512015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6852
6853 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6854 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6855 (gomp_thread_pool_reservoir): Add priority member.
6856 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6857 priority.
6858 (parse_thread_pools): Likewise.
6859 * team.c (gomp_team_start): Call configuration provided
6860 gomp_adjust_thread_attr(). Destroy thread attributes if
6861 necessary.
6862 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6863
66c59f92
SH
68642015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6865
6866 * config/posix/pool.h: New.
6867 * config/rtems/pool.h: Likewise.
6868 * config/rtems/proc.c: Likewise.
6869 * libgomp.h (gomp_thread_destructor): Declare.
6870 * team.c: Include configuration provided "pool.h".
6871 (gomp_get_thread_pool): Define in configuration.
6872 (gomp_team_end): Call configuration defined
6873 gomp_release_thread_pool().
6874
13c41b2e
SH
68752015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6876
6877 * config/rtems/bar.c: New.
6878 * config/rtems/bar.h: Likewise.
6879 * config/rtems/mutex.c: Likewise.
6880 * config/rtems/mutex.h: Likewise.
6881 * config/rtems/sem.c: Likewise.
6882 * config/rtems/sem.h: Likewise.
6883 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6884 <sys/lock.h> header file.
6885 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6886 supported by Newlib.
6887 * configure: Regenerate.
6888
7892ec67
SH
68892015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6890
6891 * team.c (gomp_new_thread_pool): Delete and move content to ...
6892 (gomp_get_thread_pool): ... new function. Allocate and
6893 initialize thread pool on demand.
6894 (get_last_team): Use gomp_get_thread_pool().
6895 (gomp_team_start): Delete thread pool initialization.
6896
1b96e9a4
TV
68972015-09-03 Tom de Vries <tom@codesourcery.com>
6898
6899 PR tree-optimization/65637
6900 * testsuite/libgomp.c/autopar-2.c: New test.
6901
3ff2d74e
TV
69022015-08-29 Tom de Vries <tom@codesourcery.com>
6903
6904 PR tree-optimization/46193
6905 * testsuite/libgomp.c/pr46193.c: New test.
6906
2a21ff19
NS
69072015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6908
6909 libgomp/
6910 * libgomp.map: Add 4.0.2 version.
6911 * target.c (offload_image_descr): Add version field.
6912 (gomp_load_image_to_device): Add version argument. Adjust plugin
6913 call. Improve load mismatch diagnostic.
6914 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6915 call.
6916 (GOMP_offload_regster): Make stub function, move bulk to ...
6917 (GOMP_offload_register_ver): ... here. Process version argument.
6918 (GOMP_offload_unregister): Make stub function, move bulk to ...
6919 (GOMP_offload_unregister_ver): ... here. Process version argument.
6920 (gomp_init_device): Process version field.
6921 (gomp_unload_device): Process version field.
6922 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6923 macros. Check plugin version.
6924 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6925 loader and unloader types.
6926 * oacc-host.c: Include gomp-constants.h.
6927 (host_version): New.
6928 (host_load_image, host_unload_image): Adjust.
6929 (host_dispatch): Add host_version.
6930 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6931 (GOMP_OFFLOAD_version): New.
6932 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6933 (GOMP_OFFLOAD_unload_image): Likewise.
6934 * plugin/plugin-host.c: Include gomp-constants.h.
6935 (GOMP_OFFLOAD_version): New.
6936 (GOMP_OFFLOAD_load_image): Add version arg.
6937 (GOMP_OFFLOAD_unload_image): Likewise.
6938
1358a747
TV
69392015-08-24 Tom de Vries <tom@codesourcery.com>
6940
6941 PR tree-optimization/65468
6942 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6943
6be5c241
TV
69442015-08-24 Tom de Vries <tom@codesourcery.com>
6945
6946 PR tree-optimization/65468
6947 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6948
bfe7ac89
JV
69492015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6950
6951 PR libgomp/66761
6952 PR libgomp/67303
6953 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6954 (gomp_iter_guided_next): Idem.
6955 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6956 (gomp_iter_ull_guided_next): Idem.
6957 * config/linux/wait.h (do_spin): Idem.
6958
b97e78b7
TS
69592015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6960
6961 * libgomp-plugin.h (enum offload_target_type): Remove
6962 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6963 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6964 * openacc.h (enum acc_device_t): Likewise.
6965 * openacc_lib.h: Likewise.
6966 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6967 (acc_on_device): Just use __builtin_acc_on_device.
6968 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6969 of acc_on_device builtin.
6970 * plugin/plugin-host.h: Remove file.
6971 * plugin/plugin-host.c: Likewise, but salvage some content into...
6972 * oacc-host.c: ... this file.
6973 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6974 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6975 * Makefile.in: Regenerate.
6976 * configure: Likewise.
6977 * testsuite/lib/libgomp.exp
6978 (check_effective_target_openacc_host_nonshm_selected): Remove.
6979 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6980 ACC_DEVICE_TYPE=host_nonshm.
6981 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6982 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6983 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6984 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6985 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6986 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6987
44a7d18d
TS
69882015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6989 Jakub Jelinek <jakub@redhat.com>
6990
6991 * config/nvptx/affinity.c: New file.
6992 * config/nvptx/alloc.c: Likewise.
6993 * config/nvptx/bar.c: Likewise.
6994 * config/nvptx/barrier.c: Likewise.
6995 * config/nvptx/critical.c: Likewise.
6996 * config/nvptx/env.c: Likewise.
6997 * config/nvptx/error.c: Likewise.
6998 * config/nvptx/fortran.c: Likewise.
6999 * config/nvptx/iter.c: Likewise.
7000 * config/nvptx/iter_ull.c: Likewise.
7001 * config/nvptx/libgomp-plugin.c: Likewise.
7002 * config/nvptx/lock.c: Likewise.
7003 * config/nvptx/loop.c: Likewise.
7004 * config/nvptx/loop_ull.c: Likewise.
7005 * config/nvptx/mutex.c: Likewise.
7006 * config/nvptx/oacc-async.c: Likewise.
7007 * config/nvptx/oacc-cuda.c: Likewise.
7008 * config/nvptx/oacc-host.c: Likewise.
7009 * config/nvptx/oacc-init.c: Likewise.
7010 * config/nvptx/oacc-mem.c: Likewise.
7011 * config/nvptx/oacc-parallel.c: Likewise.
7012 * config/nvptx/oacc-plugin.c: Likewise.
7013 * config/nvptx/omp-lock.h: Likewise.
7014 * config/nvptx/ordered.c: Likewise.
7015 * config/nvptx/parallel.c: Likewise.
7016 * config/nvptx/proc.c: Likewise.
7017 * config/nvptx/ptrlock.c: Likewise.
7018 * config/nvptx/sections.c: Likewise.
7019 * config/nvptx/sem.c: Likewise.
7020 * config/nvptx/single.c: Likewise.
7021 * config/nvptx/splay-tree.c: Likewise.
7022 * config/nvptx/target.c: Likewise.
7023 * config/nvptx/task.c: Likewise.
7024 * config/nvptx/team.c: Likewise.
7025 * config/nvptx/time.c: Likewise.
7026 * config/nvptx/work.c: Likewise.
7027 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7028 * configure: Regenerate.
7029 * configure.tgt (config_path): Set to "nvptx" for target
7030 nvptx*-*-*.
7031
96a2d174
TS
70322015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7033
7034 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7035
9ebddeb0
NS
70362015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7037
7038 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7039 (cuda_errlist): Constify.
7040 (errmsg): Move into ...
7041 (cuda_error): ... here. Make smaller.
7042 (_XSTR, _STR): Delete.
7043 (cuda_synames): Delete.
7044 (verify_device_library): Delete.
7045 (nvptx_init): Don't call it.
7046
12efb1d7
TV
70472015-07-28 Tom de Vries <tom@codesourcery.com>
7048
7049 * testsuite/libgomp.c/uns-outer-4.c: New test.
7050
710ee218
CP
70512015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7052
7053 * testsuite/libgomp.c/pr66714.c: New test.
7054
27c4ac7d
MB
70552015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7056
7057 PR libgomp/66950
7058 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7059 (fib_ref): New function.
7060 (fib): Correct corner cases in the recursion.
7061 (main): Replace the non-simd loop with fib_ref call.
7062 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7063 subroutine.
7064 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7065 for the last array element value. Replace the non-simd loop with
7066 fib_ref call. Remove redundant b_ref array. Remove the comparison
7067 of the last array element with according Fibonacci sequence element.
7068 (fib): Correct corner cases in the recursion.
7069
22be2349
NS
70702015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7071
7072 * target.c (gomp_offload_image_to_device): Rename to ...
7073 (gomp_load_image_to_device): ... here.
7074 (GOMP_offload_register): Adjust call.
7075 (gomp_init_device): Likewise.
7076 (gomp_unload_image_from_device): New. Broken out of ...
7077 (GOMP_offload_unregister): ... here. Call it.
7078 (gomp_unload_device): New.
7079 * libgomp.h (gomp_unload_device): Declare.
7080 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7081 mem maps.
7082
f3e9a059
NS
70832015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7084
a091118d
NS
7085 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7086 wait=-specific if.
7087 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7088 !=0 condition.
7089 (goacc_waits): Move !num_waits handling to ...
7090 (GOACC_wait): ... here, the only caller that might have zero waits.
7091
f3e9a059
NS
7092 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7093 (struct ptx_image_data): Move earlier, add fns field.
7094 (struct ptx_device): Add images and image_lock fields.
7095 (ptx_images, ptx_image_lock): Delete.
7096 (nvptx_open_device): Initialize images and image_lock fields.
7097 (nvptx_close_device): Destroy image_lock.
7098 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7099 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7100 fields.
7101
afb2d80b
NS
71022015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7103
896c28a7
NS
7104 * target.c (GOMP_offload_register): Use int for device type arg.
7105 (GOMP_offload_unregister): Likewise.
7106
ebe4a560
NS
7107 * target.c (struct_offload_image_descr): Constify host_table.
7108 (gomp_offload_image_to_device): Likewise.
7109 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7110
afb2d80b
NS
7111 * libgomp.h (gomp_device_descr): Constify target data arguments.
7112 * target.c (struct offload_image_descr): Constify target_data.
7113 (gomp_offload_image_to_device): Likewise.
7114 (GOMP_offload_register): Likewise.
93d90219 7115 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
7116 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7117 GOMP_OFFLOAD_unload_image): Constify target data.
7118 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7119 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7120
a4cb876d
NS
71212015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7122
7123 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7124 Workaround driver library const error.
7125 (struct nvptx_tdata, nvptx_tdata_t): New.
7126 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7127 type.
7128
28ef6a27
MB
71292015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7130
7131 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7132 of EPS parameter from integer to real.
7133 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7134 type of EPS parameter from integer to real.
7135
6dba0113
SH
71362015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7137
7138 * team.c (get_last_team): New.
7139 (gomp_new_team): Recycle last non-nested team if possible.
7140 (gomp_team_end): Move team work share list free lock destruction
7141 to ...
7142 (free_team): ... here.
7143
4c1cb4da
MB
71442015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7145
7146 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7147 and ref from int to double. Replaced their comparison with
7148 an inequality of their difference and EPS.
7149 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7150 comparison of pri and a reference number with an inequality of their
7151 difference and EPS.
7152 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7153 the comparison of sum and sum_ref with an inequality of their
7154 difference and EPS.
7155 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7156 the comparison of pri and a reference number with an inequality of
7157 their difference and EPS.
7158
343587dc
MB
71592015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7160
7161 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7162 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7163 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7164 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7165 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7166 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7167 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7168 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7169 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7170 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7171 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7172 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7173 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7174 variables.
7175 (vec_mult): Likewise. Add #pragma omp taskwait.
7176 (main): Adjust caller.
7177 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7178 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7179 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7180 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7181 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7182 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7183 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7184 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7185 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7186 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7187 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7188 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7189 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7190 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7191 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7192 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7193 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7194 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7195 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7196 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7197 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7198 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7199 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7200 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7201 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7202 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7203 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7204 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7205 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7206 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7207 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7208 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7209 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7210 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7211 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7212 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7213 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7214 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7215 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7216 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7217 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7218 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7219 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7220 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7221 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7222 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7223 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7224 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7225 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7226 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7227 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7228 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7229 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7230 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7231 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7232 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7233 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7234 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7235 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7236 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7237 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7238 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7239 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7240 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7241 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7242 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7243 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7244 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7245 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7246 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7247 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7248 (vec_mult): Add !$omp taskwait.
7249 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7250 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7251 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7252 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7253 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7254 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7255 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7256 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7257 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7258 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7259 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7260 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7261 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7262 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7263 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7264 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7265 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7266 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7267 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7268 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7269 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7270 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7271 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7272 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7273 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7274 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7275 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7276 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7277 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7278 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7279 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7280 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7281 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7282 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7283 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7284 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7285 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7286 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7287 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7288 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7289 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7290 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7291 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7292 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7293 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7294 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7295 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7296 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7297 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7298 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7299 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7300 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7301 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7302 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7303 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7304 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7305 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7306 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7307 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7308 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7309 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7310 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7311 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7312 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7313 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7314 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7315 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7316
9f620bf1
TV
73172015-07-10 Tom de Vries <tom@codesourcery.com>
7318
7319 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7320 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7321
a92defda
TS
73222015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7323
7324 PR libgomp/65099
7325 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7326 in a 64-bit configuration.
7327 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7328 offloading testing if no such device is available.
7329 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7330 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7331
cadb53a5
TV
73322015-07-08 Tom de Vries <tom@codesourcery.com>
7333
7334 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7335 second call to f.
7336 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7337
712cb0bb
TV
73382015-07-07 Tom de Vries <tom@codesourcery.com>
7339
7340 PR tree-optimization/66642
7341 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7342 iteration count case.
7343 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7344 function, factor out of ...
7345 (main): ... here. Test low iteration count case.
7346
e5210c77
SH
73472015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7348
7349 * libgomp.h (gomp_thread_pool): Comment last_team field.
7350
f70360e7
UB
73512015-07-02 Uros Bizjak <ubizjak@gmail.com>
7352
7353 * testsuite/libgomp.c++/pr66702-1.C: Require
7354 vect_simd_clones effective target.
7355 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7356
b451c271
TV
73572015-06-30 Tom de Vries <tom@codesourcery.com>
7358
7359 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7360 already set. Use DEFAULT_CFLAGS in dg-runtest.
7361 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7362 "-O2".
7363
f8e89d9f
TV
73642015-06-30 Tom de Vries <tom@codesourcery.com>
7365
7366 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7367 already set. Use DEFAULT_CFLAGS in dg-runtest.
7368 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7369 * testsuite/libgomp.c++/pr64824.C: Same.
7370 * testsuite/libgomp.c++/pr64868.C: Same.
7371 * testsuite/libgomp.c++/pr66199-1.C: Same.
7372 * testsuite/libgomp.c++/pr66199-2.C: Same.
7373 * testsuite/libgomp.c++/target-2.C: Same.
7374 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7375 -std=<standard> option.
7376 * testsuite/libgomp.c++/udr-11.C: Same.
7377 * testsuite/libgomp.c++/udr-12.C: Same.
7378 * testsuite/libgomp.c++/udr-13.C: Same.
7379 * testsuite/libgomp.c++/udr-14.C: Same.
7380 * testsuite/libgomp.c++/udr-15.C: Same.
7381 * testsuite/libgomp.c++/udr-16.C: Same.
7382 * testsuite/libgomp.c++/udr-17.C: Same.
7383 * testsuite/libgomp.c++/udr-18.C: Same.
7384 * testsuite/libgomp.c++/udr-19.C: Same.
7385 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7386 * testsuite/libgomp.c++/simd-1.C: Same.
7387 * testsuite/libgomp.c++/simd-2.C: Same.
7388 * testsuite/libgomp.c++/simd-3.C: Same.
7389 * testsuite/libgomp.c++/simd-4.C: Same.
7390 * testsuite/libgomp.c++/simd-5.C: Same.
7391 * testsuite/libgomp.c++/simd-6.C: Same.
7392 * testsuite/libgomp.c++/simd-7.C: Same.
7393 * testsuite/libgomp.c++/simd-8.C: Same.
7394 * testsuite/libgomp.c++/simd-9.C: Same.
7395 * testsuite/libgomp.c++/simd10.C: Same.
7396 * testsuite/libgomp.c++/simd11.C: Same.
7397 * testsuite/libgomp.c++/simd12.C: Same.
7398 * testsuite/libgomp.c++/simd13.C: Same.
7399
3446fe48
JJ
74002015-06-30 Jakub Jelinek <jakub@redhat.com>
7401
7402 PR middle-end/66702
7403 * testsuite/libgomp.c++/pr66702-1.C: New test.
7404 * testsuite/libgomp.c++/pr66702-2.C: New test.
7405
8a36714a
TV
74062015-06-30 Tom de Vries <tom@codesourcery.com>
7407
7408 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7409 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7410 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7411 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7412
4f75d608
TV
74132015-06-30 Tom de Vries <tom@codesourcery.com>
7414
7415 PR tree-optimization/66652
7416 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7417 using restrict pointers.
7418 (main): Add arguments to calls to f.
7419 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7420
6d9d1eeb
AT
74212015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7422
7423 * configure.ac: Fix check for header <sys/sysctl.h>.
7424 * configure: Regenerate.
7425 * config.h.in: Likewise.
7426
1222f22b
TV
74272015-06-23 Tom de Vries <tom@codesourcery.com>
7428
7429 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7430 abort.
7431 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7432
d7efbbf6
TS
74332015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7434
bfcd036f
TS
7435 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7436 acc_device_nvidia.
7437
d7efbbf6
TS
7438 PR libgomp/66518
7439 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7440 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7441
d7bfc710
TV
74422015-06-15 Tom de Vries <tom@codesourcery.com>
7443
7444 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7445 dg-additional-options for any remaining options.
7446 * testsuite/libgomp.c/atomic-2.c: Same.
7447 * testsuite/libgomp.c/atomic-4.c: Same.
7448 * testsuite/libgomp.c/atomic-5.c: Same.
7449 * testsuite/libgomp.c/atomic-6.c: Same.
7450 * testsuite/libgomp.c/autopar-1.c: Same.
7451 * testsuite/libgomp.c/copyin-1.c: Same.
7452 * testsuite/libgomp.c/copyin-2.c: Same.
7453 * testsuite/libgomp.c/copyin-3.c: Same.
7454 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7455 * testsuite/libgomp.c/nestedfn-5.c: Same.
7456 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7457 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7458 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7459 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7460 * testsuite/libgomp.c/pr32362-1.c: Same.
7461 * testsuite/libgomp.c/pr32362-2.c: Same.
7462 * testsuite/libgomp.c/pr32362-3.c: Same.
7463 * testsuite/libgomp.c/pr39591-1.c: Same.
7464 * testsuite/libgomp.c/pr39591-2.c: Same.
7465 * testsuite/libgomp.c/pr39591-3.c: Same.
7466 * testsuite/libgomp.c/pr58392.c: Same.
7467 * testsuite/libgomp.c/pr58756.c: Same.
7468 * testsuite/libgomp.c/simd-1.c: Same.
7469 * testsuite/libgomp.c/simd-10.c: Same.
7470 * testsuite/libgomp.c/simd-11.c: Same.
7471 * testsuite/libgomp.c/simd-12.c: Same.
7472 * testsuite/libgomp.c/simd-13.c: Same.
7473 * testsuite/libgomp.c/simd-14.c: Same.
7474 * testsuite/libgomp.c/simd-15.c: Same.
7475 * testsuite/libgomp.c/simd-2.c: Same.
7476 * testsuite/libgomp.c/simd-3.c: Same.
7477 * testsuite/libgomp.c/simd-4.c: Same.
7478 * testsuite/libgomp.c/simd-5.c: Same.
7479 * testsuite/libgomp.c/simd-6.c: Same.
7480 * testsuite/libgomp.c/simd-7.c: Same.
7481 * testsuite/libgomp.c/simd-8.c: Same.
7482 * testsuite/libgomp.c/simd-9.c: Same.
7483
fb5b5352
TV
74842015-06-15 Tom de Vries <tom@codesourcery.com>
7485
7486 * testsuite/libgomp.c/pr35625.c: Fix typo.
7487
ca431bef
TV
74882015-06-15 Tom de Vries <tom@codesourcery.com>
7489
7490 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7491 in dg-options.
7492 * testsuite/libgomp.c/atomic-3.c: Same.
7493 * testsuite/libgomp.c/debug-1.c: Same.
7494 * testsuite/libgomp.c/nqueens-1.c: Same.
7495 * testsuite/libgomp.c/pr26171.c: Same.
7496 * testsuite/libgomp.c/pr48591.c: Same.
7497 * testsuite/libgomp.c/pr64824.c: Same.
7498 * testsuite/libgomp.c/pr64868.c: Same.
7499 * testsuite/libgomp.c/pr66133.c: Same.
7500 * testsuite/libgomp.c/pr66199-1.c: Same.
7501 * testsuite/libgomp.c/pr66199-2.c: Same.
7502 * testsuite/libgomp.c/target-8.c: Same.
7503
0d8a9e20
TV
75042015-06-15 Tom de Vries <tom@codesourcery.com>
7505
7506 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7507 -std={gnu99,c99}.
7508 * testsuite/libgomp.c/for-1.c: Same.
7509 * testsuite/libgomp.c/for-2.c: Same.
7510 * testsuite/libgomp.c/for-3.c: Same.
7511 * testsuite/libgomp.c/pr35625.c: Same.
7512 * testsuite/libgomp.c/pr39154.c: Same.
7513 * testsuite/libgomp.c/simd-16.c: Same.
7514 * testsuite/libgomp.c/simd-17.c: Same.
7515
a6860be9
TV
75162015-06-13 Tom de Vries <tom@codesourcery.com>
7517
7518 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7519
ab3306d2
TV
75202015-06-13 Tom de Vries <tom@codesourcery.com>
7521
7522 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7523 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7524 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7525 (N): Define.
7526 (main): Use N instead of hardcoded constants.
7527
7c82d827
TV
75282015-06-05 Tom de Vries <tom@codesourcery.com>
7529
7530 merge from gomp4 branch:
7531 2015-05-28 Tom de Vries <tom@codesourcery.com>
7532
7533 PR tree-optimization/65443
7534 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7535 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7536 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7537
c469078d
BRF
75382015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7539
7540 * testsuite/libgomp.graphite/bounds.c: Adjust for
7541 cleanup-tree-dump removal.
7542 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7543 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7544 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7545 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7546 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7547 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7548 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7549 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7550 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7551 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7552
bb3caa35
UB
75532015-05-28 Uros Bizjak <ubizjak@gmail.com>
7554
7555 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7556 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7557 (futex_wake) [!__x86_64__]: Ditto.
7558
9fb5fd44
JB
75592015-05-28 Julian Brown <julian@codesourcery.com>
7560
7561 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7562 function comment. Only call gomp_fatal if new argument is true.
7563 (acc_dev_num_out_of_range): New function.
7564 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7565 acc_dev_num_out_of_range as appropriate.
7566 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
7567 (acc_get_device_num, acc_set_device_num): Update calls to
7568 resolve_device.
9fb5fd44
JB
7569 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7570 output.
7571
32eaed93
JB
75722015-05-28 Julian Brown <julian@codesourcery.com>
7573
7574 PR libgomp/65742
32eaed93
JB
7575 * oacc-init.c (plugin/plugin-host.h): Include.
7576 (acc_on_device): Check whether we're in an offloaded region for
7577 host_nonshm
7578 plugin. Don't use __builtin_acc_on_device.
7579 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7580 nonshm_exec flag in thread-local data.
7581 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7582 data for host_nonshm plugin.
7583 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7584 for host_nonshm plugin.
7585 * plugin/plugin-host.h: New.
7586
ea023bcf
UB
75872015-05-27 Uros Bizjak <ubizjak@gmail.com>
7588
8ed501f1
UB
7589 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7590
75912015-05-27 Uros Bizjak <ubizjak@gmail.com>
7592
7593 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7594 Declare as int.
7595 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7596 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7597 Declare as int.
7598
75992015-05-27 Uros Bizjak <ubizjak@gmail.com>
7600
bb3caa35 7601 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 7602
1716efeb
CLT
76032015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7604
7605 * target.c (gomp_map_pointer): New function abstracting out
7606 GOMP_MAP_POINTER handling.
7607 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7608 gomp_map_pointer().
7609
41b37d5e
JJ
76102015-05-19 Jakub Jelinek <jakub@redhat.com>
7611
7612 PR middle-end/66199
7613 * testsuite/libgomp.c/pr66199-1.c: New test.
7614 * testsuite/libgomp.c/pr66199-2.c: New test.
7615 * testsuite/libgomp.c++/pr66199-1.C: New test.
7616 * testsuite/libgomp.c++/pr66199-2.C: New test.
7617 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7618 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7619
c8319826
JB
76202015-05-19 Julian Brown <julian@codesourcery.com>
7621
7622 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7623 on cuInit failure.
7624
b37dddbc
JJ
76252015-05-13 Jakub Jelinek <jakub@redhat.com>
7626
7627 PR middle-end/66133
7628 * testsuite/libgomp.c/pr66133.c: New test.
7629
55fba601
MH
76302015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7631
7632 * Makefile.in: Regenerated with automake-1.11.6.
7633 * aclocal.m4: Likewise.
7634 * config.h.in: Likewise.
7635 * configure: Likewise.
7636 * testsuite/Makefile.in: Likewise.
7637
1be0899d
JM
76382015-05-08 Jason Merrill <jason@redhat.com>
7639
7640 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7641 _Complex.
7642
7643 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7644
d2463960
JB
76452015-05-06 Julian Brown <julian@codesourcery.com>
7646
7647 * oacc-init.c (acc_device_lock): Add explanatory comment.
7648 (resolve_device): Add comment about locking requirement.
7649 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7650 gomp_init_device and gomp_fini_device calls.
7651 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7652 (acc_get_device_num, acc_set_device_num): Add locking around
7653 resolve_device and gomp_init_device calls.
7654
e38fdba4
JB
76552015-05-06 Julian Brown <julian@codesourcery.com>
7656
7657 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7658 goacc_thread_lock on error paths.
7659 * oacc-mem.c (lookup_host): Remove locking from function. Note
7660 locking requirement for caller in function comment.
7661 (lookup_dev): Likewise.
7662 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7663 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7664 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7665 Add locking.
7666
ae8ffbbb
TS
76672015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7668
7669 PR testsuite/65205
7670 PR libgomp/65993
7671 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7672 don't expect "0x" prefix for "%p" format specifier, don't expect
7673 "(nil)" for NULL pointer.
7674 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7676 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7678 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7680 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7682 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7684 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7685 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7686 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7687 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7688 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7689 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7690 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7691 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7692 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7693 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7694 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7695 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7696 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7697 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7698 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7699 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7700 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7701 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7702 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7703 accurately specify what we're looking for.
7704 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7705 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7706 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7707 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7708 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7709
1309f1d2
JN
77102015-04-30 James Norris <jnorris@codesourcery.com>
7711
7712 PR testsuite/65205
7713 * testsuite/lib/libgomp.exp
7714 (check_effective_target_openacc_host_selected)
7715 (check_effective_target_openacc_host_nonshm_selected): New
7716 procedures.
7717 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7718 dg-shouldfail.
7719 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7720 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7721 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7722 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7723 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7724 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7725 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7726 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7727 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7728 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7729 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7730 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7731 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7732 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7733 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7734 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7735 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7736 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7737 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7738 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7739 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7740 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7741 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7742 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7743 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7744 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7745 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7746 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7747 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7748 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7749 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7750 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7751 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7752 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7753 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7754 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7755 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7756 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7757 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7758 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7759 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7760 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7761 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7762
d93bdab5
JB
77632015-04-08 Julian Brown <julian@codesourcery.com>
7764
7765 * libgomp.h (target_mem_desc: Remove mem_map field.
7766 (acc_dispatch_t): Remove open_device_func, close_device_func,
7767 get_device_num_func, set_device_num_func, target_data members.
7768 Change create_thread_data_func argument to device number instead of
7769 generic pointer.
7770 * oacc-async.c (assert.h): Include.
7771 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7772 (acc_wait_all, acc_wait_all_async): Use current host thread's
7773 active device, not base_dev.
7774 * oacc-cuda.c (acc_get_current_cuda_device)
7775 (acc_get_current_cuda_context, acc_get_cuda_stream)
7776 (acc_set_cuda_stream): Likewise.
7777 * oacc-host.c (host_dispatch): Don't set open_device_func,
7778 close_device_func, get_device_num_func or set_device_num_func.
7779 * oacc-init.c (base_dev, init_key): Remove.
7780 (cached_base_dev): New.
7781 (name_of_acc_device_t): New.
7782 (acc_init_1): Initialise default-numbered device, not zeroth.
7783 (acc_shutdown_1): Close all devices of a given type.
7784 (goacc_destroy_thread): Don't use base_dev.
7785 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7786 (goacc_attach_host_thread_to_device): New.
7787 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7788 (acc_get_num_devices): Don't use base_dev.
7789 (acc_set_device_type): Reimplement.
7790 (acc_get_device_type): Don't use base_dev.
7791 (acc_get_device_num): Tweak logic.
7792 (acc_set_device_num): Likewise.
7793 (acc_on_device): Use acc_get_device_type.
7794 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7795 (goacc_lazy_initialize): Reimplement with acc_init and
7796 goacc_attach_host_thread_to_device.
7797 * oacc-int.h (goacc_thread): Add base_dev field.
7798 (base_dev): Remove extern declaration.
7799 (goacc_attach_host_thread_to_device): Add prototype.
7800 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7801 base_dev.
7802 (acc_free): Likewise.
7803 (acc_memcpy_to_device): Likewise.
7804 (acc_memcpy_from_device): Likewise.
7805 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7806 goacc_lazy_initialize (throughout).
7807 (GOACC_parallel): Use tgt_offset to locate target functions.
7808 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7809 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7810 (gomp_load_plugin_for_device): Remove open_device, close_device,
7811 get_device_num, set_device_num openacc hook initialisation. Don't set
7812 openacc.target_data.
7813 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7814 (GOMP_OFFLOAD_openacc_close_device)
7815 (GOMP_OFFLOAD_openacc_get_device_num)
7816 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7817 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7818 to int.
7819 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7820 (instantiated_devices, ptx_dev_lock): New.
7821 (struct ptx_image_data): New.
7822 (ptx_devices, ptx_images, ptx_image_lock): New.
7823 (fini_streams_for_device): Reorder cuStreamDestroy call.
7824 (nvptx_get_num_devices): Remove forward declaration.
7825 (nvptx_init): Change return type to bool.
7826 (nvptx_fini): Remove.
7827 (nvptx_attach_host_thread_to_device): New.
7828 (nvptx_open_device): Return struct ptx_device* instead of void*.
7829 (nvptx_close_device): Change argument type to struct ptx_device*,
7830 return type to void.
7831 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7832 (kernel_target_data, kernel_host_table): Remove static globals.
7833 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7834 (GOMP_OFFLOAD_init_device): Reimplement.
7835 (GOMP_OFFLOAD_fini_device): Likewise.
7836 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7837 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7838 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7839 (GOMP_OFFLOAD_openacc_open_device)
7840 (GOMP_OFFLOAD_openacc_close_device)
7841 (GOMP_OFFLOAD_openacc_set_device_num)
7842 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7843 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7844 (device number).
7845
7846 testsuite/
7847 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7848
a51df54e
IV
78492015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7850
7851 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7852 * libgomp.h (struct gomp_memory_mapping): Remove.
7853 (struct target_mem_desc): Change type of mem_map from
7854 gomp_memory_mapping * to splay_tree_s *.
7855 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7856 Add load_image_func, unload_image_func.
7857 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7858 Remove offload_regions_registered.
7859 (gomp_init_tables): Remove.
7860 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7861 to splay_tree_s *.
7862 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7863 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7864 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7865 offload_regions_registered.
7866 Initialize load_image_func, unload_image_func, mem_map.root.
7867 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7868 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7869 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7870 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7871 gomp_memory_mapping *. Use dev's lock and splay_tree.
7872 (lookup_dev): Use dev's lock.
7873 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7874 (acc_is_present): Likewise.
7875 (acc_map_data): Likewise.
7876 (acc_unmap_data): Likewise. Use dev's lock.
7877 (present_create_copy): Likewise.
7878 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7879 (update_dev_host): Likewise.
7880 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7881 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7882 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7883 (GOMP_OFFLOAD_get_table): Remove
7884 (GOMP_OFFLOAD_load_image): New function.
7885 (GOMP_OFFLOAD_unload_image): New function.
7886 * target.c (register_lock): New mutex for offload image registration.
7887 (num_devices): Do not guard with PLUGIN_SUPPORT.
7888 (gomp_realloc_unlock): New static function.
7889 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7890 before gomp_fatal.
7891 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7892 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7893 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7894 mem_map's.
7895 (gomp_unmap_vars): Likewise.
7896 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7897 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7898 (gomp_offload_image_to_device): New static function.
7899 (GOMP_offload_register): Add mutex lock.
7900 Call gomp_offload_image_to_device for all initialized devices.
7901 Replace gomp_realloc with gomp_realloc_unlock.
7902 (GOMP_offload_unregister): New function.
7903 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7904 get_table_func from the plugin with calls to init_device_func and
7905 gomp_offload_image_to_device.
7906 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7907 to splay_tree_s *.
7908 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7909 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7910 (GOMP_target_data): Do not call gomp_init_tables.
7911 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7912 (gomp_load_plugin_for_device): Replace register_image and get_table
7913 with load_image and unload_image in DLSYM ().
7914 (gomp_register_images_for_device): Remove function.
7915 (gomp_target_init): Do not initialize current_device.mem_map.*,
7916 current_device.offload_regions_registered.
7917 Remove call to gomp_register_images_for_device.
7918 Do not free offload_images and num_offload_images.
7919
6c384511
JJ
79202015-03-30 Jakub Jelinek <jakub@redhat.com>
7921
7922 PR fortran/65597
7923 * testsuite/libgomp.fortran/pr65597.f90: New test.
7924
3e8165a5
TV
79252015-03-27 Tom de Vries <tom@codesourcery.com>
7926
7927 PR testsuite/65594
7928 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7929 (init, check): New function.
7930 (foo): Change return type to void.
7931 (main): Call init and check.
7932
4d688c9a
TV
79332015-03-27 Tom de Vries <tom@codesourcery.com>
7934
7935 PR testsuite/65594
7936 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7937 (foo): Use M for non-inner loops to scale down test-case.
7938
01c0b3b0
KT
79392015-03-25 Kai Tietz <ktietz@redhat.com>
7940
7941 PR libgomp/64972
7942 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7943 (GOACC_data_start): Likewise.
7944 * target.c (gomp_map_vars): Likewise.
7945
844d9a76
JDA
79462015-03-21 John David Anglin <danglin@gcc.gnu.org>
7947
7948 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7949 hppa*-*-hpux*.
7950
9b65e171
JJ
79512015-03-19 Jakub Jelinek <jakub@redhat.com>
7952
7953 * testsuite/libgomp.c/target-10.c: New test.
7954 * testsuite/libgomp.c++/target-4.C: New test.
7955
db397e2e
IV
79562015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7957
7958 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7959 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7960
cd93945d
SH
79612015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7962
7963 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7964 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7965 (pthread.h): Check for this header file.
7966 * configure: Regenerate.
7967
05deba9f
TV
79682015-02-25 Tom de Vries <tom@codesourcery.com>
7969
7970 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7971 (check_reduction_op, check_reduction_macro, max, min):
7972 Declare.
7973 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7974 function.
7975 (main): Use new functions.
7976
196904d8
IT
79772015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7978
7979 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7980 char * for variables holding dlerror return values.
7981 (DLSYM_OPT): Ditto.
7982
a2818955
TS
79832015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7984
7985 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7986
26f93312
TS
79872015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7988 Cesar Philippidis <cesar@codesourcery.com>
7989
7990 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7991 GOACC_ctaid, and GOACC_nctaid routines.
7992
fa01ffcc
JJ
79932015-02-11 Jakub Jelinek <jakub@redhat.com>
7994
7995 PR c/64824
7996 * testsuite/libgomp.c/atomic-18.c: New test.
7997 * testsuite/libgomp.c++/atomic-16.C: New test.
7998
4886ec8e
JJ
79992015-02-04 Jakub Jelinek <jakub@redhat.com>
8000
8001 PR c/64824
8002 PR c/64868
8003 * testsuite/libgomp.c/pr64824.c: New test.
8004 * testsuite/libgomp.c/pr64868.c: New test.
8005 * testsuite/libgomp.c++/pr64824.C: New test.
8006 * testsuite/libgomp.c++/pr64868.C: New test.
8007
02d3e45e
DE
80082015-02-01 David Edelsohn <dje.gcc@gmail.com>
8009
8010 PR libgomp/64635
8011 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8012 Link with -lpthread.
8013 * config/aix/plugin-suffix.h: Delete.
8014
b5f7a6ca
JH
80152015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8016
8017 PR libgomp/64635
8018 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8019 (*-*-darwin*): Use config_path "bsd darwin posix".
8020 (*-*-hpux*): Use config_path "hpux posix".
8021 * target.c: Add include of plugin-suffix.h and use
8022 SONAME_SUFFIX macro.
8023 * config/aix/plugin-suffix.h: New file.
8024 * config/darwin/plugin-suffix.h: New file.
8025 * config/hpux/plugin-suffix.h: New file.
8026 * config/posix/plugin-suffix.h: New file.
8027
b8910447
JJ
80282015-01-23 Jakub Jelinek <jakub@redhat.com>
8029
8030 PR middle-end/64734
8031 * libgomp.c/pr64734.c: New test.
8032
a0c88d06
TV
80332015-01-23 Tom de Vries <tom@codesourcery.com>
8034
8035 PR libgomp/64672
8036 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8037
1506ae0e
TV
80382015-01-23 Tom de Vries <tom@codesourcery.com>
8039
8040 PR libgomp/64707
8041 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8042 dg-options.
8043
128b26dc
TS
80442015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8045
bed62c21 8046 PR libgomp/64625
128b26dc
TS
8047 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8048 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8049 formal parameter. Update all users.
8050 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8051 Document unused formal parameter.
8052
6e36114c
TS
80532015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8054
8055 * oacc-parallel.c: Don't include <alloca.h>.
8056 (GOACC_parallel): Use gomp_alloca instead of alloca.
8057
973e9808
GP
80582015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8059
8060 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8061
41dbbb37
TS
80622015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8063 James Norris <jnorris@codesourcery.com>
8064 Tom de Vries <tom@codesourcery.com>
8065 Julian Brown <julian@codesourcery.com>
8066 Cesar Philippidis <cesar@codesourcery.com>
8067 Nathan Sidwell <nathan@codesourcery.com>
8068 Tobias Burnus <burnus@net-b.de>
8069
8070 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8071 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8072 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8073 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8074 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8075 Include $(top_srcdir)/plugin/Makefrag.am.
8076 (nodist_libsubinclude_HEADERS): Add openacc.h.
8077 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8078 openacc.f90, openacc.mod, openacc_kinds.mod.
8079 (omp_lib.mod): Generalize into...
8080 (%.mod): ... this new rule.
8081 (openacc_kinds.mod, openacc.mod): New rules.
8082 * plugin/configfrag.ac: New file.
8083 * configure.ac: Move plugin/offloading support into it. Include
8084 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8085 * plugin/Makefrag.am: New file.
8086 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8087 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8088 export.
8089 (libgomp-test-support.exp): New rule.
8090 (all-local): Depend on it.
8091 * Makefile.in: Regenerate.
8092 * testsuite/Makefile.in: Regenerate.
8093 * config.h.in: Likewise.
8094 * configure: Likewise.
8095 * configure.tgt: Harden shell syntax.
8096 * env.c: Include "oacc-int.h".
8097 (parse_acc_device_type): New function.
8098 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8099 variables.
8100 (initialize_env): Initialize those. Call
8101 goacc_runtime_initialize.
8102 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8103 (gomp_fatal): Call gomp_vfatal.
8104 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8105 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8106 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8107 (splay_tree_node, splay_tree, splay_tree_key)
8108 (struct target_mem_desc, struct splay_tree_key_s)
8109 (struct gomp_memory_mapping, struct acc_dispatch_t)
8110 (struct gomp_device_descr, gomp_acc_insert_pointer)
8111 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8112 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8113 (gomp_free_memmap, gomp_fini_device): New declarations.
8114 (gomp_vdebug, gomp_debug): New macros.
8115 Include "splay-tree.h".
8116 * libgomp.map (OACC_2.0): New symbol version. Use for
8117 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8118 acc_set_device_type_h_, acc_get_device_type,
8119 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8120 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8121 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8122 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8123 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8124 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8125 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8126 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8127 acc_copyin_array_h_, acc_present_or_copyin,
8128 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8129 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8130 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8131 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8132 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8133 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8134 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8135 acc_update_device, acc_update_device_32_h_,
8136 acc_update_device_64_h_, acc_update_device_array_h_,
8137 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8138 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8139 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8140 acc_is_present_64_h_, acc_is_present_array_h_,
8141 acc_memcpy_to_device, acc_memcpy_from_device,
8142 acc_get_current_cuda_device, acc_get_current_cuda_context,
8143 acc_get_cuda_stream, acc_set_cuda_stream.
8144 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8145 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8146 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8147 GOACC_get_num_threads.
8148 (GOMP_PLUGIN_1.0): New symbol version. Use for
8149 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8150 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8151 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8152 GOMP_PLUGIN_acc_thread.
8153 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8154 environment variable.
8155 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8156 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8157 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8158 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8159 (splay_tree_remove): New declarations.
8160 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8161 (splay_tree_remove, splay_tree_lookup): Move into...
8162 * splay-tree.c: ... this new file.
8163 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8164 (splay_tree_node, splay_tree, splay_tree_key)
8165 (struct target_mem_desc, struct splay_tree_key_s)
8166 (struct gomp_device_descr): Don't declare.
8167 (num_devices_openmp): New variable.
8168 (gomp_get_num_devices ): Use it.
8169 (gomp_init_targets_once): New function.
8170 (gomp_get_num_devices ): Use it.
8171 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8172 (gomp_fini_device, gomp_register_image_for_device): New functions.
8173 (gomp_map_vars): Add devaddrs parameter.
8174 (gomp_update): Add mm parameter.
8175 (gomp_init_device): Move most of it into...
8176 (gomp_init_tables): ... this new function.
8177 (gomp_register_images_for_device): Remove function.
8178 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8179 Make them hidden instead of static.
8180 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8181 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8182 (GOMP_target_end_data, GOMP_target_update)
8183 (gomp_load_plugin_for_device, gomp_target_init): Update for
8184 OpenACC changes.
8185 * oacc-async.c: New file.
8186 * oacc-cuda.c: Likewise.
8187 * oacc-host.c: Likewise.
8188 * oacc-init.c: Likewise.
8189 * oacc-int.h: Likewise.
8190 * oacc-mem.c: Likewise.
8191 * oacc-parallel.c: Likewise.
8192 * oacc-plugin.c: Likewise.
8193 * oacc-plugin.h: Likewise.
8194 * oacc-ptx.h: Likewise.
8195 * openacc.f90: Likewise.
8196 * openacc.h: Likewise.
8197 * openacc_lib.h: Likewise.
8198 * plugin/plugin-host.c: Likewise.
8199 * plugin/plugin-nvptx.c: Likewise.
8200 * libgomp-plugin.c: Likewise.
8201 * libgomp-plugin.h: Likewise.
8202 * libgomp_target.h: Remove file after merging content into the
8203 former file. Update all users.
8204 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8205 (offload_targets_s, offload_targets_s_openacc): New variables.
8206 (check_effective_target_openacc_nvidia_accel_present)
8207 (check_effective_target_openacc_nvidia_accel_selected): New
8208 procedures.
8209 (libgomp_init): Update for OpenACC changes.
8210 * testsuite/libgomp-test-support.exp.in: New file.
8211 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8212 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8213 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8214 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8215 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8216 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8217 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8218 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8219 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8220 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8221 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8222 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8223 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8224 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8225 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8226 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8227 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8228 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8229 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8230 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8231 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8232 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8233 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8234 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8235 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8236 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8237 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8238 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8239 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8240 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8241 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8242 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8243 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8244 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8245 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8246 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8247 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8248 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8249 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8250 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8251 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8252 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8253 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8254 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8255 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8256 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8257 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8259 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8260 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8261 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8262 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8263 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8264 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8265 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8266 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8267 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8268 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8269 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8270 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8271 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8272 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8273 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8274 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8275 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8276 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8277 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8278 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8279 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8280 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8281 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8282 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8283 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8284 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8285 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8286 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8287 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8288 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8289 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8290 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8291 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8292 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8293 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8294 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8295 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8296 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8297 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8298 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8299 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8300 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8301 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8302 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8303 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8304 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8305 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8306 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8307 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8308 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8309 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8310 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8311 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8312 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8313 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8314 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8315 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8316 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8317 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8318 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8319 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8320 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8321 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8322 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8323 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8324 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8325 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8326 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8327 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8328 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8329 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8330 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8331 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8332 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8333 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8334 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8335 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8336 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8337 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8338 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8339 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8340 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8341 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8342 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8343 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8344 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8345 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8346 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8347 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8348 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8349 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8350 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8351 Likewise.
8352 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8353 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8354 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8355 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8356 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8357 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8358 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8359 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8360 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8361 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8362 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8363 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8364 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8365 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8366 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8367 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8368 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8369 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8370 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8371 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8372 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8373 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8374 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8375 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8376 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8377 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8378 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8379 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8380 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8381 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8382 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8383 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8384 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8385 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8386 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8387 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8388 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8389 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8390 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8391 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8392 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8393 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8394 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8395 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8396 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8397 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8398 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8399 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8400 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8401 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8402 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8403 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8404 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8405 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8406 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8407 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8408 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8409 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8410 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8411 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8412
f1f3453e
TS
84132015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8414 Julian Brown <julian@codesourcery.com>
8415 David Malcolm <dmalcolm@redhat.com>
8416
8417 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8418 to "GNU Offloading and Multi Processing Runtime Library". Change
8419 all users.
8420 * configure: Regenerate.
8421 * libgomp.texi: Update.
8422
f9a0eca4
TS
84232015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8424
b335ef4e
TS
8425 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8426 "$tgt_dir/lib32".
8427 * configure: Regenerate.
8428
f9a0eca4
TS
8429 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8430 "intelmic" in $offload_targets.
8431
b67cd4e3
JJ
84322015-01-05 Jakub Jelinek <jakub@redhat.com>
8433
5624e564
JJ
8434 Update copyright years.
8435
b67cd4e3
JJ
8436 * libgomp.texi: Bump @copying's copyright year.
8437
3b41b583
KT
84382014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8439
8440 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 8441 Move load of target-supports.exp earlier.
3b41b583 8442
2354caec
IV
84432014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8444
8445 * testsuite/libgomp.c/target-9.c: New test.
8446
f50eecba
VR
84472014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8448
8449 * config.h.in: Regenerate.
8450 * configure: Regenerate.
8451 * configure.ac: Add GCC_CHECK_EMUTLS.
8452 * libgomp.h: Add check for USE_EMUTLS: this case
8453 is equal to HAVE_TLS.
8454 * team.c: Likewise.
8455
68bc9270
UB
84562014-12-03 Uros Bizjak <ubizjak@gmail.com>
8457
8458 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8459
476ff787
AT
84602014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8461 Ilya Verbin <ilya.verbin@intel.com>
8462
8463 * testsuite/libgomp.c/target-critical-1.c: New test.
8464
31a30e62
JJ
84652014-11-26 Jakub Jelinek <jakub@redhat.com>
8466
8467 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 8468 to dg-options unless expensive testing is on.
31a30e62
JJ
8469 (TESTITERS): Define to N if not defined.
8470 (main): Use TESTITERS instead of N.
8471 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8472 dg-additional-options depending on whether expensive testing is on.
8473 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8474 Decrease N to 100000 and CHUNKSZ to 10000.
8475
3f9e8f13
JJ
84762014-11-24 Jakub Jelinek <jakub@redhat.com>
8477
8478 PR fortran/63938
31a30e62
JJ
8479 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8480 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 8481
c8451a46
SE
84822014-11-21 Steve Ellcey <sellcey@imgtec.com>
8483
8484 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8485
a699d672
L
84862014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8487
8488 PR bootstrap/63784
8489 * configure: Regenerated.
8490
4a19f719
UB
84912014-11-19 Uros Bizjak <ubizjak@gmail.com>
8492
8493 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8494 vect_simd_clones effective target.
8495 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8496
b1bf6c52
JJ
84972014-11-14 Jakub Jelinek <jakub@redhat.com>
8498
8499 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8500 of 32 as block_size.
8501 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8502 instead of 32 as block_size.
8503
d64ae614
AT
85042014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8505 Ilya Verbin <ilya.verbin@intel.com>
8506
8507 * Makefile.in: Regenerate.
8508 * configure: Regenerate.
8509 * configure.ac: Set up offload_additional_options,
8510 offload_additional_lib_paths and offload_targets.
8511 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8512 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8513 * testsuite/Makefile.in: Regenerate.
8514 * testsuite/lib/libgomp.exp (libgomp_init): Append
8515 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8516 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8517 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8518
122d7303
AT
85192014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8520 Ilya Verbin <ilya.verbin@intel.com>
8521 Kirill Yukhin <kirill.yukhin@intel.com>
8522 Ilya Tocar <ilya.tocar@intel.com>
8523
8524 * testsuite/lib/libgomp.exp
8525 (check_effective_target_offload_device): New.
8526 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8527 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8528 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8529 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8530 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8531 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8532 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8533 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8534 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8535 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8536 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8537 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8538 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8539 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8540 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8541 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8542 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8543 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8544 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8545 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8546 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8547 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8548 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8549 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8550 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8551 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8552 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8553 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8554 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8555 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8556 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8557 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8558 * testsuite/libgomp.c/target-7.c: Fix test.
8559 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8560 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8561 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8562 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8563 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8564 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8565 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8566 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8567 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8568 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8569 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8570 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8571 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8572 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8573 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8574 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8575 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8576 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8577 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8578 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8579 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8580 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8581 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8582 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8583 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8584 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8585 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8586 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8587 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8588 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8589 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8590
1df3f842
JJ
85912014-11-13 Jakub Jelinek <jakub@redhat.com>
8592 Ilya Verbin <ilya.verbin@intel.com>
8593 Thomas Schwinge <thomas@codesourcery.com>
8594 Andrey Turetskiy <andrey.turetskiy@intel.com>
8595
8596 * libgomp.map (GOMP_4.0.1): New symbol version.
8597 Add GOMP_offload_register.
8598 * libgomp_target.h: New file.
8599 * splay-tree.h: New file.
8600 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8601 (gomp_target_init): New forward declaration.
8602 (gomp_is_initialized): New static variable.
8603 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8604 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8605 New structures.
8606 (offload_images, num_offload_images, devices, num_devices): New static
8607 variables.
8608 (splay_compare): New static function.
8609 (struct gomp_device_descr): New structure.
8610 (gomp_get_num_devices): Call gomp_target_init.
8611 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8612 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8613 (GOMP_offload_register): New function.
8614 (GOMP_target): Arrange for host callback to be performed in a separate
8615 initial thread and contention group, inheriting ICVs from
8616 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8617 Add device initialization and lookup for target function in splay tree.
8618 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8619 (GOMP_target_end_data): Call gomp_unmap_vars.
8620 (GOMP_target_update): Add device initialization and call gomp_update.
8621 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8622 (gomp_target_init): New static functions.
8623
85c64bbe
BS
86242014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8625 Thomas Schwinge <thomas@codesourcery.com>
8626 Ilya Verbin <ilya.verbin@intel.com>
8627 Andrey Turetskiy <andrey.turetskiy@intel.com>
8628
8629 * config.h.in: Regenerate.
8630 * configure: Regenerate.
8631 * configure.ac: Check for libdl, required for plugin support.
8632 (PLUGIN_SUPPORT): Define if plugins are supported.
8633 (enable_offload_targets): Support Intel MIC targets.
8634 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8635
ebf6d33b
FXC
86362014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8637
8638 PR target/63610
8639 * configure: Regenerate.
8640
8c768629
RO
86412014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8642
8643 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8644
c1d62412
MP
86452014-10-06 Marek Polacek <polacek@redhat.com>
8646
8647 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8648 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8649 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8650 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8651
44a0c6cb
MP
86522014-10-06 Marek Polacek <polacek@redhat.com>
8653
8654 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8655 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8656 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8657 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8658 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8659 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8660 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8661 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8662 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8663 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8664 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8665 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8666 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8667 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8668 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8669 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8670 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8671 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8672 declarations.
8673
5771c391
JJ
86742014-10-03 Jakub Jelinek <jakub@redhat.com>
8675
8676 PR libgomp/61200
8677 * testsuite/libgomp.c/pr61200.c: New test.
8678
bce16b88
JJ
86792014-09-18 Jakub Jelinek <jakub@redhat.com>
8680
8681 PR c++/63248
8682 * testsuite/libgomp.c++/pr63248.C: New test.
8683
3696163c
JJ
86842014-08-04 Jakub Jelinek <jakub@redhat.com>
8685
8686 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8687 is not zero, but taskgroup->children is NULL and there are
8688 any task->children, schedule those instead of waiting.
8689 * testsuite/libgomp.c/depend-6.c: New test.
8690 * testsuite/libgomp.c/depend-7.c: New test.
8691 * testsuite/libgomp.c/depend-8.c: New test.
8692 * testsuite/libgomp.c/depend-9.c: New test.
8693 * testsuite/libgomp.c/depend-10.c: New test.
8694
0494285a
JJ
86952014-08-01 Jakub Jelinek <jakub@redhat.com>
8696
8697 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8698 (struct gomp_taskwait): New type.
8699 (struct gomp_task): Add taskwait and parent_depends_on, remove
8700 in_taskwait and taskwait_sem fields.
8701 (gomp_finish_task): Don't destroy taskwait_sem.
8702 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8703 taskwait and parent_depends_on.
8704 (GOMP_task): For if (0) tasks with depend clause that depend on
8705 earlier tasks don't defer them, instead call
8706 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8707 Initialize redundant_out field, for redundant out entries just
8708 move them at the end of linked list instead of removing them
8709 completely, and set redundant_out flag instead of redundant.
8710 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8711 that task.
8712 (gomp_task_run_post_handle_dependers): If parent is in
8713 gomp_task_maybe_wait_for_dependencies and newly runnable task
8714 is not parent_depends_on, queue it in parent->children linked
8715 list after all runnable tasks with parent_depends_on set.
8716 Adjust for addition of taskwait indirection.
8717 (gomp_task_run_post_remove_parent): If parent is in
8718 gomp_task_maybe_wait_for_dependencies and task to be removed
8719 is parent_depends_on, decrement n_depend and if needed awake
8720 parent. Adjust for addition of taskwait indirection.
8721 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8722 (gomp_task_maybe_wait_for_dependencies): New function.
8723 * testsuite/libgomp.c/depend-5.c: New test.
8724
60ab4b44
TB
87252014-07-13 Tobias Burnus <burnus@net-b.de>
8726
8727 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 8728 with TS 18508/Fortran 2015.
60ab4b44 8729
773ec47f
MP
87302014-07-06 Marek Polacek <polacek@redhat.com>
8731
8732 PR c/6940
8733 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8734
f707da16
JJ
87352014-07-03 Jakub Jelinek <jakub@redhat.com>
8736
8737 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8738 matches regex $lang_source_re, add $lang_include_flags to options.
8739 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8740 * testsuite/libgomp.c++/c++.exp: Likewise.
8741 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8742 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8743 ALWAYS_CFLAGS.
8744 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8745
07b6c044
TS
87462014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8747
8748 * testsuite/libgomp.fortran/fortran.exp: Explain
8749 gfortran-dg-runtest usage.
8750
da6f124d
JJ
87512014-06-25 Jakub Jelinek <jakub@redhat.com>
8752
8753 * testsuite/libgomp.fortran/simd5.f90: New test.
8754 * testsuite/libgomp.fortran/simd6.f90: New test.
8755 * testsuite/libgomp.fortran/simd7.f90: New test.
8756
b46ebd6c
JJ
87572014-06-24 Jakub Jelinek <jakub@redhat.com>
8758
56ad0e38
JJ
8759 * testsuite/libgomp.c/for-2.c: Define SC to static for
8760 #pragma omp for simd testing.
8761 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8762 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8763 SC macro.
8764 * testsuite/libgomp.c/simd-14.c: New test.
8765 * testsuite/libgomp.c/simd-15.c: New test.
8766 * testsuite/libgomp.c/simd-16.c: New test.
8767 * testsuite/libgomp.c/simd-17.c: New test.
8768 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8769 #pragma omp for simd testing.
8770 * testsuite/libgomp.c++/simd10.C: New test.
8771 * testsuite/libgomp.c++/simd11.C: New test.
8772 * testsuite/libgomp.c++/simd12.C: New test.
8773 * testsuite/libgomp.c++/simd13.C: New test.
8774
b46ebd6c
JJ
8775 * testsuite/libgomp.fortran/aligned1.f03: New test.
8776 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8777 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8778 tasks with !$omp parallel !$omp single.
8779 * testsuite/libgomp.fortran/target8.f90: New test.
8780 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8781 not to use trim in the combiner, instead call elemental function.
8782 (fn): New elemental function.
8783 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8784 Make elemental.
8785 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8786 omp_in): Likewise.
8787 * testsuite/libgomp.fortran/udr12.f90: New test.
8788 * testsuite/libgomp.fortran/udr13.f90: New test.
8789 * testsuite/libgomp.fortran/udr14.f90: New test.
8790 * testsuite/libgomp.fortran/udr15.f90: New test.
8791
f014c653
JJ
87922014-06-18 Jakub Jelinek <jakub@redhat.com>
8793
8794 * omp_lib.f90.in (openmp_version): Set to 201307.
8795 * omp_lib.h.in (openmp_version): Likewise.
8796 * testsuite/libgomp.c/target-8.c: New test.
8797 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8798 and inbranch clauses.
8799 * testsuite/libgomp.fortran/depend-3.f90: New test.
8800 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8801 openmp_version.
8802 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8803 * testsuite/libgomp.fortran/target1.f90: New test.
8804 * testsuite/libgomp.fortran/target2.f90: New test.
8805 * testsuite/libgomp.fortran/target3.f90: New test.
8806 * testsuite/libgomp.fortran/target4.f90: New test.
8807 * testsuite/libgomp.fortran/target5.f90: New test.
8808 * testsuite/libgomp.fortran/target6.f90: New test.
8809 * testsuite/libgomp.fortran/target7.f90: New test.
8810
92d28cbb
JJ
88112014-06-10 Jakub Jelinek <jakub@redhat.com>
8812
8813 PR fortran/60928
8814 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8815 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8816 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8817 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8818 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8819 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8820 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8821 * testsuite/libgomp.fortran/associate1.f90: New test.
8822 * testsuite/libgomp.fortran/associate2.f90: New test.
8823 * testsuite/libgomp.fortran/procptr1.f90: New test.
8824
5f23671d
JJ
88252014-06-06 Jakub Jelinek <jakub@redhat.com>
8826
8827 * testsuite/libgomp.fortran/simd1.f90: New test.
8828 * testsuite/libgomp.fortran/udr1.f90: New test.
8829 * testsuite/libgomp.fortran/udr2.f90: New test.
8830 * testsuite/libgomp.fortran/udr3.f90: New test.
8831 * testsuite/libgomp.fortran/udr4.f90: New test.
8832 * testsuite/libgomp.fortran/udr5.f90: New test.
8833 * testsuite/libgomp.fortran/udr6.f90: New test.
8834 * testsuite/libgomp.fortran/udr7.f90: New test.
8835 * testsuite/libgomp.fortran/udr8.f90: New test.
8836 * testsuite/libgomp.fortran/udr9.f90: New test.
8837 * testsuite/libgomp.fortran/udr10.f90: New test.
8838 * testsuite/libgomp.fortran/udr11.f90: New test.
8839
0389fbb5
UB
88402014-05-27 Uros Bizjak <ubizjak@gmail.com>
8841
8842 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8843 vect_simd_clones effective target.
8844 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8845
decaaec8
JJ
88462014-05-21 Jakub Jelinek <jakub@redhat.com>
8847
8848 PR middle-end/61252
8849 * testsuite/libgomp.c++/simd-9.C: New test.
8850
72832460
UB
88512014-05-18 Uros Bizjak <ubizjak@gmail.com>
8852
8853 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8854 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8855 texts according to their @menu entry positions.
8856
dd2fc525
JJ
88572014-05-11 Jakub Jelinek <jakub@redhat.com>
8858
8859 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8860 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8861 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8862 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8863 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8864 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8865 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8866 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8867 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8868 * testsuite/libgomp.fortran/depend-1.f90: New test.
8869 * testsuite/libgomp.fortran/depend-2.f90: New test.
8870 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8871 * testsuite/libgomp.fortran/simd1.f90: New test.
8872 * testsuite/libgomp.fortran/simd2.f90: New test.
8873 * testsuite/libgomp.fortran/simd3.f90: New test.
8874 * testsuite/libgomp.fortran/simd4.f90: New test.
8875 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8876
95782571
JJ
88772014-05-02 Jakub Jelinek <jakub@redhat.com>
8878
8879 * testsuite/libgomp.c/simd-10.c: New test.
8880 * testsuite/libgomp.c/simd-11.c: New test.
8881 * testsuite/libgomp.c/simd-12.c: New test.
8882 * testsuite/libgomp.c/simd-13.c: New test.
8883
f7468577
JJ
88842014-04-24 Jakub Jelinek <jakub@redhat.com>
8885
42056eac
JJ
8886 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8887 atomic type clauses in any order and optional comma in between.
8888 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8889 * testsuite/libgomp.c/atomic-17.c: Likewise.
8890
f7468577
JJ
8891 * testsuite/libgomp.c/simd-7.c: New test.
8892 * testsuite/libgomp.c/simd-8.c: New test.
8893 * testsuite/libgomp.c/simd-9.c: New test.
8894 * testsuite/libgomp.c/loop-16.c: New test.
8895
ab18f2f5
RH
88962014-04-02 Richard Henderson <rth@redhat.com>
8897
8898 * config/linux/futex.h (futex_wait): Get error value from errno.
8899 (futex_wake): Likewise.
8900
8bcc90b0
JJ
89012014-03-25 Jakub Jelinek <jakub@redhat.com>
8902
8903 PR c++/60331
8904 * testsuite/libgomp.c++/udr-11.C: New test.
8905 * testsuite/libgomp.c++/udr-12.C: New test.
8906 * testsuite/libgomp.c++/udr-13.C: New test.
8907 * testsuite/libgomp.c++/udr-14.C: New test.
8908 * testsuite/libgomp.c++/udr-15.C: New test.
8909 * testsuite/libgomp.c++/udr-16.C: New test.
8910 * testsuite/libgomp.c++/udr-17.C: New test.
8911 * testsuite/libgomp.c++/udr-18.C: New test.
8912 * testsuite/libgomp.c++/udr-19.C: New test.
8913
18d73c7f
RS
89142014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8915
8916 Update copyright years
8917
f9030485
RS
89182014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8919
8920 * hashtab.h: Use the standard form for the copyright notice.
8921
98db73df
TB
89222014-01-02 Tobias Burnus <burnus@net-b.de>
8923
8924 * libgomp.texi: Bump @copying's copyright year.
8925
ae246f7f
AT
89262013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8927
93d90219 8928 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
8929 alloca () with __builtin_alloca ().
8930 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8931 * testsuite/libgomp.c/lock-3.c: Likewise.
8932 * testsuite/libgomp.c/pr48591.c: Likewise.
8933
fa00a5fe
JJ
89342013-12-17 Jakub Jelinek <jakub@redhat.com>
8935
8936 PR testsuite/59534
8937 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8938 comparisons.
8939
e9792e1d
JJ
89402013-12-16 Jakub Jelinek <jakub@redhat.com>
8941
8942 PR libgomp/58756
8943 * testsuite/libgomp.c/pr58756.c: New test.
8944
cab37c89
JJ
89452013-12-12 Jakub Jelinek <jakub@redhat.com>
8946
8947 PR libgomp/59467
8948 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8949 !$omp parallel.
8950
de14871c
TS
89512013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8952
1707a5de
TS
8953 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8954 ALWAYS_CFLAGS.
8955 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8956 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8957 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8958 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8959 Likewise.
8960
70f05c43
TS
8961 * libgomp_g.h: Include <stddef.h> for size_t.
8962
de14871c
TS
8963 * libgomp.spec.in: Update comment about libgomp's dependencies.
8964 * configure.ac: Likewise.
8965 * configure: Regenerate.
8966
83fd6c5b
TB
89672013-10-16 Tobias Burnus <burnus@net-b.de>
8968
8969 * libgomp.texi: (Runtime Library Routines): Update references for
8970 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8971 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8972 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8973 (Environment Variables): Update references for OpenMP 4.0. Add
8974 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8975 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8976 order.
8977
c8673881
JJ
89782013-10-14 Jakub Jelinek <jakub@redhat.com>
8979
8980 * env.c (parse_bind_var): Initialize value to avoid
8981 (false positive) warning.
8982
f89163fd
JJ
89832013-10-12 Jakub Jelinek <jakub@redhat.com>
8984
8985 PR libgomp/58691
8986 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8987 to check variable.
8988 (gomp_init_num_threads): Move i variable declaration into
8989 #ifdef CPU_ALLOC_SIZE block.
8990 * config/linux/affinity.c (gomp_affinity_init_level): Test
8991 gomp_places_list_len == 0 rather than gomp_places_list == 0
8992 when checking for topology reading error.
8993 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8994 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8995 gomp_places_list, only parse env var and always return false.
8996 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8997 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8998 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8999 and either of these variables were parsed correctly into a places
9000 list.
9001
1d340638
TS
90022013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9003 Jakub Jelinek <jakub@redhat.com>
9004
9005 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9006 of 5 loopfn matches.
9007 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9008 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9009 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9010 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9011 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9012 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9013 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9014 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9015
71a81c21
TS
90162013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9017
bd87f731
TS
9018 * Makefile.am (omp_lib.mod): Streamline rule.
9019 * Makefile.in: Regenerate.
9020
f5745bed
TS
9021 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9022 exceptions.
9023
b5512c66
TS
9024 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9025 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9026 * testsuite/libgomp.fortran/lib2.f: Likewise.
9027 * testsuite/libgomp.fortran/lib3.f: Likewise.
9028
451c19c4
TS
9029 * configure.ac: Typo fix.
9030 * configure: Regenerate.
9031
86a6016d
TS
9032 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9033 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9034
71a81c21
TS
9035 * omp.h.in: Don't touch the user's namespace.
9036
acf0174b
JJ
90372013-10-11 Jakub Jelinek <jakub@redhat.com>
9038 Tobias Burnus <burnus@net-b.de>
9039 Richard Henderson <rth@redhat.com>
9040
9041 * target.c: New file.
9042 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9043 * Makefile.in: Regenerated.
9044 * libgomp_g.h (GOMP_task): Add depend argument.
9045 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9046 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9047 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9048 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9049 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9050 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9051 GOMP_taskgroup_start, GOMP_taskgroup_end,
9052 GOMP_parallel_sections): New prototypes.
9053 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9054 (omp_is_initial_device_): New function.
9055 (ULP, STR1, STR2, ialias_redirect): Removed.
9056 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9057 omp_set_default_device_8_, omp_get_default_device_,
9058 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9059 functions.
9060 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9061 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9062 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9063 @@GOMP_4.0.
9064 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9065 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9066 omp_set_default_device, omp_set_default_device_,
9067 omp_set_default_device_8_, omp_get_default_device,
9068 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9069 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9070 omp_get_team_num_): Export @@OMP_4.0.
9071 * team.c (struct gomp_thread_start_data): Add place field.
9072 (gomp_thread_start): Clear thr->thread_pool and
9073 thr->task before returning. Use gomp_team_barrier_wait_final
9074 instead of gomp_team_barrier_wait. Initialize thr->place.
9075 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9076 team_cancelled and task_queued_count fields.
9077 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9078 before calling pthread_exit.
9079 (gomp_free_thread): No longer static. Use
9080 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9081 (gomp_team_start): Add flags argument. Set
9082 thr->thread_pool->threads_busy to nthreads immediately after creating
9083 new pool. Use gomp_managed_threads_lock instead of
9084 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9085 (gomp_team_end): Use gomp_managed_threads_lock instead of
9086 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9087 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 9088 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
9089 rather than thr->ts.work_share.
9090 (initialize_team): Don't call gomp_sem_init here.
9091 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9092 caller.
9093 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9094 * env.c (gomp_global_icv): Add default_device_var, target_data and
9095 bind_var initializers.
9096 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9097 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9098 gomp_places_list_len): New variables.
9099 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9100 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9101 sized places.
9102 (gomp_cancel_var): New global variable.
9103 (parse_int): New function.
9104 (handle_omp_display_env): New function.
9105 (initialize_env): Use it. Initialize default_device_var.
9106 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9107 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9108 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9109 been successfully parsed (and call gomp_init_affinity in that case).
9110 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9111 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9112 omp_get_team_num, omp_is_initial_device): New functions.
9113 * libgomp.h: Include stdlib.h.
9114 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9115 Define.
9116 (struct target_mem_desc): Forward declare.
9117 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9118 and thread_limit_var fields.
9119 (gomp_get_num_devices): New prototype.
9120 (gomp_cancel_var): New extern decl.
9121 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9122 team_cancelled and task_queued_count fields. Add comments about
9123 task_{,queued_,running_}count.
9124 (gomp_cancel_kind): New enum.
9125 (gomp_work_share_end_cancel): New prototype.
9126 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9127 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9128 and depend fields.
9129 (struct gomp_taskgroup): New type.
9130 (struct gomp_task_depend_entry,
9131 struct gomp_dependers_vec): New types.
9132 (gomp_finish_task): Free depend_hash if non-NULL.
9133 (struct gomp_team_state): Add place_partition_off
9134 and place_partition_len fields.
9135 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9136 gomp_places_list_len): New extern decls.
9137 (struct gomp_thread): Add place field.
9138 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9139 (gomp_init_thread_affinity): Add place argument.
9140 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9141 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9142 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9143 gomp_affinity_init_level, gomp_affinity_print_place): New
9144 prototypes.
9145 (gomp_team_start): Add flags argument.
9146 (gomp_thread_limit_var, gomp_remaining_threads_count,
9147 gomp_remaining_threads_lock): Remove.
9148 (gomp_managed_threads_lock): New variable.
9149 (struct gomp_thread_pool): Add threads_busy field.
9150 (gomp_free_thread): New prototype.
9151 * task.c: Include hashtab.h.
9152 (hash_entry_type): New typedef.
9153 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9154 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9155 copy_ctors_done and taskgroup fields.
9156 (GOMP_task): Add depend argument, handle depend clauses. If
9157 gomp_team_barrier_cancelled or if it's taskgroup has been
9158 cancelled, don't queue or start new tasks. Set copy_ctors_done
9159 field if needed. Initialize taskgroup field. If copy_ctors_done
9160 and already cancelled, don't discard the task. If taskgroup is
9161 non-NULL, enqueue the task into taskgroup queue. Increment
9162 num_children field in taskgroup. Increment task_queued_count.
9163 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9164 gomp_task_run_post_remove_taskgroup): New inline functions.
9165 (gomp_task_run_post_handle_depend_hash,
9166 gomp_task_run_post_handle_dependers,
9167 gomp_task_run_post_handle_depend): New functions.
9168 (GOMP_taskwait): Use them. If more than one new tasks
9169 have been queued, wake other threads if needed.
9170 (gomp_barrier_handle_tasks): Likewise. If
9171 gomp_team_barrier_cancelled, don't start any new tasks, just free
9172 all tasks.
9173 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9174 * omp_lib.f90.in
9175 (omp_proc_bind_kind, omp_proc_bind_false,
9176 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9177 omp_proc_bind_spread): New params.
9178 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9179 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9180 omp_get_team_num, omp_is_initial_device): New interfaces.
9181 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9182 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9183 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9184 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9185 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9186 useless use omp_lib_kinds.
9187 * omp.h.in (omp_proc_bind_t): New typedef.
9188 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9189 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9190 omp_get_team_num, omp_is_initial_device): New prototypes.
9191 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9192 through to gomp_team_start.
9193 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9194 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9195 Adjust gomp_parallel_loop_start callers.
9196 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9197 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9198 GOMP_loop_end_cancel): New functions.
9199 (GOMP_parallel_end): Add ialias_redirect.
9200 * hashtab.h: New file.
9201 * libgomp.texi (Environment Variables): Minor cleanup,
9202 update section refs to OpenMP 4.0rc2.
9203 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9204 environment variables.
9205 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9206 team->work_shares_to_free to thr->ts.work_share before calling
9207 free_work_share.
9208 (gomp_work_share_end_cancel): New function.
9209 * config/linux/proc.c: Include errno.h.
9210 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9211 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9212 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9213 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9214 gomp_cpuset_size is sizeof (cpu_set_t).
9215 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9216 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9217 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9218 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9219 contain any logical CPUs.
9220 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9221 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9222 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9223 pthread_getaffinity_np. Check gomp_places_list instead of
9224 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9225 * config/linux/bar.c (gomp_barrier_wait_end,
9226 gomp_barrier_wait_last): Use BAR_* defines.
9227 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9228 from state where needed. Set work_share_cancelled to 0 on last
9229 thread.
9230 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9231 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9232 functions.
9233 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9234 Add cpusetsize argument.
9235 (gomp_cpuset_size, gomp_cpusetp): Declare.
9236 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9237 (affinity_counter): Remove.
9238 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9239 if CPU_ALLOC_SIZE isn't defined.
9240 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9241 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9242 bind current thread to the first place.
9243 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9244 pthread_setaffinity_np to gomp_places_list[place].
9245 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9246 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9247 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9248 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9249 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9250 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9251 (gomp_barrier_t): Add awaited_final field.
9252 (gomp_barrier_init): Initialize awaited_final field.
9253 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9254 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9255 prototypes.
9256 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9257 defines.
9258 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9259 gomp_team_barrier_cancelled): New inline functions.
9260 (gomp_barrier_last_thread,
9261 gomp_team_barrier_set_task_pending,
9262 gomp_team_barrier_clear_task_pending,
9263 gomp_team_barrier_set_waiting_for_tasks,
9264 gomp_team_barrier_waiting_for_tasks,
9265 gomp_team_barrier_done): Use BAR_* defines.
9266 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9267 (gomp_barrier_wait_end): Use BAR_* defines.
9268 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9269 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9270 Use BAR_* defines.
9271 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9272 gomp_team_barrier_cancel): New functions.
9273 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9274 argument.
9275 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9276 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9277 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9278 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9279 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9280 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9281 (gomp_barrier_t): Add cancellable field.
9282 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9283 gomp_team_barrier_cancel): New prototypes.
9284 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9285 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9286 gomp_team_barrier_cancelled): New inline functions.
9287 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9288 gomp_team_barrier_set_task_pending,
9289 gomp_team_barrier_clear_task_pending,
9290 gomp_team_barrier_set_waiting_for_tasks,
9291 gomp_team_barrier_waiting_for_tasks,
9292 gomp_team_barrier_done): Use BAR_* defines.
9293 * barrier.c (GOMP_barrier_cancel): New function.
9294 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9295 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9296 omp_proc_bind_spread): New params.
9297 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9298 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9299 omp_get_team_num, omp_is_initial_device): New externals.
9300 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9301 New functions.
9302 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9303 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9304 infinity. If not nested, just return minimum of max_num_threads
9305 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9306 to the returned value. Otherwise, don't update atomically
9307 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9308 (GOMP_parallel_end): Adjust for thread_limit now being in
9309 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9310 infinity. Adjust threads_busy in the pool rather than
9311 gomp_remaining_threads_count. Remember team->nthreads and call
9312 gomp_team_end before adjusting threads_busy, if not nested
9313 afterwards, just set it to 1 non-atomically. Add ialias.
9314 (GOMP_parallel_start): Adjust gomp_team_start caller.
9315 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9316 * testsuite/libgomp.c/affinity-1.c: New test.
9317 * testsuite/libgomp.c/atomic-15.c: New test.
9318 * testsuite/libgomp.c/atomic-16.c: New test.
9319 * testsuite/libgomp.c/atomic-17.c: New test.
9320 * testsuite/libgomp.c/cancel-for-1.c: New test.
9321 * testsuite/libgomp.c/cancel-for-2.c: New test.
9322 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9323 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9324 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9325 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9326 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9327 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9328 * testsuite/libgomp.c/depend-1.c: New test.
9329 * testsuite/libgomp.c/depend-2.c: New test.
9330 * testsuite/libgomp.c/depend-3.c: New test.
9331 * testsuite/libgomp.c/depend-4.c: New test.
9332 * testsuite/libgomp.c/for-1.c: New test.
9333 * testsuite/libgomp.c/for-1.h: New file.
9334 * testsuite/libgomp.c/for-2.c: New test.
9335 * testsuite/libgomp.c/for-2.h: New file.
9336 * testsuite/libgomp.c/for-3.c: New test.
9337 * testsuite/libgomp.c/pr58392.c: New test.
9338 * testsuite/libgomp.c/simd-1.c: New test.
9339 * testsuite/libgomp.c/simd-2.c: New test.
9340 * testsuite/libgomp.c/simd-3.c: New test.
9341 * testsuite/libgomp.c/simd-4.c: New test.
9342 * testsuite/libgomp.c/simd-5.c: New test.
9343 * testsuite/libgomp.c/simd-6.c: New test.
9344 * testsuite/libgomp.c/target-1.c: New test.
9345 * testsuite/libgomp.c/target-2.c: New test.
9346 * testsuite/libgomp.c/target-3.c: New test.
9347 * testsuite/libgomp.c/target-4.c: New test.
9348 * testsuite/libgomp.c/target-5.c: New test.
9349 * testsuite/libgomp.c/target-6.c: New test.
9350 * testsuite/libgomp.c/target-7.c: New test.
9351 * testsuite/libgomp.c/taskgroup-1.c: New test.
9352 * testsuite/libgomp.c/thread-limit-1.c: New test.
9353 * testsuite/libgomp.c/thread-limit-2.c: New test.
9354 * testsuite/libgomp.c/thread-limit-3.c: New test.
9355 * testsuite/libgomp.c/udr-1.c: New test.
9356 * testsuite/libgomp.c/udr-2.c: New test.
9357 * testsuite/libgomp.c/udr-3.c: New test.
9358 * testsuite/libgomp.c++/affinity-1.C: New test.
9359 * testsuite/libgomp.c++/atomic-10.C: New test.
9360 * testsuite/libgomp.c++/atomic-11.C: New test.
9361 * testsuite/libgomp.c++/atomic-12.C: New test.
9362 * testsuite/libgomp.c++/atomic-13.C: New test.
9363 * testsuite/libgomp.c++/atomic-14.C: New test.
9364 * testsuite/libgomp.c++/atomic-15.C: New test.
9365 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9366 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9367 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9368 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9369 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9370 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9371 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9372 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9373 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9374 * testsuite/libgomp.c++/cancel-test.h: New file.
9375 * testsuite/libgomp.c++/for-9.C: New test.
9376 * testsuite/libgomp.c++/for-10.C: New test.
9377 * testsuite/libgomp.c++/for-11.C: New test.
9378 * testsuite/libgomp.c++/simd-1.C: New test.
9379 * testsuite/libgomp.c++/simd-2.C: New test.
9380 * testsuite/libgomp.c++/simd-3.C: New test.
9381 * testsuite/libgomp.c++/simd-4.C: New test.
9382 * testsuite/libgomp.c++/simd-5.C: New test.
9383 * testsuite/libgomp.c++/simd-6.C: New test.
9384 * testsuite/libgomp.c++/simd-7.C: New test.
9385 * testsuite/libgomp.c++/simd-8.C: New test.
9386 * testsuite/libgomp.c++/target-1.C: New test.
9387 * testsuite/libgomp.c++/target-2.C: New test.
9388 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9389 * testsuite/libgomp.c++/target-3.C: New test.
9390 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9391 * testsuite/libgomp.c++/udr-1.C: New test.
9392 * testsuite/libgomp.c++/udr-2.C: New test.
9393 * testsuite/libgomp.c++/udr-3.C: New test.
9394 * testsuite/libgomp.c++/udr-4.C: New test.
9395 * testsuite/libgomp.c++/udr-5.C: New test.
9396 * testsuite/libgomp.c++/udr-6.C: New test.
9397 * testsuite/libgomp.c++/udr-7.C: New test.
9398 * testsuite/libgomp.c++/udr-8.C: New test.
9399 * testsuite/libgomp.c++/udr-9.C: New test.
9400
bd599dea
JJ
94012013-09-20 Jakub Jelinek <jakub@redhat.com>
9402
9403 PR testsuite/57605
9404 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9405 ALWAYS_CFLAGS.
9406
3cbe17f7
AM
94072013-09-20 Alan Modra <amodra@gmail.com>
9408
9409 * configure: Regenerate.
9410
4befd127
JJ
94112013-09-19 Jakub Jelinek <jakub@redhat.com>
9412
9413 * testsuite/libgomp.c/sections-2.c: New test.
9414
946c8f7b
MS
94152013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9416
9417 * testsuite/libgomp.fortran/strassen.f90:
9418 Add dg-skip-if aarch64_tiny.
9419
1ef3b58e
IS
94202013-06-20 Iain Sandoe <iain@codesourcery.com>
9421 Cesar Philippidis <cesar@codesourcery.com>
9422
9423 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9424 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9425 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9426 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9427 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9428 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9429 Use dg-runtest rather than gfortran-dg-runtest.
9430
9275f73a
TS
94312013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9432
9433 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9434 Linux-based x86 systems to cover all GNU systems.
9435 * testsuite/libgomp.c/lock-3.c: Likewise.
9436 * testsuite/libgomp.c/pr48591.c: Likewise.
9437
492992e2
TS
94382013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9439
48df3acb
TS
9440 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9441 GNU/Hurd, as done for Linux-based systems.
9442
492992e2
TS
9443 * config/posix/ptrlock.h: Fix comment.
9444
4fed6b25
TB
94452013-05-27 Tobias Burnus <burnus@net-b.de>
9446
9447 PR fortran/57423
9448 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9449 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9450 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9451 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9452 omp_destroy_nest_lock): Correct arguments to match the one in
9453 the OpenMP spec.
9454 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9455 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9456 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9457 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9458
5a0f4dd3
JJ
94592013-05-16 Jakub Jelinek <jakub@redhat.com>
9460
9461 * testsuite/libgomp.c/loop-13.c: New test.
9462 * testsuite/libgomp.c/loop-14.c: New test.
9463 * testsuite/libgomp.c/loop-15.c: New test.
9464 * testsuite/libgomp.c++/loop-13.C: New test.
9465 * testsuite/libgomp.c++/loop-14.C: New test.
9466 * testsuite/libgomp.c++/loop-15.C: New test.
9467
6d840d99
JJ
94682013-02-06 Jakub Jelinek <jakub@redhat.com>
9469
9470 PR middle-end/56217
9471 * testsuite/libgomp.c++/pr56217.C: New test.
9472
bed8d8a6
AM
94732013-02-01 Alan Modra <amodra@gmail.com>
9474
9475 * task.c (GOMP_task, GOMP_taskwait): Comment.
9476
3b35cd04
DV
94772013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9478 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9479
9480 PR libgomp/55561
9481 * config/linux/wait.h (do_spin): Use atomic load for addr.
9482 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9483 for intptr and ptrlock.
9484 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9485 for ptrlock.
9486
9a647288
AM
94872013-01-22 Alan Modra <amodra@gmail.com>
9488
9489 PR libgomp/51376
9490 PR libgomp/56073
9491 * task.c (GOMP_task): Revert 2011-12-09 change.
9492 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9493 barrier to read task->children..
9494 (gomp_barrier_handle_tasks): ..and matching atomic store with
9495 release barrier here when setting parent->children to NULL.
9496
f34dea03
JJ
94972013-01-16 Jakub Jelinek <jakub@redhat.com>
9498 Tobias Burnus <burnus@net-b.de>
9499
9500 PR driver/55884
9501 * testsuite/libgomp.fortran/fortran.exp: Use
9502 -fintrinsic-modules-path= instead of
9503 -fintrinsic-modules-path.
9504
8129609c
RS
95052013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9506
9507 Update copyright years.
9508
aa86bf1e
TB
95092012-12-19 Tobias Burnus <burnus@net-b.de>
9510
9511 * testsuite/libgomp.fortran/fortran.exp: Set
9512 -fintrinsic-modules-path.
9513
2865ea66
TB
95142012-12-19 Tobias Burnus <burnus@net-b.de>
9515
9516 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9517 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9518
4c5ba8d0
JJ
95192012-11-21 Jakub Jelinek <jakub@redhat.com>
9520
9521 PR libgomp/55411
9522 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9523 if pool had any threads_used.
9524
e9f958c2
JH
95252012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9526
9527 * testsuite/libgomp.c++/pr24455.C: Use
9528 -Wl,-undefined,dynamic_lookup on darwin.
9529
a57d75dc
DE
95302012-11-07 David Edelsohn <dje.gcc@gmail.com>
9531
9532 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9533
c6c08485
DH
95342012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9535
9536 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9537
c1f37c00
IB
95382012-10-23 Ian Bolton <ian.bolton@arm.com>
9539 Jim MacArthur <jim.macarthur@arm.com>
9540 Marcus Shawcroft <marcus.shawcroft@arm.com>
9541 Nigel Stephens <nigel.stephens@arm.com>
9542 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9543 Richard Earnshaw <rearnsha@arm.com>
9544 Sofiane Naci <sofiane.naci@arm.com>
9545 Stephen Thomas <stephen.thomas@arm.com>
9546 Tejas Belagod <tejas.belagod@arm.com>
9547 Yufeng Zhang <yufeng.zhang@arm.com>
9548
9549 * configure.tgt: Add AArch64.
9550
7c424acd
JM
95512012-10-04 Jason Merrill <jason@redhat.com>
9552
9553 * testsuite/libgomp.c++/tls-init1.C: New.
9554
6608378b
DE
95552012-09-14 David Edelsohn <dje.gcc@gmail.com>
9556
9557 * configure: Regenerated.
9558
c24dbebb
CLT
95592012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9560
9561 * config/linux/mips/futex.h (sys_futex0): Change to static
9562 function with noinline, nomips16 attributes under MIPS16. Adjust
9563 asm statement to place 'li v0,SYS_futex' immediately before
9564 syscall insn.
9565
3d3949df
SL
95662012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9567
9568 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9569 conflict with index.html on case-insensitive file systems.
9570
68a12ef3
UB
95712012-07-03 Uros Bizjak <ubizjak@gmail.com>
9572
9573 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9574 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9575
33ad93b9 95762012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
9577 Michael Matz <matz@suse.de>
9578 Tobias Grosser <tobias@grosser.es>
9579 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
9580
9581 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9582 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9583 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9584 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9585
e6fdc918
AS
95862012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9587
9588 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9589
62e0a1ed
RG
95902012-06-22 Richard Guenther <rguenther@suse.de>
9591
9592 Merge from graphite branch
9593 2012-01-13 Tobias Grosser <tobias@grosser.es>
9594
9595 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9596 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9597
26127932
JJ
95982012-06-07 Jakub Jelinek <jakub@redhat.com>
9599
9600 PR middle-end/53580
9601 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9602 use GOMP_barrier () call instead.
9603 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9604 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9605 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9606 call GOMP_barrier instead.
9607 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9608
43fa5db5
JJ
96092012-06-06 Jakub Jelinek <jakub@redhat.com>
9610
9611 PR libgomp/52993
9612 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9613 argument to memset call.
9614
e6d5f8c9
L
96152012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9616
9617 * configure: Regenerated.
9618
559d990c
MLI
96192012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9620
9621 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9622
b9c23a61
L
96232012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9624
9625 PR bootstrap/52812
9626 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9627
c140ddf3
JJ
96282012-03-22 Jakub Jelinek <jakub@redhat.com>
9629
9630 PR middle-end/52547
9631 * testsuite/libgomp.c/pr52547.c: New test.
9632
6a26a74d
BRF
96332012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9634
9635 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9636
b24513a1
RO
96372012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9638
9639 * configure.tgt (mips-sgi-irix6*): Remove.
9640
5c30094f
RO
96412012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9642
9643 * configure.tgt (alpha*-dec-osf*): Remove.
9644
9645 * config/osf/sem.h: Remove.
9646 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9647
a339c9d6
EB
96482012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9649
9650 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9651
cc2de92d
RO
96522012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9653
9654 PR libstdc++/52188
9655 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9656 Remove ENABLE_SYMVERS_SOL2.
9657 * configure: Regenerate.
9658 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9659 (PREPROCESS): New variable.
9660 (libgomp.ver): New target.
9661 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9662 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9663 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9664 Use libgomp.ver.
9665 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9666 * Makefile.in: Regenerate.
9667
dd552284
WL
96682012-02-14 Walter Lee <walt@tilera.com>
9669
9670 * configure.tgt: Handle tilegx and tilepro.
9671 * config/linux/tile/futex.h: New file.
9672
31432e21
RG
96732012-02-08 Richard Guenther <rguenther@suse.de>
9674
9675 PR tree-optimization/46886
9676 * testsuite/libgomp.c/pr46886.c: New testcase.
9677
b9264b5f
MK
96782012-01-25 Matthias Klose <doko@ubuntu.com>
9679
9680 * config/linux/arm: Remove empty directory.
9681 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9682
fbf7be80
AM
96832011-12-09 Alan Modra <amodra@gmail.com>
9684
9685 PR libgomp/51376
9686 * task.c (GOMP_taskwait): Don't access task->children outside of
9687 task_lock mutex region.
9688 (GOMP_task): Likewise.
9689
5de62d00
JJ
96902011-12-06 Jakub Jelinek <jakub@redhat.com>
9691
9692 PR libgomp/51132
9693 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9694 to file scope.
9695 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9696 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9697 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9698 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9699 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9700
45608a43
AM
97012011-12-02 Alan Modra <amodra@gmail.com>
9702
9703 * config/linux/affinity.c: Use atomic rather than sync builtin.
9704 * config/linux/lock.c: Likewise.
9705 * config/linux/ptrlock.h: Likewise.
9706 * config/linux/ptrlock.c: Likewise.
9707 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9708 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9709 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9710 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9711 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9712 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9713 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9714 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9715 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9716 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9717
ab6dd406
AM
97182011-11-30 Alan Modra <amodra@gmail.com>
9719
9720 PR libgomp/51298
9721 * config/linux/bar.h: Use atomic rather than sync builtins.
9722 * config/linux/bar.c: Likewise. Add missing acquire
9723 synchronisation on generation field.
9724 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9725 double unlock.
9726
b40c885f
AM
97272011-11-30 Alan Modra <amodra@gmail.com>
9728
9729 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9730 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9731 * config/linux/mutex.h: Use atomic rather than sync builtins.
9732 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9733 * config/linux/omp-lock.h: Comment fix.
9734 * config/linux/arm/mutex.h: Delete.
9735 * config/linux/powerpc/mutex.h: Delete.
9736 * config/linux/ia64/mutex.h: Delete.
9737 * config/linux/mips/mutex.h: Delete.
9738
3e348fcc
AM
97392011-11-30 Alan Modra <amodra@gmail.com>
9740
9741 PR libgomp/51249
9742 * config/linux/sem.h: Rewrite.
9743 * config/linux/sem.c: Rewrite.
9744
cef86eb2
RH
97452011-11-28 Richard Henderson <rth@redhat.com>
9746
9747 * libgomp.h (enum memmodel): New.
9748
c6084f68
AT
97492011-11-21 Andreas Tobler <andreast@fgznet.ch>
9750
9751 * configure: Regenerate.
9752
06fe026c
MK
97532011-10-10 Matthias Klose <doko@ubuntu.com>
9754
9755 * config/posix95: Remove empty directory.
9756
a6c975bd
JJ
97572011-08-26 Jakub Jelinek <jakub@redhat.com>
9758
9759 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9760
c26dffff
JJ
97612011-08-19 Jakub Jelinek <jakub@redhat.com>
9762
9763 PR fortran/49792
9764 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9765 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9766
ddaad3c8
RO
97672011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9768
9769 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9770
98d03683
RO
97712011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9772
9773 PR libgomp/49965
9774 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9775
e0b23d9f
UB
97762011-08-03 Uros Bizjak <ubizjak@gmail.com>
9777
9778 * config/linux/proc.h: New.
9779 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9780 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9781 (gomp_init_num_threads): Update call to cpuset_popcount.
9782 (get_num_procs): Ditto.
9783 * config/linux/affinity.c (gomp_init_affinity): Call
9784 gomp_cpuset_popcount.
9785
20906c66
JJ
97862011-08-02 Jakub Jelinek <jakub@redhat.com>
9787
9788 PR fortran/42041
9789 PR fortran/46752
9790 * omp.h.in (omp_in_final): New prototype.
9791 * omp_lib.f90.in (omp_in_final): New interface.
9792 (omp_integer_kind, omp_logical_kind): Remove
9793 and replace all its uses in the module with 4.
9794 (openmp_version): Change to 201107.
9795 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9796 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9797 kind for the parameters.
9798 (omp_in_final): New external.
9799 (openmp_version): Change to 201107.
9800 * task.c (omp_in_final): New function.
9801 (gomp_init_task): Initialize final_task.
9802 (GOMP_task): Remove unused attribute from flags. Handle final
9803 tasks.
9804 (GOMP_taskyield): New function.
9805 (omp_in_final): Return true if if (false) or final (true) task
9806 or descendant of final (true).
9807 * fortran.c (omp_in_final_): New function.
9808 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9809 (GOMP_3.0): Export GOMP_taskyield.
9810 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9811 variables.
9812 (parse_unsigned_long_list): New function.
9813 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9814 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9815 even if parse_affinity returned false.
9816 * config/linux/affinity.c (gomp_init_affinity): Handle
9817 gomp_cpu_affinity_len == 0.
9818 * libgomp_g.h (GOMP_taskyield): New prototype.
9819 * libgomp.h (struct gomp_task): Add final_task field.
9820 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9821 * team.c (gomp_team_start): Override new task's nthreads_var icv
9822 if list form OMP_NUM_THREADS has been used and it has value for
9823 the new nesting level.
9824
9825 * testsuite/libgomp.c/atomic-11.c: New test.
9826 * testsuite/libgomp.c/atomic-12.c: New test.
9827 * testsuite/libgomp.c/atomic-13.c: New test.
9828 * testsuite/libgomp.c/atomic-14.c: New test.
9829 * testsuite/libgomp.c/reduction-6.c: New test.
9830 * testsuite/libgomp.c/task-5.c: New test.
9831 * testsuite/libgomp.c++/atomic-2.C: New test.
9832 * testsuite/libgomp.c++/atomic-3.C: New test.
9833 * testsuite/libgomp.c++/atomic-4.C: New test.
9834 * testsuite/libgomp.c++/atomic-5.C: New test.
9835 * testsuite/libgomp.c++/atomic-6.C: New test.
9836 * testsuite/libgomp.c++/atomic-7.C: New test.
9837 * testsuite/libgomp.c++/atomic-8.C: New test.
9838 * testsuite/libgomp.c++/atomic-9.C: New test.
9839 * testsuite/libgomp.c++/task-8.C: New test.
9840 * testsuite/libgomp.c++/reduction-4.C: New test.
9841 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9842 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9843 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9844 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9845 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9846 * testsuite/libgomp.fortran/pointer1.f90: New test.
9847 * testsuite/libgomp.fortran/pointer2.f90: New test.
9848 * testsuite/libgomp.fortran/task4.f90: New test.
9849
98502011-08-02 Tobias Burnus <burnus@net-b.de>
9851
9852 * libgomp.texi: Update OpenMP spec references to 3.1.
9853 (omp_in_final,OMP_PROC_BIND): New sections.
9854 (OMP_NUM_THREADS): Document that the value can be now a list.
9855 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9856
c01ecafc
L
98572011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9858
9859 * config/linux/x86/futex.h: Check __x86_64__ instead of
9860 __LP64__.
9861
25142650
JJ
98622011-07-29 Jakub Jelinek <jakub@redhat.com>
9863
9864 PR middle-end/49897
9865 PR middle-end/49898
9866 * testsuite/libgomp.c/pr49897-1.c: New test.
9867 * testsuite/libgomp.c/pr49897-2.c: New test.
9868 * testsuite/libgomp.c/pr49898-1.c: New test.
9869 * testsuite/libgomp.c/pr49898-2.c: New test.
9870
f53d712f
L
98712011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9872
9873 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9874 for ia32 instead of ilp32.
9875
9876 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9877 * testsuite/libgomp.c/atomic-6.c: Likewise.
9878
3689198d
SP
98792011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9880
9881 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9882 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9883
1a79cb73
RO
98842011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9885
9886 PR libgomp/45351
9887 * config/osf/sem.h: New file.
9888 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9889
c1f51484
RO
98902011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9891
9892 PR target/49541
9893 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9894 ldflags.
9895
bfee0724
JJ
98962011-07-15 Jakub Jelinek <jakub@redhat.com>
9897
9898 * config/linux/wait.h (do_spin): New inline, largely copied
9899 from do_wait, just don't do futex_wait here, instead return true if
9900 it should be done.
9901 (do_wait): Implement using do_spin.
9902 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9903 to prototype.
9904 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9905 __sync_bool_compare_and_swap, pass the oldval to
9906 gomp_mutex_lock_slow.
9907 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9908 If all mutex contenders are just spinning and not sleeping, don't
9909 change state to 2 unnecessarily. Optimize the loop when state has
9910 already become 2 to use just one atomic operation per loop instead
9911 of two.
9912 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9913 to prototype.
9914 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9915 __sync_bool_compare_and_swap, pass the oldval to
9916 gomp_mutex_lock_slow.
9917
fb79f500
JJ
99182011-06-22 Jakub Jelinek <jakub@redhat.com>
9919
9920 PR libgomp/49490
9921 * iter.c (gomp_iter_static_next): For chunk size 0
9922 only use n ceil/ nthreads size for the first
9923 n % nthreads threads in the team instead of
9924 all threads except for the last few ones which
9925 get less work or none at all.
9926 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9927 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9928 chunk argument, set run_sched_modifier to 0 for static
9929 resp. 1 for other kinds. If chunk argument is 0
9930 and not static, set value to 1.
9931
4577f730
JJ
99322011-05-19 Jakub Jelinek <jakub@redhat.com>
9933
ea93a47b
JJ
9934 PR c++/49043
9935 * testsuite/libgomp.c++/pr49043.C: New test.
9936
4577f730
JJ
9937 PR c++/48869
9938 * testsuite/libgomp.c++/pr48869.C: New test.
9939
e7385332
JJ
99402011-05-06 Jakub Jelinek <jakub@redhat.com>
9941
9942 PR fortran/48894
9943 * fortran.c: Include limits.h.
9944 (TO_INT): Define.
9945 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9946 *set.
9947 (omp_set_num_threads_8_, omp_set_schedule_8_,
9948 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9949 omp_get_team_size_8_): Use TO_INT macro.
9950 * testsuite/libgomp.fortran/pr48894.f90: New test.
9951
20790697
JJ
99522011-04-13 Jakub Jelinek <jakub@redhat.com>
9953
9954 PR middle-end/48591
9955 * testsuite/libgomp.c/pr48591.c: New test.
9956
bf382f5f
RO
99572011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9958
9959 PR bootstrap/48135
9960 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9961 * configure: Regenerate.
9962
113a53c1
JJ
99632011-02-27 Jakub Jelinek <jakub@redhat.com>
9964
9965 PR fortran/47886
9966 * testsuite/libgomp.fortran/task3.f90: New test.
9967
0024f1af
TB
99682011-02-24 Tobias Burnus <burnus@net-b.de>
9969
9970 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9971
21e1e594
JJ
99722011-02-23 Jakub Jelinek <jakub@redhat.com>
9973
9974 PR libgomp/47854
9975 * libgomp.texi (omp_get_wtime): Don't say time in the past
9976 must be Unix Epoch.
9977
67962076
JJ
99782011-02-18 Jakub Jelinek <jakub@redhat.com>
9979
9980 PR libgomp/47804
9981 * testsuite/libgomp.fortran/fortran.exp: Check for both
9982 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9983 but $blddir != "", still append ${blddir}/${lang_library_path}
9984 to ld_library_path.
9985
3808007c
TB
99862011-02-16 Tobias Burnus <burnus@net-b.de>
9987
9988 PR libgomp/47758
9989 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9990 of libquadmath.a before adding its libpath to ldflags.
9991
53b4d41d
JJ
99922011-02-14 Jakub Jelinek <jakub@redhat.com>
9993
9994 PR libgomp/47731
9995 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9996 to FUTEX_WAIT futex syscall.
9997 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9998
029c8f3e
RW
99992011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10000
10001 * configure: Regenerate.
10002
bddd6626
BK
100032011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10004
10005 PR libstdc++/36104
10006 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10007
f1d4ab26
GP
100082011-01-16 Gerald Pfeifer
10009
10010 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10011
2b503136
JJ
100122010-12-14 Jakub Jelinek <jakub@redhat.com>
10013
10014 PR fortran/46874
10015 * libgomp.fortran/allocatable6.f90: New test.
10016
c0f9d583
RO
100172010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10018
10019 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10020 * configure: Regenerate.
10021
7de6ba7a
DK
100222010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10023
10024 PR target/40125
10025 PR lto/46695
10026 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10027 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10028 * aclocal.m4: Regenerate.
10029 * configure: Regenerate.
10030 * Makefile.in: Regenerate.
10031 * testsuite/Makefile.in: Regenerate.
10032
b7516041
JJ
100332010-12-02 Jakub Jelinek <jakub@redhat.com>
10034
edaadf74
JJ
10035 PR fortran/46753
10036 * libgomp.fortran/pr46753.f90: New test.
10037
4c698cf8
JJ
10038 PR libgomp/43706
10039 * env.c (initialize_env): Default to spin count 300000
10040 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10041 is specified.
10042
b7516041
JJ
10043 PR libgomp/45240
10044 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10045 at the end if sync builtins aren't supported.
10046
6b43a34c
RO
100472010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10048
10049 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10050
950691fa
RO
100512010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10052
10053 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10054
fb9041ea
IS
100552010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10056
10057 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10058
1ec601bf
FXC
100592010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10060 Tobias Burnus <burnus@net-b.de>
10061
10062 PR fortran/32049
3e348fcc 10063 * configure.ac:
1ec601bf
FXC
10064 * configure: Regenerate.
10065
d213e92e
MS
100662010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10067
10068 * config/linux/futex.h: New.
10069 * config/linux/arm/mutex.h: New.
10070 * configure.tgt (arm*-*-linux*): Add config path.
10071
89d5c66f
SP
100722010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10073
10074 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10075
87350d4a
TB
100762010-09-23 Tobias Burnus <burnus@net-b.de>
10077
10078 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10079 Change Fortran datatype to LOGICAL.
10080 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10081 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10082
75bc9e5e
RW
100832010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10084
10085 * configure: Regenerate.
10086
acb5c916
JJ
100872010-07-26 Jakub Jelinek <jakub@redhat.com>
10088
10089 * libgomp.texi: Add function keyword to a couple of Fortran
10090 interfaces, use integer instead of int for Fortran.
10091
6a2ba183
AH
100922010-07-26 Aldy Hernandez <aldyh@redhat.com>
10093
10094 * libgomp.texi: Fix spelling and pasto problems throughout.
10095 Adjust prototypes to match code.
10096
df161b69
TB
100972010-07-24 Tobias Burnus <burnus@net-b.de>
10098
10099 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10100 silence -fwhole-file warning.
10101
16c9d3b1
RO
101022010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10103
10104 * configure.tgt (*-*-solaris2.[56]*): Removed.
10105
6d28b933
RO
101062010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10107
10108 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10109 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10110 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10111 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10112 targetting solaris2*.
10113 * configure: Regenerate.
10114 * config.h.in: Regenerate.
10115
10116 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10117 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10118 Add libgomp_version_dep.
10119 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10120 versioning.
10121 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10122 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10123 * Makefile.in: Regenerate.
10124
10125 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10126 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10127 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10128 to common block, protected by
10129 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10130
07a67d6a
GP
101312010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10132
10133 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10134
dbd34b89
IS
101352010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10136
10137 PR bootstrap/43170
10138 * configure: Regenerate.
10139
13917ae3
RW
101402010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10141
10142 PR other/43620
10143 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10144 * configure: Regenerate.
10145 * Makefile.in: Regenerate.
10146 * testsuite/Makefile.in: Regenerate.
10147
b83a701b
JJ
101482010-04-26 Jakub Jelinek <jakub@redhat.com>
10149
10150 PR c/43893
10151 * testsuite/libgomp.c/pr43893.c: New test.
10152 * testsuite/libgomp.c++/pr43893.C: New test.
10153
78db7d92
JJ
101542010-04-21 Jakub Jelinek <jakub@redhat.com>
10155
10156 PR middle-end/43570
10157 * testsuite/libgomp.fortran/vla8.f90: New test.
10158
5221d7a9
JJ
101592010-04-20 Jakub Jelinek <jakub@redhat.com>
10160
e4ba7a60
JJ
10161 PR libgomp/43706
10162 * config/linux/affinity.c (gomp_init_affinity): Decrease
10163 gomp_available_cpus if affinity mask confines the process to fewer
10164 CPUs.
10165 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10166 non-NULL, just return gomp_available_cpus.
10167
5221d7a9
JJ
10168 PR libgomp/43569
10169 * sections.c (gomp_sections_init): Initialize ws->mode.
10170
289a9f86
UB
101712010-04-14 Uros Bizjak <ubizjak@gmail.com>
10172
10173 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10174 not unused bar variable.
10175 * configure: Regenerate.
10176
4d9e8446
RW
101772010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10178
10179 * Makefile.in: Regenerate.
10180 * aclocal.m4: Regenerate.
10181 * testsuite/Makefile.in: Regenerate.
10182
80f046cc
JJ
101832010-03-22 Jakub Jelinek <jakub@redhat.com>
10184
10185 PR libgomp/42942
10186 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10187 (initialize_env): Adjust callers.
10188 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10189 when the argument is 0.
10190
10191 * testsuite/libgomp.c/pr42942.c: New test.
10192
b58543c3
SP
101932010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10194
10195 PR middle-end/42644
10196 PR middle-end/42130
10197 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10198 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10199
41d1138f
RO
102002010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10201
10202 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10203 * testsuite/libgomp.c++/task-6.C: Likewise.
10204
6684eb28
SE
102052010-01-28 Steve Ellcey <sje@cup.hp.com>
10206
10207 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10208
2122aa97
PB
102092010-01-26 Paolo Bonzini <bonzini@gnu.org>
10210
10211 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10212 * configure: Regenerate.
10213
057dd91d
JJ
102142010-01-26 Jakub Jelinek <jakub@redhat.com>
10215
10216 PR fortran/42866
10217 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10218
d0709b6a
PB
102192010-01-20 Paolo Bonzini <bonzini@gnu.org>
10220
10221 * configure.ac: Test for executability of GFORTRAN.
10222 * configure: Regenerate.
10223
b9497ab5
RO
102242010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10225
10226 * configure: Regenerate.
10227
45de5648
L
102282010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10229
10230 PR libgomp/42602
10231 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10232
e74003a1
RG
102332010-01-03 Richard Guenther <rguenther@suse.de>
10234
10235 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10236
1b3abda8
SP
102372009-12-23 Sebastian Pop <sebpop@gmail.com>
10238
10239 * testsuite/libgomp.graphite/pr4118.c: New.
10240
e19977d3
IS
102412009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10242
10243 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10244 for darwin, protect the test with require-effective-target tls_runtime.
10245 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10246
1d32a772
IS
102472009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10248
10249 PR target/41605
10250 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10251 link spec %s substitutions for static libraries.
10252
deb109b2
JH
102532009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10254
10255 PR testsuite/42135
10256 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10257
43e02a8a
RW
102582009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10259
10260 * Makefile.in: Regenerate.
10261 * configure: Regenerate.
10262 * testsuite/Makefile.in: Regenerate.
10263
17f35e23
DK
102642009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10265
10266 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10267 settings for LC_ALL and LANG.
10268
281e33e1
JJ
102692009-11-25 Jakub Jelinek <jakub@redhat.com>
10270
10271 PR fortran/42162
10272 * testsuite/libgomp.fortran/pr42162.f90: New test.
10273
2b32c27d
JJ
102742009-11-13 Jakub Jelinek <jakub@redhat.com>
10275
10276 PR middle-end/42029
281e33e1 10277 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 10278
89c74f4a
JJ
102792009-10-26 Jakub Jelinek <jakub@redhat.com>
10280
10281 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10282 *s. Accept ld version without text in ()s.
10283 * configure: Regenerated.
10284
7e06c3d6
EB
102852009-10-22 Razya Ladelsky <razya@il.ibm.com>
10286
10287 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10288
0046b1a7
RW
102892009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10290
10291 PR libgomp/41418
10292 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10293 or a hyphen (happens with fortran language disabled).
10294 * configure: Regenerate.
10295
c82852f7
RW
102962009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10297
10298 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10299 use sed script portable to Solaris /bin/sed for extracting ld
10300 version.
10301 * configure: Regenerate.
10302
98f3eb1f
AM
103032009-09-17 Alexander Monakov <amonakov@ispras.ru>
10304
10305 * testsuite/libgomp.graphite/bounds.c: New test.
10306
878f62e5
RW
103072009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10308
10309 * Makefile.am (libgomp_la_LINK): New.
10310 * Makefile.in: Regenerate.
10311
df58e648
RW
103122009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10313
10314 * configure.ac (AC_PREREQ): Bump to 2.64.
10315
5213506e
RW
103162009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10317
70fa0efa
RW
10318 * Makefile.am (install-html, install-pdf): Remove.
10319 * Makefile.in: Regenerate.
10320
5213506e
RW
10321 * Makefile.in: Regenerate.
10322 * aclocal.m4: Regenerate.
10323 * config.h.in: Regenerate.
10324 * configure: Regenerate.
10325 * testsuite/Makefile.in: Regenerate.
10326
84fec8a5
RW
103272009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10328
10329 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10330 * Makefile.in: Regenerate.
10331
197c68cc
DK
103322009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10333
10334 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10335 * Makefile.in: Regenerate.
10336
693d54f2
TB
103372009-08-19 Tobias Burnus <burnus@net-b.de>
10338
10339 PR fortran/41102
10340 omp_lib.h.in: Fix -std=f95 errors.
10341
8cac884c
DE
103422009-08-14 David Edelsohn <edelsohn@gnu.org>
10343
10344 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10345 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10346 * testsuite/libgomp.graphite/graphite.exp: New.
10347
78729ee2
AT
103482009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10349
10350 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10351 only build.
10352
b13b7f39
DD
103532009-08-04 David Daney <ddaney@caviumnetworks.com>
10354
10355 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10356 needed memory barrier semantics.
10357 * config/linux/mips/mutex.h: New file.
10358
1b3b24c2
RW
103592009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10360
10361 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10362
396b7fa4
JM
103632009-07-16 Joseph Myers <joseph@codesourcery.com>
10364
10365 * configure: Regenerate.
10366
33cde516
RS
103672009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10368
10369 PR testsuite/40699
10370 PR testsuite/40707
10371 PR testsuite/40709
10372 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10373 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10374 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10375
bc21bfa5
RS
103762009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10377
10378 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10379 options when choosing a multilib.
10380
b30bfd40
RS
103812009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10382
10383 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10384 ld_library_path. Use add_path. Add just find_libgcc_s to
10385 ld_library_path, not every libgcc multilib directory.
10386 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10387 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10388 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10389 Use add_path.
10390 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10391
479c15c2
NF
103922009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10393
10394 * Makefile.am (LTLDFLAGS): Define.
10395 (LINK): Define.
10396 * Makefile.in: Regenerate.
10397
667e6f89
JB
103982009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10399
10400 PR fortran/39718
10401 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10402 libgfortranbegin, check existence of libgfortran.a instead of
10403 libgfortranbegin.a.
10404
6dea8e99
JJ
104052009-05-20 Jakub Jelinek <jakub@redhat.com>
10406
10407 PR libgomp/40174
10408 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10409 (gomp_free_pool_helper): Likewise.
10410
34d01e1d
VL
104112009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10412 Jakub Jelinek <jakub@redhat.com>
10413
10414 PR fortran/35423
10415 * testsuite/libgomp.fortran/workshare2.f90: New test.
10416
748086b7
JJ
104172009-04-09 Nick Clifton <nickc@redhat.com>
10418
10419 * iter.c: Change copyright header to refer to version 3 of the
10420 GNU General Public License with version 3.1 of the GCC Runtime
10421 Library Exception and to point readers at the COPYING3 and
10422 COPYING3.RUNTIME files and the FSF's license web page.
10423 * alloc.c: Likewise.
10424 * barrier.c: Likewise.
10425 * config/bsd/proc.c: Likewise.
10426 * config/linux/affinity.c: Likewise.
10427 * config/linux/alpha/futex.h: Likewise.
10428 * config/linux/bar.c: Likewise.
10429 * config/linux/bar.h: Likewise.
10430 * config/linux/ia64/futex.h: Likewise.
10431 * config/linux/ia64/mutex.h: Likewise.
10432 * config/linux/lock.c: Likewise.
10433 * config/linux/mips/futex.h: Likewise.
10434 * config/linux/mutex.c: Likewise.
10435 * config/linux/mutex.h: Likewise.
10436 * config/linux/powerpc/futex.h: Likewise.
10437 * config/linux/proc.c: Likewise.
10438 * config/linux/ptrlock.c: Likewise.
10439 * config/linux/ptrlock.h: Likewise.
10440 * config/linux/s390/futex.h: Likewise.
10441 * config/linux/sem.c: Likewise.
10442 * config/linux/sem.h: Likewise.
10443 * config/linux/sparc/futex.h: Likewise.
10444 * config/linux/wait.h: Likewise.
10445 * config/linux/x86/futex.h: Likewise.
10446 * config/mingw32/proc.c: Likewise.
10447 * config/mingw32/time.c: Likewise.
10448 * config/posix/affinity.c: Likewise.
10449 * config/posix/bar.c: Likewise.
10450 * config/posix/bar.h: Likewise.
10451 * config/posix/lock.c: Likewise.
10452 * config/posix/mutex.h: Likewise.
10453 * config/posix/proc.c: Likewise.
10454 * config/posix/ptrlock.h: Likewise.
10455 * config/posix/sem.c: Likewise.
10456 * config/posix/sem.h: Likewise.
10457 * config/posix/time.c: Likewise.
10458 * config/posix95/lock.c: Likewise.
10459 * critical.c: Likewise.
10460 * env.c: Likewise.
10461 * error.c: Likewise.
10462 * fortran.c: Likewise.
10463 * iter_ull.c: Likewise.
10464 * libgomp.h: Likewise.
10465 * libgomp_f.h.in: Likewise.
10466 * libgomp_g.h: Likewise.
10467 * loop.c: Likewise.
10468 * loop_ull.c: Likewise.
10469 * omp.h.in: Likewise.
10470 * omp_lib.f90.in: Likewise.
10471 * omp_lib.h.in: Likewise.
10472 * ordered.c: Likewise.
10473 * parallel.c: Likewise.
10474 * sections.c: Likewise.
10475 * single.c: Likewise.
10476 * task.c: Likewise.
10477 * team.c: Likewise.
10478 * work.c: Likewise.
10479
104802009-04-09 Jakub Jelinek <jakub@redhat.com>
10481
10482 * testsuite/config/default.exp: Change copyright header to refer to
10483 version 3 of the GNU General Public License and to point readers
10484 at the COPYING3 file and the FSF's license web page.
10485
4f0ae266
JJ
104862009-04-08 Jakub Jelinek <jakub@redhat.com>
10487
10488 PR middle-end/39573
10489 * libgomp.c++/pr39573.C: New test.
10490
03742a9b
JJ
104912009-04-01 Jakub Jelinek <jakub@redhat.com>
10492
10493 PR other/39591
10494 * testsuite/libgomp.c/pr39591-1.c: New test.
10495 * testsuite/libgomp.c/pr39591-2.c: New test.
10496 * testsuite/libgomp.c/pr39591-3.c: New test.
10497
e50ea10b
UB
104982009-03-25 Uros Bizjak <ubizjak@gmail.com>
10499
10500 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10501 * testsuite/libgomp.c/atomic-6.c: Ditto.
10502
c5cdb03f
JJ
105032009-03-23 Jakub Jelinek <jakub@redhat.com>
10504
10505 PR c/39495
10506 * testsuite/libgomp.c/loop-12.c: New test.
10507 * testsuite/libgomp.c/loop-11.c: New test.
10508 * testsuite/libgomp.c++/loop-11.C: New test.
10509 * testsuite/libgomp.c++/loop-12.C: New test.
10510 * testsuite/libgomp.c++/for-8.C: New test.
10511
7a9d3fe8
RW
105122009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10513
10514 * configure: Regenerate.
10515
3ad6b266
JJ
105162009-02-11 Jakub Jelinek <jakub@redhat.com>
10517
10518 PR middle-end/39154
10519 * testsuite/libgomp.c/pr39154.c: New test.
10520
b39dea08
ILT
105212009-01-30 Ian Lance Taylor <iant@google.com>
10522
10523 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10524 libgomp_ld_is_gold. Get gold version number.
10525 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10526 * configure: Rebuild.
10527
72c66596
IS
105282009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10529
e50ea10b 10530 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
10531 use libgfortran.a%s in their specs.
10532
876080ff
JJ
105332009-01-07 Jakub Jelinek <jakub@redhat.com>
10534
10535 PR libgomp/38086
10536 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10537 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10538 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10539 * configure: Regenerated.
10540 * config.h.in: Likewise.
10541
e4ebaef3
JJ
105422008-12-28 Jakub Jelinek <jakub@redhat.com>
10543
10544 PR c++/38650
10545 * testsuite/libgomp.c/pr38650.c: New test.
10546 * testsuite/libgomp.c++/pr38650.C: New test.
10547
382017a6
JJ
105482008-12-27 Jakub Jelinek <jakub@redhat.com>
10549
10550 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10551
79644b27
UB
105522008-12-26 Uros Bizjak <ubizjak@gmail.com>
10553
10554 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10555
baafc534
RW
105562008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10557
10558 * configure: Regenerate.
10559
d9c194cb
JJ
105602008-12-08 Jakub Jelinek <jakub@redhat.com>
10561
10562 PR middle-end/36802
10563 * testsuite/libgomp.c/pr36802-1.c: New test.
10564 * testsuite/libgomp.c/pr36802-2.c: New test.
10565 * testsuite/libgomp.c/pr36802-3.c: New test.
10566
86a182bf
JJ
105672008-12-01 Janis Johnson <janis187@us.ibm.com>
10568
10569 PR libgomp/38270
10570 * config/linux/powerpc/mutex.h: New.
10571
956adfaf
JJ
105722008-12-01 Jakub Jelinek <jakub@redhat.com>
10573
a2d4cdc9
JJ
10574 PR c++/38257
10575 * testsuite/libgomp.c++/for-7.C: New test.
10576
956adfaf
JJ
10577 PR c++/38348
10578 * testsuite/libgomp.c++/for-6.C: New test.
10579
d4038ca2
JJ
105802008-11-26 Janis Johnson <janis187@us.ibm.com>
10581
10582 PR testsuite/28870
10583 * testsuite/lib/libgomp.exp: Include new timeout library files.
10584 (libgomp_target_compile): Set timeout value from new proc.
10585
8b159eea
SE
105862008-11-13 Steve Ellcey <sje@cup.hp.com>
10587
10588 PR libgomp/37938
10589 * config/linux/ia64/mutex.h: New.
10590
5c6ed53a
TB
105912008-11-04 Tobias Burnus <burnus@net-b.de>
10592
10593 PR libgomp/37935
10594 * libgomp.texi (Runtime library routines, environment variables):
10595 Update for OpenMP version 3.0.
10596
6b4a97ed
PG
105972008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10598 Steve Ellcey <sje@cup.hp.com>
10599
10600 * configure: Regenerate for new libtool.
10601 * Makefile.in: Ditto.
10602 * testsuite/Makefile.in: Ditto.
10603
e2b34106
JJ
106042008-09-19 Jakub Jelinek <jakub@redhat.com>
10605 Andreas Tobler <a.tobler@schweiz.org>
10606
10607 * config/bsd/proc.c: New file.
8c3b3600 10608 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
10609 * configure.ac: Check for header <sys/sysctl.h>
10610 * configure: Regenerate.
10611 * config.h.in: Likewise.
10612
3606b8bf
JJ
106132008-09-05 Janis Johnson <janis187@us.ibm.com>
10614
10615 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10616
6528b88d
AL
106172008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10618
10619 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10620 * Makefile.in: Regenerated.
10621 * testsuite/Makefile.in: Regenerated.
10622
d9b14b12 106232008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 10624
a16b68bb 10625 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
10626 depend on blddir if blddir exists.
10627 (libgomp_target_compile): Likewise.
10628 * testsuite/libgomp.c++/c++.exp: Likewise.
10629 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10630
70b1e376
RW
106312008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10632
10633 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10634 Do not list GPL as Invariant Section.
10635
318e8c3f
IG
106362008-07-28 Ilie Garbacea <ilie@mips.com>
10637 Chao-ying Fu <fu@mips.com>
10638
10639 * configure.tgt: Enable futex for MIPS.
10640 * config/linux/mips/futex.h: New file.
10641
4db72361
JJ
106422008-07-16 Jakub Jelinek <jakub@redhat.com>
10643
10644 * team.c (gomp_team_end): Free team immediately if it has
10645 just one thread.
10646
87bd23b8
DE
106472008-07-08 David Edelsohn <edelsohn@gnu.org>
10648
10649 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10650 * testsuite/libgomp.fortran/fortran.exp: Same.
10651 * testsuite/libgomp.c/c.exp: Same.
10652 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10653 directory to library path first.
10654
323ff903
KW
106552008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10656
10657 * env.c (parse_stacksize): Add cast to avoid warning.
10658 (parse_spincount): Likewise.
10659
b357f682
JJ
106602008-06-27 Jakub Jelinek <jakub@redhat.com>
10661
ca2b1311
JJ
10662 * testsuite/libgomp.c/loop-10.c: New test.
10663 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10664 * libgomp.c++/loop-6.C (main): Likewise.
10665
b357f682
JJ
10666 PR debug/36617
10667 * testsuite/libgomp.c/debug-1.c: New test.
10668
09a46078
JJ
106692008-06-19 Jakub Jelinek <jakub@redhat.com>
10670
10671 * testsuite/libgomp.c/nqueens-1.c: New test.
10672
2368a460
JJ
10673 PR c++/36523
10674 * testsuite/libgomp.c++/task-7.C: New function.
10675
18c04407
RW
106762008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10677
10678 * configure: Regenerate.
10679
9c4e59e0
JDA
106802008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10681
10682 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10683 mutex when HAVE_SYNC_BUILTINS isn't defined.
10684
6ccde948
RW
106852008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10686
10687 * libgomp.texi (omp_test_lock): Fix typo.
10688
b896f9fd
TB
106892008-06-12 Tobias Burnus <burnus@net-b.de>
10690
10691 * omp_lib.f90.in: Add "implicit none".
10692
c34938a8
JJ
106932008-06-12 Jakub Jelinek <jakub@redhat.com>
10694
10695 PR middle-end/36506
10696 * testsuite/libgomp.c/reduction-5.c: New test.
10697
976e44e3
JJ
106982008-06-11 Jakub Jelinek <jakub@redhat.com>
10699
5f836cbb
JJ
10700 * libgomp.h (struct gomp_task): Add in_tied_task field.
10701 * task.c (gomp_init_task): Initialize it.
10702 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10703 unconditionally. Don't call gomp_team_barrier_wake if
10704 current task is implicit or if(0) from implicit and number of
10705 running tasks is equal to nthreads - 1.
10706
01501fc8
JJ
10707 PR libgomp/36471
10708 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10709 omp_get_team_size_8): Fix pastos.
10710
976e44e3
JJ
10711 PR libgomp/36469
10712 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10713 * configure: Regenerated.
10714 * config.h.in: Regenerated.
10715 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10716 defined.
10717
e919209b
AT
107182008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10719
10720 PR bootstrap/36452
10721 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10722 (GOMP_loop_ull_dynamic_start): Likewise.
10723 (GOMP_loop_ull_guided_start): Likewise.
10724 (GOMP_loop_ull_ordered_static_start): Likewise.
10725 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10726 (GOMP_loop_ull_ordered_guided_start): Likewise.
10727
a68ab351
JJ
107282008-06-06 Jakub Jelinek <jakub@redhat.com>
10729 Richard Henderson <rth@redhat.com>
10730 Ulrich Drepper <drepper@redhat.com>
10731 Jakob Blomer <jakob.blomer@ira.uka.de>
10732
10733 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10734 Substitute also OMP_*LOCK_25*.
10735 * configure: Regenerated.
10736 * config.h.in: Regenerated.
10737 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10738 ptrlock.c and task.c.
10739 * Makefile.in: Regenerated.
10740 * testsuite/Makefile.in: Regenerated.
10741 * task.c: New file.
10742 * loop_ull.c: New file.
10743 * iter_ull.c: New file.
10744 * libgomp.h: Include ptrlock.h.
10745 (enum gomp_task_kind): New type.
10746 (struct gomp_team): Add task_lock, task_queue, task_count,
10747 task_running_count, single_count fields. Add
10748 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10749 Remove work_share_lock, generation_mask,
10750 oldest_live_gen, num_live_gen and init_work_shares fields, add
10751 work work_share_list_alloc, work_share_list_free and work_share_chunk
10752 fields. Change work_shares from pointer to pointers into an array.
10753 Change ordered_release field into gomp_sem_t ** from flexible array
10754 member. Add implicit_task and initial_work_shares fields.
10755 Move close to the end of the struct.
10756 (struct gomp_team_state): Add single_count, last_work_share,
10757 active_level and level fields, remove work_share_generation.
10758 (gomp_barrier_handle_tasks): New prototype.
10759 (gomp_finish_task): New inline function.
10760 (struct gomp_work_share): Move chunk_size, end, incr into
10761 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10762 next_ll fields. Reshuffle fields. Add next_alloc,
10763 next_ws, next_free and inline_ordered_team_ids fields, change
10764 ordered_team_ids into pointer from flexible array member.
10765 Add mode field. Put lock and next into a different cache line
10766 from most of the write-once fields.
10767 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10768 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10769 gomp_iter_ull_guided_next): New prototypes.
10770 (gomp_new_icv): New prototype.
10771 (struct gomp_thread): Add thread_pool and task fields.
10772 (struct gomp_thread_pool): New type.
10773 (gomp_new_team): New prototype.
10774 (gomp_team_start): Change type of last argument.
10775 (gomp_new_work_share): Removed.
10776 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10777 (gomp_work_share_init_done): New static inline.
10778 (gomp_throttled_spin_count_var, gomp_available_cpus,
10779 gomp_managed_threads): New extern decls.
10780 (gomp_init_task): New prototype.
10781 (gomp_spin_count_var): New extern var decl.
10782 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10783 or no alias support, or if not PIC.
10784 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10785 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10786 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10787 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10788 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10789 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10790 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10791 gomp_test_nest_lock_25): New prototypes.
10792 (omp_lock_symver, strong_alias): Define.
10793 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10794 decls.
10795 (gomp_end_task): New.
10796 (struct gomp_task_icv, gomp_global_icv): New.
10797 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10798 (struct gomp_task): New.
10799 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10800 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10801 (gomp_icv): New.
10802 (gomp_schedule_type): Reorder enum to match
10803 omp_sched_t.
10804 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10805 fields.
10806 (gomp_thread_start): Add gomp_team_barrier_wait call.
10807 For non-nested case remove clearing of docked thread thr fields.
10808 Use pool fields instead of global gomp_* variables. Use
10809 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10810 Create tasks for each member thread.
10811 (free_team): Only destroy team barrier, task_lock here and free it.
10812 (gomp_free_thread): Free last_team if non-NULL.
10813 (gomp_team_end): Call gomp_team_barrier_wait instead of
10814 gomp_barrier_wait. For nested case call one extra
10815 gomp_barrier_wait. Move here some destruction from free_team.
10816 Call free_team on pool->last_team if any, rather than freeing
10817 current team. Destroy work_share_list_free_lock ifndef
10818 HAVE_SYNC_BUILTINS.
10819 (gomp_new_icv): New function.
10820 (gomp_threads, gomp_threads_size, gomp_threads_used,
10821 gomp_threads_dock): Removed.
10822 (gomp_thread_destructor): New variable.
10823 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10824 functions.
10825 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 10826 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
10827 Initialize thread_pool field for new threads. Clear single_count.
10828 Change last argument from ws to team, don't create
10829 new team, set ts.work_share to &team->work_shares[0] and clear
10830 ts.last_work_share. Don't clear ts.work_share_generation.
10831 If number of threads changed, adjust atomically gomp_managed_threads.
10832 Use gomp_init_task instead of gomp_new_task,
10833 set thr->task to the corresponding implicit_task array entry.
10834 Create tasks for each member thread. Initialize ts.level.
10835 (initialize_team): Call pthread_key_create on
10836 gomp_thread_destructor.
10837 (team_destructor): New function.
10838 (new_team): Removed.
10839 (gomp_new_team): New function.
10840 (free_team): Free gomp_work_share blocks chained through next_alloc,
10841 instead of freeing work_shares and destroying work_share_lock.
10842 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10843 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10844 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10845 of gomp_barrier_wait.
10846 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10847 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10848 if gomp_work_share_start returned true. Don't unlock ws->lock.
10849 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10850 of gomp_barrier_wait.
10851 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10852 gomp_work_share_init_done if gomp_work_share_start returned true.
10853 Don't unlock ws->lock.
10854 * work.c: Include stddef.h.
10855 (free_work_share): Use work_share_list_free_lock instead
10856 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10857 Call gomp_fini_work_share and then either free ws if orphaned, or
10858 put it into work_share_list_free list of the current team.
10859 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10860 functions.
10861 (gomp_work_share_start, gomp_work_share_end,
10862 gomp_work_share_end_nowait): Rewritten.
10863 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10864 (openmp_version): Set to 200805.
10865 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10866 omp_sched_guided, omp_sched_auto): New parameters.
10867 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10868 omp_set_max_active_levels, omp_get_max_active_levels,
10869 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10870 omp_get_active_level): New interfaces.
10871 * omp_lib.h.in (openmp_version): Set to 200805.
10872 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10873 omp_sched_guided, omp_sched_auto): New parameters.
10874 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10875 omp_set_max_active_levels, omp_get_max_active_levels,
10876 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10877 omp_get_active_level): New externals.
10878 * loop.c: Include limits.h.
10879 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10880 GFS_AUTO.
10881 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10882 Likewise. Use gomp_icv.
10883 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10884 ts.static_trip here.
10885 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10886 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10887 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10888 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10889 don't unlock ws->lock, otherwise lock it.
10890 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10891 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10892 (gomp_parallel_loop_start): Call gomp_new_team instead of
10893 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10894 Adjust gomp_team_start caller. Pass 0 as second argument to
10895 gomp_resolve_num_threads.
10896 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10897 If adding ws->chunk_size nthreads + 1 times after end won't
10898 overflow, set ws->mode to 1.
10899 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10900 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10901 GOMP_loop_ull_ordered_static_start,
10902 GOMP_loop_ull_ordered_dynamic_start,
10903 GOMP_loop_ull_ordered_guided_start,
10904 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10905 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10906 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10907 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10908 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10909 prototypes.
10910 * libgomp.map: Export lock routines also @@OMP_2.0.
10911 (GOMP_loop_ordered_dynamic_first,
10912 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10913 GOMP_loop_ordered_static_first): Remove.
10914 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10915 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10916 GOMP_loop_ull_ordered_dynamic_next,
10917 GOMP_loop_ull_ordered_dynamic_start,
10918 GOMP_loop_ull_ordered_guided_next,
10919 GOMP_loop_ull_ordered_guided_start,
10920 GOMP_loop_ull_ordered_runtime_next,
10921 GOMP_loop_ull_ordered_runtime_start,
10922 GOMP_loop_ull_ordered_static_next,
10923 GOMP_loop_ull_ordered_static_start,
10924 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10925 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10926 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10927 (omp_set_schedule, omp_get_schedule,
10928 omp_get_thread_limit, omp_set_max_active_levels,
10929 omp_get_max_active_levels, omp_get_level,
10930 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10931 omp_set_schedule_, omp_set_schedule_8_,
10932 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10933 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10934 omp_get_max_active_levels_, omp_get_level_,
10935 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10936 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10937 New exports @@OMP_3.0.
10938 * omp.h.in (omp_sched_t): New type.
10939 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10940 omp_set_max_active_levels, omp_get_max_active_levels,
10941 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10942 omp_get_active_level): New prototypes.
10943 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10944 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10945 gomp_thread_limit_var, gomp_remaining_threads_count,
10946 gomp_remaining_threads_lock): New variables.
10947 (parse_spincount): New function.
10948 (initialize_env): Call gomp_init_num_threads unconditionally.
10949 Initialize gomp_available_cpus. Call parse_spincount,
10950 initialize gomp_{,throttled_}spin_count_var
10951 depending on presence and value of OMP_WAIT_POLICY and
10952 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10953 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10954 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10955 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10956 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10957 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10958 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10959 (gomp_global_icv): New.
10960 (parse_schedule): Use it. Parse "auto".
10961 (omp_set_num_threads): Use gomp_icv.
10962 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10963 Likewise.
10964 (omp_get_max_threads): Move from parallel.c.
10965 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10966 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10967 add ialias.
10968 (parse_stacksize, parse_wait_policy): New functions.
10969 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10970 both wrappers for compatibility and new locks.
10971 (omp_set_schedule, omp_get_schedule,
10972 omp_get_thread_limit, omp_set_max_active_levels,
10973 omp_get_max_active_levels, omp_get_level,
10974 omp_get_ancestor_thread_num, omp_get_team_size,
10975 omp_get_active_level): New ialias_redirect.
10976 (omp_set_schedule_, omp_set_schedule_8_,
10977 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10978 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10979 omp_get_max_active_levels_, omp_get_level_,
10980 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10981 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10982 New functions.
10983 * parallel.c: Include limits.h.
10984 (gomp_resolve_num_threads): Add count argument. Rewritten.
10985 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10986 argument to gomp_team_start. Pass 0 as second argument to
10987 gomp_resolve_num_threads.
10988 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10989 if gomp_thread_limit_var != ULONG_MAX.
10990 (omp_in_parallel): Implement using ts.active_level.
10991 (omp_get_max_threads): Move to env.c.
10992 (omp_get_level, omp_get_ancestor_thread_num,
10993 omp_get_team_size, omp_get_active_level): New functions,
10994 add ialias.
10995 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10996 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10997 gomp_iter_dynamic_next instead of the _locked variant and don't take
10998 lock around it, otherwise acquire it before calling
10999 gomp_iter_dynamic_next_locked.
11000 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11001 gomp_iter_dynamic_next instead of the _locked variant and don't take
11002 lock around it.
11003 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11004 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11005 Adjust gomp_team_start caller. Pass count as second argument to
11006 gomp_resolve_num_threads, don't adjust num_threads after the call.
11007 Use gomp_icv.
11008 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11009 ws->chunk_size by incr.
11010 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11011 code.
11012 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11013 types.
11014 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11015 (omp_check_defines): Check even the compat defines.
11016 * config/linux/ptrlock.c: New file.
11017 * config/linux/ptrlock.h: New file.
11018 * config/linux/wait.h: New file.
11019 * config/posix/ptrlock.c: New file.
11020 * config/posix/ptrlock.h: New file.
11021 * config/linux/bar.h (gomp_team_barrier_wait,
11022 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11023 (gomp_team_barrier_set_task_pending,
11024 gomp_team_barrier_clear_task_pending,
11025 gomp_team_barrier_set_waiting_for_tasks,
11026 gomp_team_barrier_waiting_for_tasks,
11027 gomp_team_barrier_done): New inlines.
11028 (gomp_barrier_t): Rewritten.
11029 (gomp_barrier_state_t): New typedef.
11030 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11031 gomp_barrier_wait_start): Rewritten.
11032 (gomp_barrier_wait_end): Change second argument to
11033 gomp_barrier_state_t.
11034 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11035 inlines.
11036 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11037 futex.h.
11038 (gomp_barrier_wait_end): Rewritten.
11039 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11040 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11041 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11042 (gomp_barrier_state_t): New typedef.
11043 (gomp_team_barrier_wait,
11044 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11045 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11046 into the return value. Return gomp_barrier_state_t.
11047 (gomp_team_barrier_set_task_pending,
11048 gomp_team_barrier_clear_task_pending,
11049 gomp_team_barrier_set_waiting_for_tasks,
11050 gomp_team_barrier_waiting_for_tasks,
11051 gomp_team_barrier_done): New inlines.
11052 (gomp_barrier_wait_end): Change second argument to
11053 gomp_barrier_state_t.
11054 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11055 inlines.
11056 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11057 (gomp_barrier_wait_end): Change second argument to
3e348fcc 11058 gomp_barrier_state_t.
a68ab351
JJ
11059 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11060 gomp_team_barrier_wake): New functions.
11061 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11062 futex.h.
11063 (gomp_futex_wake, gomp_futex_wait): New variables.
11064 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11065 * config/linux/lock.c: Rewrite to make locks task owned,
11066 for backwards compatibility provide the old entrypoints
11067 if symbol versioning. Include wait.h instead of libgomp.h and
11068 futex.h.
11069 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11070 * config/posix95/lock.c: Rewrite to make locks task owned,
11071 for backwards compatibility provide the old entrypoints
11072 if symbol versioning.
11073 * config/posix/lock.c: Rewrite to make locks task owned,
11074 for backwards compatibility provide the old entrypoints
11075 if symbol versioning.
11076 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11077 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11078 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11079 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11080 (sys_futex0): Return error code.
11081 (futex_wake, futex_wait): If ENOSYS was returned, clear
11082 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11083 (cpu_relax, atomic_write_barrier): New static inlines.
11084 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11085 (futex_wake, futex_wait): If ENOSYS was returned, clear
11086 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11087 (cpu_relax, atomic_write_barrier): New static inlines.
11088 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11089 (sys_futex0): Return error code.
11090 (futex_wake, futex_wait): If ENOSYS was returned, clear
11091 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11092 (cpu_relax, atomic_write_barrier): New static inlines.
11093 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11094 (sys_futex0): Return error code.
11095 (futex_wake, futex_wait): If ENOSYS was returned, clear
11096 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11097 (cpu_relax, atomic_write_barrier): New static inlines.
11098 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11099 (sys_futex0): Return error code.
11100 (futex_wake, futex_wait): If ENOSYS was returned, clear
11101 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11102 (cpu_relax, atomic_write_barrier): New static inlines.
11103 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11104 (sys_futex0): Return error code.
11105 (futex_wake, futex_wait): If ENOSYS was returned, clear
11106 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11107 (cpu_relax, atomic_write_barrier): New static inlines.
11108 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11109 futex.h.
11110 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11111 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11112 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11113 types.
11114 (omp_nest_lock_t): Change owner into void *, add lock field.
11115 * config/posix95/omp-lock.h: Include semaphore.h.
11116 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11117 (omp_lock_t): Use sem_t instead of mutex if semaphores
11118 aren't broken.
11119 (omp_nest_lock_t): Likewise. Change owner to void *.
11120 * config/posix/omp-lock.h: Include semaphore.h.
11121 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11122 (omp_lock_t): Use sem_t instead of mutex if semaphores
11123 aren't broken.
11124 (omp_nest_lock_t): Likewise. Add owner field.
11125
111262008-06-06 Jakub Jelinek <jakub@redhat.com>
11127
11128 * testsuite/libgomp.c/collapse-1.c: New test.
11129 * testsuite/libgomp.c/collapse-2.c: New test.
11130 * testsuite/libgomp.c/collapse-3.c: New test.
11131 * testsuite/libgomp.c/icv-1.c: New test.
11132 * testsuite/libgomp.c/icv-2.c: New test.
11133 * testsuite/libgomp.c/lib-2.c: New test.
11134 * testsuite/libgomp.c/lock-1.c: New test.
11135 * testsuite/libgomp.c/lock-2.c: New test.
11136 * testsuite/libgomp.c/lock-3.c: New test.
11137 * testsuite/libgomp.c/loop-4.c: New test.
11138 * testsuite/libgomp.c/loop-5.c: New test.
11139 * testsuite/libgomp.c/loop-6.c: New test.
11140 * testsuite/libgomp.c/loop-7.c: New test.
11141 * testsuite/libgomp.c/loop-8.c: New test.
11142 * testsuite/libgomp.c/loop-9.c: New test.
11143 * testsuite/libgomp.c/nested-3.c: New test.
11144 * testsuite/libgomp.c/nestedfn-6.c: New test.
11145 * testsuite/libgomp.c/sort-1.c: New test.
11146 * testsuite/libgomp.c/task-1.c: New test.
11147 * testsuite/libgomp.c/task-2.c: New test.
11148 * testsuite/libgomp.c/task-3.c: New test.
11149 * testsuite/libgomp.c/task-4.c: New test.
11150 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11151 to C++ testsuite default compiler options.
11152 * testsuite/libgomp.c++/collapse-1.C: New test.
11153 * testsuite/libgomp.c++/collapse-2.C: New test.
11154 * testsuite/libgomp.c++/ctor-10.C: New test.
11155 * testsuite/libgomp.c++/for-1.C: New test.
11156 * testsuite/libgomp.c++/for-2.C: New test.
11157 * testsuite/libgomp.c++/for-3.C: New test.
11158 * testsuite/libgomp.c++/for-4.C: New test.
11159 * testsuite/libgomp.c++/for-5.C: New test.
11160 * testsuite/libgomp.c++/loop-8.C: New test.
11161 * testsuite/libgomp.c++/loop-9.C: New test.
11162 * testsuite/libgomp.c++/loop-10.C: New test.
11163 * testsuite/libgomp.c++/task-1.C: New test.
11164 * testsuite/libgomp.c++/task-2.C: New test.
11165 * testsuite/libgomp.c++/task-3.C: New test.
11166 * testsuite/libgomp.c++/task-4.C: New test.
11167 * testsuite/libgomp.c++/task-5.C: New test.
11168 * testsuite/libgomp.c++/task-6.C: New test.
11169 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11170 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11171 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11172 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11173 * testsuite/libgomp.fortran/collapse1.f90: New test.
11174 * testsuite/libgomp.fortran/collapse2.f90: New test.
11175 * testsuite/libgomp.fortran/collapse3.f90: New test.
11176 * testsuite/libgomp.fortran/collapse4.f90: New test.
11177 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11178 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11179 * testsuite/libgomp.fortran/lib4.f90: New test.
11180 * testsuite/libgomp.fortran/lock-1.f90: New test.
11181 * testsuite/libgomp.fortran/lock-2.f90: New test.
11182 * testsuite/libgomp.fortran/nested1.f90: New test.
11183 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11184 * testsuite/libgomp.fortran/strassen.f90: New test.
11185 * testsuite/libgomp.fortran/tabs1.f90: New test.
11186 * testsuite/libgomp.fortran/tabs2.f: New test.
11187 * testsuite/libgomp.fortran/task1.f90: New test.
11188 * testsuite/libgomp.fortran/task2.f90: New test.
11189 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11190 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11191 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11192 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11193 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11194
7a0112e7
JJ
111952008-05-23 Jakub Jelinek <jakub@redhat.com>
11196
11197 PR c++/36308
11198 * testsuite/libgomp.c++/ctor-11.C: New test.
11199 * testsuite/libgomp.c++/ctor-12.C: New test.
11200
91a5b394
JJ
112012008-05-15 Janis Johnson <janis187@us.ibm.com>
11202
11203 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11204
c18c98c0
JJ
112052008-05-07 Jakub Jelinek <jakub@redhat.com>
11206
11207 PR middle-end/36106
11208 * testsuite/libgomp.c/atomic-5.c: New test.
11209 * testsuite/libgomp.c/atomic-6.c: New test.
11210 * testsuite/libgomp.c/autopar-1.c: New test.
11211
6d26724a
RW
112122008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11213
11214 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11215 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11216 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11217 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11218 * configure: Regenerate.
11219 * Makefile.in, testsuite/Makefile.in: Likewise.
11220
deb984e6
PB
112212008-04-18 Paolo Bonzini <bonzini@gnu.org>
11222
11223 PR bootstrap/35457
11224 * aclocal.m4: Regenerate.
11225 * configure: Regenerate.
11226
9e775963
JJ
112272008-03-18 Jakub Jelinek <jakub@redhat.com>
11228
8119fc93
JJ
11229 PR middle-end/35611
11230 * testsuite/libgomp.c/atomic-4.c: New test.
11231
9e775963
JJ
11232 PR libgomp/35625
11233 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11234 (gomp_iter_guided_next): Likewise.
11235 * testsuite/libgomp.c/pr35625.c: New test.
11236
38d24731
RW
112372008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11238
11239 * aclocal.m4: Regenerate.
11240 * configure: Likewise.
11241 * Makefile.in: Likewise.
11242 * testsuite/Makefile.in: Likewise.
11243
d0fb20be
JJ
112442008-03-13 Jakub Jelinek <jakub@redhat.com>
11245
11246 PR middle-end/35185
11247 * testsuite/libgomp.c++/pr35185.C: New test.
11248
7c8f7639
JJ
112492008-03-12 Jakub Jelinek <jakub@redhat.com>
11250
11251 PR middle-end/35549
11252 * testsuite/libgomp.c/pr35549.c: New test.
11253
251923f5
JJ
112542008-03-06 Jakub Jelinek <jakub@redhat.com>
11255
11256 * testsuite/libgomp.c/atomic-3.c: New test.
11257
f489fba1
FXC
112582008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11259
11260 PR fortran/33197
251923f5 11261 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
11262 .F08 file suffixes.
11263
a1b25e49
PG
112642008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11265
11266 PR libgomp/33131
11267 * configure.ac: Add ACX_HEADER_STRING.
11268 * env.c: Include strings.h.
11269 * aclocal.m4: Regenerate.
11270 * config.h.in: Regenerate.
11271 * configure: Regenerate.
11272 * Makefile.in: Regenerate.
11273 * testsuite/Makefile.in: Regenerate.
11274
6837b3b8
JJ
112752008-02-15 Jakub Jelinek <jakub@redhat.com>
11276
ac84c062
JJ
11277 PR middle-end/35196
11278 * testsuite/libgomp.c/pr35196.c: New test.
11279
6837b3b8
JJ
11280 PR middle-end/35130
11281 * testsuite/libgomp.fortran/pr35130.f90: New test.
11282 * testsuite/libgomp.c/pr35130.c: New test.
11283
c256730c
JJ
112842008-01-25 Jakub Jelinek <jakub@redhat.com>
11285
11286 PR middle-end/33880
11287 * testsuite/libgomp.c/pr33880.c: New test.
11288 * testsuite/libgomp.fortran/pr33880.f90: New test.
11289
c8e95542 112902008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
11291
11292 * configure: Regenerate.
11293
0f3e711e
JJ
112942008-01-08 Jakub Jelinek <jakub@redhat.com>
11295
11296 * configure.ac: Move futex checking into ../config/futex.m4.
11297 * configure: Rebuilt.
11298 * aclocal.m4: Rebuilt.
11299 * Makefile.in: Rebuilt.
11300
11301 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11302 2007-10-15 ../config/tls.m4 change.
11303
5259c813
JJ
113042007-12-19 Jakub Jelinek <jakub@redhat.com>
11305
11306 PR c++/34513
11307 * testsuite/libgomp.c/pr34513.c: New test.
11308 * testsuite/libgomp.c++/pr34513.C: New test.
11309
ae8d8879
JH
113102007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11311
11312 PR target/32765
11313 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11314
2b4cf991
JJ
113152007-12-04 Jakub Jelinek <jakub@redhat.com>
11316
11317 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11318
d2dda7fe
JJ
113192007-12-03 Jakub Jelinek <jakub@redhat.com>
11320
11321 * testsuite/libgomp.c/private-1.c: New test.
11322
d683ec81
PB
113232007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11324 Paolo Bonzini <bonzini@gnu.org>
11325
11326 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11327 instead of 'VPATH ='.
11328 * Makefile.in: Regenerate.
11329
a7415017
MK
113302007-11-23 Matthias Klose <doko@ubuntu.com>
11331
11332 * configure.ac: Adjust makeinfo version check.
11333 * configure: Regenerate.
11334
78e47463
JJ
113352007-11-10 Jakub Jelinek <jakub@redhat.com>
11336
11337 PR fortran/34020
11338 * testsuite/libgomp.fortran/pr34020.f90: New test.
11339
239371f9
JJ
113402007-11-06 Jakub Jelinek <jakub@redhat.com>
11341
11342 PR c++/33894
11343 * testsuite/libgomp.c++/atomic-1.C: New test.
11344
98a5fa94
JJ
113452007-10-25 Jakub Jelinek <jakub@redhat.com>
11346
11347 PR libgomp/33275
11348 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11349 Make x and y integers rather than (implicit) reals. Add private (j)
11350 clause to the last omp parallel.
11351
3afcaaf4
MR
113522007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11353
11354 * configure: Regenerate following changes to ../config/tls.m4.
11355
bd69daef
JJ
113562007-09-28 Jakub Jelinek <jakub@redhat.com>
11357
11358 * testsuite/libgomp.fortran/stack.f90: New test.
11359
1d0bd356
DS
113602007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11361
11362 * config/mingw32/proc.c: New file.
11363
b3172cab
UB
113642007-09-05 Uros Bizjak <ubizjak@gmail.com>
11365
11366 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11367 (main): Use __get_cpuid to get i386 target fetaures.
11368 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11369 (main): Use __get_cpuid to get x86_64 target fetaures.
11370
6da17392
JH
113712007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11372
11373 PR target/32765
11374 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11375 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11376
e1c82219
JJ
113772007-07-12 Jakub Jelinek <jakub@redhat.com>
11378
11379 PR fortran/32550
11380 * testsuite/libgomp.fortran/pr32550.f90: New test.
11381 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11382
12a27363
L
113832007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11384
11385 * aclocal.m4: Regenerated.
11386
5349080d
TB
113872007-07-05 Tobias Burnus <burnus@net-b.de>
11388
11389 PR fortran/32359
11390 * testsuite/libgomp.fortran/pr32359.f90: New.
11391
4f9c450c
JJ
113922007-07-02 Jakub Jelinek <jakub@redhat.com>
11393
11394 PR libgomp/32468
11395 * sections.c (GOMP_parallel_sections_start): Only decrease
11396 number of threads to COUNT if dyn_var is true.
11397 * testsuite/libgomp.c/pr32468.c: New test.
11398
28c67ed7
RO
113992007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11400
11401 PR libgomp/26308
11402 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11403
64964499
JJ
114042007-06-21 Jakub Jelinek <jakub@redhat.com>
11405
11406 PR middle-end/32362
11407 * testsuite/libgomp.c/pr32362-1.c: New test.
11408 * testsuite/libgomp.c/pr32362-2.c: New test.
11409 * testsuite/libgomp.c/pr32362-3.c: New test.
11410
46d8fbd1
JJ
114112007-06-07 Jakub Jelinek <jakub@redhat.com>
11412
11413 * team.c (gomp_team_start): Fix setting up thread_attr
11414 stack size.
11415
82a6cadf
PB
114162007-06-02 Paolo Bonzini <bonzini@gnu.org>
11417
11418 * configure: Regenerate.
11419
1cf3d07d
SE
114202007-05-23 Steve Ellcey <sje@cup.hp.com>
11421
11422 * Makefile.in: Regenerate.
11423 * configure: Regenerate.
11424 * aclocal.m4: Regenerate.
11425 * testsuite/Makefile.in: Regenerate.
11426
12aac30b
JJ
114272007-05-04 Jakub Jelinek <jakub@redhat.com>
11428
11429 * config/linux/proc.c: New file.
11430
f1028b02
JJ
11431 PR libgomp/28482
11432 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11433
06785a48
DF
114342007-04-19 Daniel Franke <franke.daniel@gmail.com>
11435
11436 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11437
b3b08ba0
MK
114382007-04-16 Matthias Klose <doko@debian.org>
11439
11440 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11441 flags if not building with -m64.
11442 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11443 flag for i?86-*-* targets, if current target matches -m64.
11444
6b2c5ce0
SE
114452007-04-14 Steve Ellcey <sje@cup.hp.com>
11446
11447 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11448 * Makefile.in: Regenerate.
11449
dd56fe7c
JDA
114502007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11451
11452 PR testsuite/31369
11453 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11454 ld_library_path.
11455 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11456
a0884cf0
JJ
114572007-04-04 Jakub Jelinek <jakub@redhat.com>
11458
11459 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11460 decls.
11461 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11462 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11463 (parse_affinity): New function.
11464 (initialize_env): Call it and gomp_init_affinity.
11465 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11466 create new pthread_attr_t and call gomp_init_thread_affinity
11467 on it for each thread before passing the attribute to pthread_create.
11468 * config/linux/affinity.c: New file.
11469 * config/posix/affinity.c: New file.
11470 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11471 * configure: Rebuilt.
11472 * config.h.in: Rebuilt.
11473 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11474 * Makefile.in: Rebuilt.
11475
1850744b
AT
114762007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11477
11478 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11479 *-*-darwin*.
11480 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11481 and use it if found.
11482
516f1ed8
UB
114832007-03-18 Uros Bizjak <ubizjak@gmail.com>
11484
11485 * testsuite/config/default.exp: New file.
11486 * testsuite/lib/libgomp.exp: New file.
11487 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11488 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11489 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11490 (libgomp_load): Remove.
11491 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11492 always_ld_library_path, not ld_library_path. Set additional_flags
11493 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11494 (target_compile): Do not call libgomp_init. Append lang_library_path
11495 and lang_link_flags to options.
11496 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11497 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11498 here.
11499 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11500 always_ld_library_path. Set LD_LIBRARY_PATH here.
11501 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11502 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11503 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11504 CX8 flag.
11505 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11506 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11507 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11508 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11509 * testsuite/libgomp.c/atomic-10.c: Ditto.
11510
2ada56f5
JJ
115112007-03-21 Jakub Jelinek <jakub@redhat.com>
11512
11513 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11514 dg-final cleanup-modules line.
11515 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11516 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11517 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11518 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11519 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11520 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11521 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11522
f210f1cd
AS
115232007-03-18 Andreas Schwab <schwab@suse.de>
11524
11525 * acinclude.m4: Adjust regular expression for ld version
11526 extraction.
11527 * configure: Regenerate.
11528
c4dc950d
BM
115292007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11530
11531 * Makefile.am: Add install-pdf target as copied from
11532 automake v1.10 rules.
11533 * Makefile.in: Regenerate
11534
e02a048f
JJ
115352007-02-07 Jakub Jelinek <jakub@redhat.com>
11536
78e075d4
JJ
11537 PR libgomp/28486
11538 * configure: Regenerate.
11539
e02a048f
JJ
11540 PR c++/30703
11541 * testsuite/libgomp.c++/pr30703.C: New test.
11542
60def7ed
JJ
115432007-02-02 Jakub Jelinek <jakub@redhat.com>
11544
11545 Revert:
11546 2006-07-05 Eric Christopher <echristo@apple.com>
11547 * configure.ac: Depend addition of -pthread on host OS.
11548 * configure: Regenerate.
11549
f1b0882e
RW
115502007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11551
11552 * libgomp.texi: Fix spacing after abbreviations.
11553
748b9d7c
DF
115542007-01-31 Daniel Franke <franke.daniel@gmail.com>
11555
11556 PR libgomp/30546
11557 * configure.ac: Add check for makeinfo
11558 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 11559 if an appropriate version of makeinfo is found.
748b9d7c
DF
11560 * aclocal.m4: Regenerated.
11561 * configure: Regenerated.
11562 * Makefile.in: Regenerated.
11563 * testsuite/Makefile.in: Regenerated.
11564
14734fc7
DF
115652007-01-29 Daniel Franke <franke.daniel@gmail.com>
11566
11567 PR libgomp/30540
11568 * libgomp.texi: More about implementation-dependent settings.
11569
7befd5d2
TB
115702007-01-26 Tobias Burnus <burnus@net-b.de>
11571
11572 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11573
4288fea2
JJ
115742007-01-24 Jakub Jelinek <jakub@redhat.com>
11575
11576 PR middle-end/30494
11577 * testsuite/libgomp.c/pr30494.c: New test.
11578
627ab4b8
TT
115792007-01-15 Tom Tromey <tromey@redhat.com>
11580
11581 * configure: Rebuilt.
11582 * configure.ac: Fixed comment.
11583
7c2b7f45
DF
115842007-01-14 Daniel Franke <franke.daniel@gmail.com>
11585
11586 * libgomp.texi: Document implementation specific default values of
11587 environment variables.
11588
3721b9e1
DF
115892006-12-21 Daniel Franke <franke.daniel@gmail.com>
11590
11591 PR libgomp/28209
11592 * libgomp.texi: New file.
11593 * configure.ac: Add --enable-generated-files-in-srcdir option.
11594 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11595 files to srcdir.
11596 * Makefile.in: Regenerated.
11597 * config.h.in: Regenerated.
11598 * testsuite/Makefile.in: Regenerated.
11599 * NOTES: Removed.
11600
62bd6216
DF
116012006-12-04 Daniel Franke <franke.daniel@gmail.com>
11602
11603 PR libgomp/29949
11604 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11605
aad741f4
EB
116062006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11607
11608 * configure: Regenerate.
11609
22568cc6
JJ
116102006-12-04 Jakub Jelinek <jakub@redhat.com>
11611
11612 PR libgomp/29947
11613 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11614 start if there shouldn't be any loop iterations.
11615 (gomp_loop_ordered_static_start): Remove start == end test.
11616 * testsuite/libgomp.c/pr29947-1.c: New test.
11617 * testsuite/libgomp.c/pr29947-2.c: New test.
11618
a9690009
EB
116192006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11620
11621 * configure.tgt: Force initial-exec TLS model on Linux only.
11622
597c25e6
DJ
116232006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11624
11625 * configure: Regenerated.
11626
6acf0b38
UB
116272006-11-09 Uros Bizjak <ubizjak@gmail.com>
11628
11629 * env.c (parse_schedule): Reject out of range values.
11630 (parse_unsigned_long): Reject out of range, negative or zero values.
11631
a7a53ca5
JJ
116322006-10-29 Jakub Jelinek <jakub@redhat.com>
11633
11634 PR fortran/29629
11635 * testsuite/libgomp.fortran/pr29629.f90: New test.
11636
6d4d216a
EB
116372006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11638
11639 PR libgomp/29494
11640 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11641 * config/posix95: New directory.
11642 * config/posix95/omp-lock.h: New file.
11643 * config/posix95/lock.c: Likewise.
11644
5b043f08
GK
116452006-10-14 Geoffrey Keating <geoffk@apple.com>
11646
11647 * aclocal.m4: Regenerate.
11648 * configure: Regenerate.
11649
b50019f0
DS
116502006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11651
11652 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11653 '<' to '<='.
11654
8887708e
DS
116552006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11656
11657 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11658 test.
11659 * configure: Regenerate.
11660 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11661
9b9e4cd6
JJ
116622006-09-26 Jakub Jelinek <jakub@redhat.com>
11663
a70ad3bb
JJ
11664 PR middle-end/25261
11665 PR middle-end/28790
11666 * testsuite/libgomp.c/nestedfn-4.c: New test.
11667 * testsuite/libgomp.c/nestedfn-5.c: New test.
11668 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11669
9b9e4cd6
JJ
11670 PR fortran/29097
11671 * testsuite/libgomp.fortran/condinc1.f: New test.
11672 * testsuite/libgomp.fortran/condinc2.f: New test.
11673 * testsuite/libgomp.fortran/condinc3.f90: New test.
11674 * testsuite/libgomp.fortran/condinc4.f90: New test.
11675 * testsuite/libgomp.fortran/condinc1.inc: New file.
11676
2fb31455
TT
116772006-09-18 Tom Tromey <tromey@redhat.com>
11678
11679 * configure: Rebuilt.
11680
c663e301
JM
116812006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11682
11683 PR c/28768
11684 PR preprocessor/14634
11685 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11686 to AC_DEFINE.
11687 * configure: Regenerate.
11688
38371be9
SK
116892006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11690
11691 * testsuite/libgomp.fortran/reduction3.f90: Change
11692 -2147483648 to -huge(i)-1 to avoid overflow.
11693 * testsuite/libgomp.fortran/reduction4.f90: Change
11694 Z'ffffffff' to not(0) to avoid overflow.
11695
571d5ac5
JM
116962006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11697
11698 PR libgomp/25938
11699 * Makefile.am (libsubincludedir): New.
11700 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11701 * Makefile.in: Regenerate.
11702
89b3e3cd
JJ
117032006-08-17 Jakub Jelinek <jakub@redhat.com>
11704
11705 PR libgomp/28725
11706 * env.c: Include ctype.h.
11707 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11708 leading and/or trailing whitespace and compare strings case
11709 insensitively.
11710
742fae05
JJ
117112006-07-16 Jakub Jelinek <jakub@redhat.com>
11712
11713 PR fortran/28390
11714 * testsuite/libgomp.fortran/pr28390.f: New test.
11715
a1daed2d
EC
117162006-07-05 Eric Christopher <echristo@apple.com>
11717
11718 * configure.ac: Depend addition of -pthread on host OS.
11719 * configure: Regenerate.
11720
5d7b5199
JJ
117212006-06-21 Jakub Jelinek <jakub@redhat.com>
11722
11723 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11724 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11725 defined.
11726
fe5568e9
JJ
117272006-06-20 Jakub Jelinek <jakub@redhat.com>
11728
11729 PR libgomp/26175
11730 PR libgomp/26477
11731 * configure.ac: If neither --enable-linux-futex nor
11732 --disable-linux-futex is passed, determine the default by checking
11733 for compiling and/or running against NPTL. With --enable-linux-futex,
11734 check if SYS_gettid and SYS_futex are defined.
11735 * configure: Rebuilt.
11736
c3b11a40
RH
117372006-06-14 Richard Henderson <rth@redhat.com>
11738
11739 PR libgomp/28008
11740 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11741 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11742
d0d1b24d
RH
117432006-06-09 Richard Henderson <rth@redhat.com>
11744
11745 * env.c (gomp_nthreads_var): Change to unsigned long.
11746 (gomp_run_sched_chunk): Likewise.
11747 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11748 (initialize_env): Initialize gomp_thread_attr.
11749 * libgomp.h (gomp_nthreads_var): Update decl.
11750 (gomp_run_sched_chunk): Likewise.
11751 (gomp_thread_attr): Declare.
11752 * team.c (gomp_thread_attr): Export.
11753 (initialize_team): Don't initialize it.
11754
cd75853e
JJ
117552006-06-09 Jakub Jelinek <jakub@redhat.com>
11756
11757 PR fortran/27916
11758 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11759 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11760
33815e0c
FXC
117612006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11762
11763 * config/mingw32/time.c: New file.
11764 * configure.tgt: Use it.
11765
6667de0d
CD
117662006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11767
11768 * Makefile.am: Add install-html target. Add install-html to .PHONY
11769 * Makefile.in: Regenerate.
11770
e962c46b
JDA
117712006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11772
11773 PR libgomp/27612
11774 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11775 * testsuite/libgomp.c/critical-1.c: Likewise.
11776 * testsuite/libgomp.c/loop-1.c: Likewise.
11777 * testsuite/libgomp.c/loop-2.c: Likewise.
11778 * testsuite/libgomp.c/single-1.c: Likewise.
11779 * testsuite/libgomp.c/ordered-1.c: Likewise.
11780 * testsuite/libgomp.c/ordered-2.c: Likewise.
11781
eeb1d9e0
JJ
117822006-05-15 Jakub Jelinek <jakub@redhat.com>
11783
11784 PR middle-end/27416
11785 * libgomp.fortran/pr27416-1.f90: New test.
11786
693d710f
JJ
117872006-05-03 Jakub Jelinek <jakub@redhat.com>
11788
11789 PR fortran/27395
11790 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11791 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11792
8ca5b2a2
JJ
117932006-05-02 Jakub Jelinek <jakub@redhat.com>
11794
11795 PR c++/26943
11796 * testsuite/libgomp.c/pr26943-1.c: New test.
11797 * testsuite/libgomp.c/pr26943-2.c: New test.
11798 * testsuite/libgomp.c/pr26943-3.c: New test.
11799 * testsuite/libgomp.c/pr26943-4.c: New test.
11800 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11801 * testsuite/libgomp.c++/pr26943.C: New test.
11802
077b0dfb
JJ
118032006-05-02 Jakub Jelinek <jakub@redhat.com>
11804
11805 PR middle-end/27337
11806 * testsuite/libgomp.c++/pr27337.C: New test.
11807
91b6c26d
JJ
118082006-04-26 Jakub Jelinek <jakub@redhat.com>
11809
11810 PR c/26171
11811 * testsuite/libgomp.c/pr26171.c: New test.
11812
60e1758f
RH
118132006-04-25 Richard Henderson <rth@redhat.com>
11814
11815 PR libgomp/25865
11816 * configure.ac: Use GCC_CHECK_TLS.
11817 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11818 * Makefile.in, aclocal.m4, configure: Regenerate.
11819
615baed7
MK
118202006-04-10 Matthias Klose <doko@debian.org>
11821
11822 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11823 directory names containing underscores.
11824
fae2b46b
JJ
118252006-03-21 Jakub Jelinek <jakub@redhat.com>
11826
11827 PR c++/26691
11828 * testsuite/libgomp.c++/pr26691.C: New test.
11829
11a5f608
JJ
118302006-03-13 Jakub Jelinek <jakub@redhat.com>
11831
11832 * testsuite/libgomp.fortran/retval2.f90: New test.
11833
1799e5d5
RH
118342006-03-09 Diego Novillo <dnovillo@redhat.com>
11835
11836 * testsuite/libgomp.c++: New directory.
11837
d349482e
AT
118382006-02-25 Shantonu Sen <ssen@opendarwin.org>
11839
11840 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11841 * config/posix/sem.c: Implement the above.
11842
118432006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11844
11845 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11846 define HAVE_BROKEN_POSIX_SEMAPHORES.
11847 * configure: Rebuilt.
11848 * config.h.in: Rebuilt.
11849
124452c9
FXC
118502006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11851
11852 PR bootstrap/26161
11853 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11854 for the other pthread check.
11855 * configure: Regenerate.
11856 * config.h.in: Regenerate.
11857
dd8d6dfe
JJ
118582006-02-15 Jakub Jelinek <jakub@redhat.com>
11859
11860 PR libgomp/25938
11861 PR libgomp/25984
11862 * Makefile.am (fincludedir): New variable.
11863 (nodist_include_HEADERS): Remove Fortran files.
11864 (nodist_finclude_HEADERS): New variable.
11865 * Makefile.in: Regenerated.
11866
6c7a4dfd
JJ
118672006-02-13 Jakub Jelinek <jakub@redhat.com>
11868
11869 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11870 Remove tests for returning assumed character length arrays.
11871
5142e08b
RS
118722006-02-12 Roger Sayle <roger@eyesopen.com>
11873 John David Anglin <dave@hiauly1.hia.nrc.ca>
11874
11875 PR libgomp/25936
11876 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 11877
5821fba8
UW
118782006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11879
11880 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11881
cb2bbc67
EB
118822006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11883
11884 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11885 part of LD_LIBRARY_PATH manually.
11886
f05ee80c
L
118872006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11888
11889 PR libgomp/25852
11890 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11891 libgomp_init.
11892
03b8fe49
PB
118932005-01-25 Paolo Bonzini <bonzini@gnu.org>
11894
11895 PR libgomp/25884
f05ee80c
L
11896 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11897 * configure.ac (PERL): Don't set.
11898 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11899 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11900 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11901 * omp.h.in: Wrap the new configure substitutions with @ characters.
11902 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11903 * aclocal.m4, configure, Makefile.in: Regenerate.
11904 * mkomp_h.pl: Delete.
03b8fe49 11905
18cbfd85
PB
119062005-01-24 Paolo Bonzini <bonzini@gnu.org>
11907
11908 PR libgomp/25259
11909 * configure.ac: Use GCC_HEADER_STDINT.
11910 * libgomp.h: Include gstdint.h.
11911 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11912 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11913
c41303c6
RH
119142006-01-24 Richard Henderson <rth@redhat.com>
11915
11916 PR libgomp/25942
11917 * configure.ac: Add AM_MAINTAINER_MODE.
11918 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11919
149b9553
DN
119202006-01-24 Diego Novillo <dnovillo@redhat.com>
11921
11922 * Makefile.in: Regenerate.
11923 * testsuite/Makefile.in: Regenerate.
11924 * aclocal.m4: Regenerate.
11925
192a50ad
AT
119262006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11927
11928 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11929 Solaris.
11930 * configure.ac: Add check for loadavg.h.
11931 (link_gomp): Adjust comment.
11932 * configure: Regenerate.
11933 * config.h.in: Regenerate.
11934
a55b8e18
SE
119352006-01-21 Steve Ellcey <sje@cup.hp.com>
11936
11937 PR libgomp/25877
11938 * configure.ac: Remove check for alloca.h.
11939 * configure: Regenerate.
11940 * config.h.in: Regenerate.
11941 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11942 * team.c: Remove use of alloca.h.
11943 Call gomp_alloca instead of alloca.
11944
692eeb34
SE
119452006-01-20 Steve Ellcey <sje@cup.hp.com>
11946
11947 PR libgomp/25877
11948 * team.c: Add include of alloca.h.
11949 * configure.ac: Add check for alloca.h.
11950 * configure: Regenerate.
11951 * config.h.in: Regenerate.
11952
953ff289
DN
119532006-01-17 Jakub Jelinek <jakub@redhat.com>
11954
11955 PR fortran/25219
11956 * testsuite/libgomp.fortran/pr25219.f90: New test.
11957
119582005-12-05 Uros Bizjak <uros@kss-loka.si>
11959
11960 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11961 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11962 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11963 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11964 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11965 testsuite/libgomp.fortran/threadprivate1.f90,
11966 testsuite/libgomp.fortran/threadprivate2.f90,
11967 testsuite/libgomp.fortran/threadprivate3.f90,
11968 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11969 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11970 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11971 effective-target to TLS runtime.
11972
11973 * testsuite/libgomp.fortran/pr25162.f: Require
11974 effective-target TLS runtime.
11975
119762005-12-01 Jakub Jelinek <jakub@redhat.com>
11977
11978 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11979 * testsuite/libgomp.c/nestedfn-3.c: New test.
11980
119812005-11-30 Jakub Jelinek <jakub@redhat.com>
11982
11983 PR fortran/25162
11984 * testsuite/libgomp.fortran/pr25162.f: New test.
11985
119862005-11-28 Jakub Jelinek <jakub@redhat.com>
11987
11988 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11989 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11990
119912005-11-25 Jakub Jelinek <jakub@redhat.com>
11992
11993 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11994 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11995 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11996 single.c, team.c, work.c, config/linux/alpha/futex.h,
11997 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11998 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11999 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12000 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12001 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12002 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12003 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12004 FSF address.
12005
120062005-11-18 Jakub Jelinek <jakub@redhat.com>
12007
12008 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12009 to nodist_noinst_HEADERS.
12010 * Makefile.in: Rebuilt.
12011
12012 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12013 add integer count field.
12014 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12015 omp_nest_lock_t type change.
12016 (omp_init_nest_lock): Likewise. Initialize count to 0.
12017 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12018 Increment count.
12019 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12020 Decrement count.
12021 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12022 Increment count if successful and return the new nesting level.
12023 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12024 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12025 * testsuite/libgomp.c/lib-1.c: New test.
12026 * testsuite/libgomp.fortran/lib1.f90: New test.
12027 * testsuite/libgomp.fortran/lib2.f: New test.
12028 * testsuite/libgomp.fortran/lib3.f: New test.
12029
120302005-11-17 Richard Henderson <rth@redhat.com>
12031
12032 PR 24845
12033 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12034 * configure.ac (link_gomp): New. Substitute it.
12035 (AC_CONFIG_FILES): Add libgomp.spec.
12036 * libgomp.spec.in: New file.
12037 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12038 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12039
120402005-11-18 Jakub Jelinek <jakub@redhat.com>
12041
12042 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12043 reduction(-:var) behaving the same as reduction(+:var).
12044 * testsuite/libgomp.c/reduction-4.c: New test.
12045
120462005-11-15 Uros Bizjak <uros@kss-loka.si>
12047
12048 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12049 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12050 testsuite/libgomp.c/copyin-3.c,
12051 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12052 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12053 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12054 testsuite/libgomp.c++/pr24455.C,
12055 testsuite/libgomp.fortran/threadprivate1.f90,
12056 testsuite/libgomp.fortran/threadprivate2.f90,
12057 testsuite/libgomp.fortran/threadprivate3.f90,
12058 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12059 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12060 testsuite/libgomp.fortran/omp_parse3.f90: Require
12061 effective-target TLS.
12062
120632005-11-14 Diego Novillo <dnovillo@redhat.com>
12064
12065 * HEADER: Remove.
12066
120672005-11-13 Jakub Jelinek <jakub@redhat.com>
12068
12069 PR libgomp/24797
12070 * team.c (initialize_team): Pass NULL rather than free as
12071 pthread_key_create destructor. Initialize thread specific data
12072 pointer in initial thread to a static local variable rather than
12073 malloced memory.
12074
120752005-11-11 Uros Bizjak <uros@kss-loka.si>
12076
12077 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12078 its location to ld_library_path.
12079
120802005-11-10 Diego Novillo <dnovillo@redhat.com>
12081
12082 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12083
120842005-11-10 Diego Novillo <dnovillo@redhat.com>
12085
12086 * testsuite/libgomp.c: Rename from libgomp.dg.
12087
120882005-11-09 Diego Novillo <dnovillo@redhat.com>
12089
12090 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12091 threadprivate variable 'i'.
12092
120932005-11-09 Jakub Jelinek <jakub@redhat.com>
12094
12095 * config/linux/s390/futex.h: New file.
12096 * configure.tgt: Use it.
12097
12098 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12099 before the parallel.
12100
121012005-11-08 Jakub Jelinek <jakub@redhat.com>
12102
12103 PR c++/24734
12104 * testsuite/libgomp.c++/master-1.C: New test.
12105
121062005-11-07 Jakub Jelinek <jakub@redhat.com>
12107
12108 * testsuite/libgomp.dg/copyin-3.c: New test.
12109
121102005-11-07 Jakub Jelinek <jakub@redhat.com>
12111
12112 * testsuite/libgomp.fortran/retval1.f90: New test.
12113 * testsuite/libgomp.fortran/vla7.f90: New test.
12114
121152005-11-06 Jakub Jelinek <jakub@redhat.com>
12116
12117 * testsuite/libgomp.fortran/vla2.f90: New test.
12118 * testsuite/libgomp.fortran/vla3.f90: New test.
12119 * testsuite/libgomp.fortran/vla4.f90: New test.
12120 * testsuite/libgomp.fortran/vla5.f90: New test.
12121 * testsuite/libgomp.fortran/vla6.f90: New test.
12122
121232005-11-01 Jakub Jelinek <jakub@redhat.com>
12124
12125 * config/linux/sparc/futex.h: New file.
12126 * configure.tgt: Use it.
12127 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12128
12129 * critical.c: Include stdlib.h.
12130 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12131 ignoring return value.
12132 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12133 LIBGOMP_CHECK_SYNC_BUILTINS check.
12134 * configure: Rebuilt.
12135
121362005-10-31 Jakub Jelinek <jakub@redhat.com>
12137
12138 * testsuite/libgomp.fortran/vla1.f90: New test.
12139
121402005-10-31 Richard Henderson <rth@redhat.com>
12141
12142 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12143 setting 's' in different threads.
12144
121452005-10-31 Jakub Jelinek <jakub@redhat.com>
12146
12147 * libgomp.h (attribute_hidden, ialias): Define.
12148 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12149 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12150 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12151 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12152 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12153 omp_test_lock, omp_test_nest_lock): Likewise.
12154 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12155 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12156 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12157 omp_test_lock, omp_test_nest_lock): Likewise.
12158 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12159 omp_get_dynamic, omp_get_nested): Likewise.
12160 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12161 omp_get_thread_num, omp_in_parallel): Likewise.
12162 * fortran.c (ialias_redirect): Define.
12163 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12164 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12165 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12166 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12167 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12168 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12169 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12170 omp_get_wtime): Add ialias_redirect.
12171
121722005-10-30 Jakub Jelinek <jakub@redhat.com>
12173
12174 * fortran.c: Include stdlib.h.
12175
121762005-10-29 Jakub Jelinek <jakub@redhat.com>
12177
12178 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12179 * Makefile.in: Regenerated.
12180
121812005-10-28 Jakub Jelinek <jakub@redhat.com>
12182
12183 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12184 * libgomp_f.h.in (omp_check_defines): New function.
12185 * env.c: Include libgomp_f.h.
12186 (initialize_env): Call omp_check_defines.
12187
12188 * testsuite/libgomp.dg/copyin-2.c: New test.
12189 * testsuite/libgomp.c++/copyin-2.C: New test.
12190 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12191
12192 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12193 * testsuite/libgomp.fortran/sharing2.f90: New test.
12194
12195 * testsuite/libgomp.dg/copyin-1.c: New test.
12196 * testsuite/libgomp.c++/copyin-1.C: New test.
12197
121982005-10-26 Jakub Jelinek <jakub@redhat.com>
12199
12200 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12201
12202 * testsuite/libgomp.fortran/workshare1.f90: New test.
12203
12204 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12205 only test.
12206 * libgomp.fortran/sharing1.f90: New test.
12207
122082005-10-24 Jakub Jelinek <jakub@redhat.com>
12209
12210 PR c++/24502
12211 * testsuite/libgomp.c++/loop-7.C: New test.
12212
12213 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12214
12215 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12216 * testsuite/libgomp.fortran/reduction6.f90: New test.
12217 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12218
122192005-10-23 Richard Henderson <rth@redhat.com>
12220
12221 * testsuite/libgomp.c++/ctor-1.C: New.
12222 * testsuite/libgomp.c++/ctor-2.C: New.
12223 * testsuite/libgomp.c++/ctor-3.C: New.
12224 * testsuite/libgomp.c++/ctor-4.C: New.
12225 * testsuite/libgomp.c++/ctor-5.C: New.
12226 * testsuite/libgomp.c++/ctor-6.C: New.
12227 * testsuite/libgomp.c++/ctor-7.C: New.
12228 * testsuite/libgomp.c++/ctor-8.C: New.
12229 * testsuite/libgomp.c++/ctor-9.C: New.
12230
122312005-10-21 Diego Novillo <dnovillo@redhat.com>
12232
12233 PR 24455
12234 * testsuite/libgomp.c++/pr24455-1.C: New test.
12235 * testsuite/libgomp.c++/pr24455.C: New test.
12236 * testsuite/libgomp.dg/pr24455-1.c: New test.
12237 * testsuite/libgomp.dg/pr24455.c: New test.
12238
122392005-10-20 Richard Henderson <rth@redhat.com>
12240
12241 * testsuite/libgomp.c++/loop-6.C: New.
12242 * testsuite/libgomp.dg/loop-3.c: New.
12243
122442005-10-20 Jakub Jelinek <jakub@redhat.com>
12245
12246 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12247 explicitly private.
12248 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12249 explicitly shared.
12250
122512005-10-19 Diego Novillo <dnovillo@redhat.com>
12252
12253 * testsuite/libgomp.fortran/jacobi.f: New test.
12254
122552005-10-19 Richard Henderson <rth@redhat.com>
12256
12257 * configure.tgt (i?86-linux): Default to with_arch instead of
12258 CFLAGS. Add -mtune to match target_cpu.
12259 (x86_64-linux): Tune to i686.
12260
12261 * fortran.c (omp_test_nest_lock_): Fix typo.
12262
122632005-10-19 Jakub Jelinek <jakub@redhat.com>
12264
12265 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12266 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12267 * testsuite/libgomp.dg/ordered-3.c: New test.
12268
12269 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12270 Remove volatile keyword.
12271
12272 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12273 in COMMON block to avoid warnings on 64-bit targets.
12274
122752005-10-18 Diego Novillo <dnovillo@redhat.com>
12276
12277 * testsuite/libgomp.dg/shared-3.c: New test.
12278
122792005-10-18 Jakub Jelinek <jakub@redhat.com>
12280
12281 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12282 * testsuite/libgomp.fortran/reduction5.f90: New test.
12283
122842005-10-18 Jakub Jelinek <jakub@redhat.com>
12285
12286 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12287 dg-options.
12288 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12289 flush loop now that __sync_synchronize has proper memory barrier.
12290 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12291 Add -ffixed-form to dg-options.
12292
122932005-10-17 Diego Novillo <dnovillo@redhat.com>
12294
12295 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12296 from subdirectories.
12297 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12298 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12299 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12300 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12301 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12302 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12303 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12304 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12305 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12306 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12307 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12308 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12309 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12310 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12311 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12312 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12313 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12314 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12315 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12316 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12317 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12318 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12319 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12320 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12321 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12322
123232005-10-17 Jakub Jelinek <jakub@redhat.com>
12324
12325 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12326 lang_library_path exists. Use find instead of glob to gather tests.
12327 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12328
123292005-10-17 Diego Novillo <dnovillo@redhat.com>
12330
12331 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12332 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12333 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12334 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12335 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12336 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12337 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12338 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12339 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12340 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12341 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12342 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12343 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12344
123452005-10-15 Jakub Jelinek <jakub@redhat.com>
12346
12347 * testsuite/libgomp.dg/vla-1.c: New test.
12348
12349 * testsuite/libgomp.fortran/reference2.f90: New test.
12350
12351 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12352 declaration of omp_get_thread_num.
12353 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12354 use omp_lib.
12355
12356 * testsuite/libgomp.fortran/reduction1.f90: New test.
12357 * testsuite/libgomp.fortran/reduction2.f90: New test.
12358 * testsuite/libgomp.fortran/reduction3.f90: New test.
12359 * testsuite/libgomp.fortran/reduction4.f90: New test.
12360
123612005-10-13 Richard Henderson <rth@redhat.com>
12362
12363 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12364 * Makefile.in: Regenerate.
12365 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12366 * libgomp.h: Include bar.h.
12367 (struct gomp_barrier): Remove.
12368 (struct gomp_team): Add barrier. Replace master_barrier with
12369 master_release. Replace threads with ordered_release.
12370 (struct gomp_thread): Replace barrier with release.
12371 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12372 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12373 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12374 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12375 (GOMP_single_copy_end): Likewise.
12376 * team.c (gomp_threads_dock): New.
12377 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12378 (gomp_thread_start): Use gomp_barrier_wait.
12379 (new_team, free_team): Update for gomp_team changes.
12380 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12381 (gomp_team_end): Use gomp_barrier_wait.
12382 (initialize_team): Update for gomp_thread changes.
12383 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12384 (gomp_work_share_end_nowait): Use atomic ops when available.
12385 * config/linux/bar.c, config/linux/bar.h: New files.
12386 * config/posix/bar.c, config/posix/bar.h: New files.
12387
123882005-10-13 Jakub Jelinek <jakub@redhat.com>
12389
12390 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12391 * testsuite/libgomp.dg/single-2.c: New test.
12392
12393 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12394 lang_link_flags): Unset, so that they aren't inherited from previously
12395 sourced *.exp.
12396
12397 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12398
123992005-10-12 Richard Henderson <rth@redhat.com>
12400
12401 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12402 (libgomp_init): Use lang_test_file, lang_library_path, and
12403 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12404
12405 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12406 (lang_test_file, lang_link_flags): New.
12407 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12408
12409 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12410 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12411 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12412 testsuite/libgomp.c++/parallel-1.C,
12413 testsuite/libgomp.c++/reduction-1.C,
12414 testsuite/libgomp.c++/reduction-2.C,
12415 testsuite/libgomp.c++/reduction-3.C,
12416 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12417 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12418 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12419 New files, largely cribbed from the C testsuite.
12420
124212005-10-12 Jakub Jelinek <jakub@redhat.com>
12422
12423 * testsuite/libgomp.fortran/character1.f90: New test.
12424 * testsuite/libgomp.fortran/character2.f90: New test.
12425
12426 * testsuite/libgomp.dg/nested-1.c: New test.
12427 * testsuite/libgomp.dg/nested-2.c: New test.
12428 * testsuite/libgomp.fortran/do1.f90: New test.
12429 * testsuite/libgomp.fortran/do2.f90: New test.
12430
12431 * testsuite/libgomp.fortran/reference1.f90: New test.
12432
124332005-10-11 Jakub Jelinek <jakub@redhat.com>
12434
12435 * testsuite/libgomp.dg/reduction-1.c: New test.
12436 * testsuite/libgomp.dg/reduction-2.c: New test.
12437 * testsuite/libgomp.dg/reduction-3.c: New test.
12438
124392005-10-10 Jakub Jelinek <jakub@redhat.com>
12440
12441 * testsuite/libgomp.dg/atomic-1.c: New test.
12442 * testsuite/libgomp.dg/atomic-2.c: New test.
12443
124442005-10-09 Richard Henderson <rth@redhat.com>
12445
12446 * critical.c (atomic_lock): New.
12447 (initialize_critical): Initialize it.
12448 (GOMP_atomic_start, GOMP_atomic_end): New.
12449 * libgomp.map: Export them.
12450 * libgomp_g.h: Declare them.
12451
12452 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12453
124542005-10-02 Richard Henderson <rth@redhat.com>
12455
12456 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12457 to XCFLAGS instead of CFLAGS.
12458
124592005-09-30 Richard Henderson <rth@redhat.com>
12460
12461 * configure.ac: Determine whether -pthread or -lpthread is needed.
12462 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 12463 * Makefile.in, configure: Rebuild.
953ff289
DN
12464
124652005-09-28 Richard Henderson <rth@redhat.com>
12466
12467 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12468 * testsuite/libgomp.dg/omp-single-3.c: New test.
12469
124702005-09-28 Diego Novillo <dnovillo@redhat.com>
12471
12472 * testsuite/libgomp.dg/omp-single-2.c: New test.
12473 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12474
124752005-09-27 Richard Henderson <rth@redhat.com>
12476
12477 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12478 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12479
124802005-09-27 Jakub Jelinek <jakub@redhat.com>
12481
12482 * testsuite/libgomp.dg/omp-loop03.c: New test.
12483
124842005-09-27 Diego Novillo <dnovillo@redhat.com>
12485
12486 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12487
124882005-09-27 Diego Novillo <dnovillo@redhat.com>
12489
12490 * testsuite/libgomp.dg/omp-single-1.c: New test.
12491 * testsuite/libgomp.dg/shared-1.c: Return 0.
12492 Add prototype for abort.
12493 * testsuite/libgomp.dg/shared-2.c: Likewise.
12494
124952005-09-26 Jakub Jelinek <jakub@redhat.com>
12496
12497 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12498 constructs.
12499
125002005-09-26 Diego Novillo <dnovillo@redhat.com>
12501
12502 * testsuite/libgomp.dg/shared-1.c: New test.
12503 * testsuite/libgomp.dg/shared-2.c: New test.
12504
125052005-09-24 Richard Henderson <rth@redhat.com>
12506
12507 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12508
125092005-09-24 Richard Henderson <rth@redhat.com>
12510
12511 * iter.c (gomp_iter_static_next): Round up when computing number
12512 of iterations. Don't bother distributing a remainder equally.
12513
12514 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12515 Don't call srand. Zero b before testing.
12516 (main): New.
12517
125182005-09-24 Jakub Jelinek <jakub@redhat.com>
12519
12520 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12521 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12522
125232005-09-23 Jakub Jelinek <jakub@redhat.com>
12524
12525 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12526 without !$omp end do, followed immediately by subroutine end.
12527
125282005-09-23 Diego Novillo <dnovillo@redhat.com>
12529
12530 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12531
125322005-09-22 Richard Henderson <rth@redhat.com>
12533
12534 * critical.c (GOMP_critical_name_start): Change argument to void**.
12535 Reuse the pointer space if the mutex fits.
12536 (GOMP_critical_name_end): Likewise.
12537 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12538 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12539 (GOMP_critical_name_end): Likewise.
12540 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12541 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12542
125432005-09-20 Richard Henderson <rth@redhat.com>
12544
12545 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12546 (create_lock_lock): New.
12547 (initialize_critical): Initialize it.
12548 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12549 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12550
125512005-09-20 Diego Novillo <dnovillo@redhat.com>
12552
12553 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12554
125552005-09-20 Diego Novillo <dnovillo@redhat.com>
12556
12557 * testsuite/libgomp.dg/omp-loop01.c: New test.
12558 * testsuite/libgomp.dg/omp-loop02.c: New test.
12559
125602005-09-20 Jakub Jelinek <jakub@redhat.com>
12561
12562 * configure.ac (AC_PROG_FC): Add.
12563 (USE_FORTRAN): New automake conditional.
12564 * configure: Rebuilt.
12565 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12566 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12567 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12568 Add rules to build them.
12569 * Makefile.in: Rebuilt.
12570 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12571 OMP_NEST_LOCK_KIND.
12572 * libgomp.map: Add Fortran wrappers.
12573 * libgomp_f.h.in: New file.
12574 * omp_lib.h.in: New file.
12575 * omp_lib.f90.in: New file.
12576 * fortran.c: New file.
12577 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12578 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12579 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12580 libgfortran has been built.
12581 * testsuite/libgomp.fortran/fortran.exp: New file.
12582 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12583 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12584 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12585 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12586 * testsuite/libgomp.fortran/omp_hello.f: New test.
12587 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12588 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12589 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12590 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12591 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12592 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12593 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12594 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12595
125962005-08-30 Richard Henderson <rth@redhat.com>
12597
12598 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12599 function for when aliases are not usable.
12600 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12601 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12602 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12603 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12604 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12605 GOMP_loop_ordered_guided_next): Likewise.
12606 * ordered.c (GOMP_ordered_start): Likewise.
12607
126082005-08-01 Diego Novillo <dnovillo@redhat.com>
12609
12610 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12611 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12612 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12613 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12614 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12615 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12616 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12617 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12618 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12619
126202005-07-07 Eric Christopher <echristo@redhat.com>
12621 Diego Novillo <dnovillo@redhat.com>
12622
12623 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12624 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12625 up code.
12626 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12627 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12628 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12629 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12630 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12631 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12632 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12633
126342005-06-13 Diego Novillo <dnovillo@redhat.com>
12635
12636 * TOPLEVEL.patch: Remove.
12637
126382005-05-16 Richard Henderson <rth@redhat.com>
12639
12640 * configure.ac: Test for clock_gettime.
12641 * config.h.in, configure: Rebuild.
12642 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12643 (omp_get_wtime): Use clock_gettime if available.
12644 (omp_get_wtick): Use clock_getres if available.
12645
126462005-05-11 Richard Henderson <rth@redhat.com>
12647
12648 * config/linux/ia64/futex.h: New file.
12649 * configure.tgt: Use it.
12650
12651 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12652
126532005-05-07 Richard Henderson <rth@redhat.com>
12654
12655 * config/linux/powerpc/futex.h: New file.
12656 * configure.tgt: Use it.
12657
12658 * config/linux/i486/futex.h: Merge ...
12659 * config/linux/x86_64/futex.h: ... into ...
12660 * config/linux/x86/futex.h: ... here.
12661 * configure.tgt: Update to match.
12662
126632005-05-06 Richard Henderson <rth@redhat.com>
12664
12665 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12666 * config/linux/i486/futex.h: Likewise.
12667 * config/linux/x86_64/futex.h: Likewise.
12668
12669 * config/linux/lock.c: New file.
12670 * config/linux/omp-lock.h: New file.
12671
12672 * critical.c, env.h: Don't include omp.h
12673 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12674 * config/posix/time.c: Likewise.
12675 * config/posix/omp-lock.h: New file.
12676 * libgomp.h: Include omp-lock.h and omp.h.
12677 * Makefile.am (nodist_include_HEADERS): New.
12678 (omp.h): New rule.
12679 * configure.ac (PERL): New.
12680 * mkomp_h.pl: New file.
12681 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12682 with templates.
12683 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12684
12685 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12686 build directory. Re-add -march=i486 hack.
12687
12688 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12689 (libgomp_link_flags): Remove.
12690 (libgomp_initialized): Remove.
12691 (libgomp_init): Don't protect from reinitialization. Copy code
12692 from libstdc++ for getting the multilib set correctly.
12693
126942005-05-05 Richard Henderson <rth@redhat.com>
12695
12696 * config/linux/alpha/futex.h: New file.
12697 * configure.tgt (alpha*-*-linux*): Use it.
12698
12699 * config/posix/mutex.c: New file.
12700 * config/posix/sem.c: Use libgomp.h.
12701
12702 * configure.tgt (x86_64-linux): Also test CC for -m32.
12703 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12704
a1daed2d 12705 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
12706 after $gccpath.
12707
12708 * Makefile.am (SUBDIRS): New.
12709 (libgomp_la_LDFLAGS): Add -lpthread.
12710 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12711 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12712
12713 * libgomp_g.h: New file.
12714 * libgomp.h: Split out all public declarations to libgomp_g.h.
12715 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12716 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12717 * config/linux/sem.h: Likewise.
12718 * config/posix/sem.h: Likewise.
12719
12720 * Makefile.am (AM_LDFLAGS): New.
12721 (libgomp_version_script): Split out from ...
12722 (libgomp_la_LDFLAGS): ... here.
12723 (libgomp_version_info): New.
12724 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12725 (LIBGOMP_ENABLE): New.
12726 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12727 (LIBGOMP_ENABLE_SYMVERS): New.
12728 * configure.ac (AC_INIT): Version 1.0.
12729 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12730 (enable-linux-futex): Likewise. Rename from enable-futex.
12731 (libtool_VERSION): New.
12732 (LIBGOMP_ENABLE_SYMVERS): Use it.
12733 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12734 * Makefile.in, aclocal.m4, configure: Rebuild.
12735
12736 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12737 (gomp_mutex_unlock_slow): Fix typo.
12738 * config/linux/sem.c: Similarly.
12739 (gomp_sem_post_slow): Fix typo.
12740 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12741 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12742 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12743
12744 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12745 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12746 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12747 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12748 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12749 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12750 LDFLAGS. Pull enable_futex check to top-level.
12751 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12752 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12753
12754 First attempt at real configury.
12755 * Makefile, config.h: Remove file.
12756 * Makefile.am, Makefile.in: New file.
12757 * acinclude.m4 aclocal.m4: New file.
12758 * configure.ac, configure.tgt, configure: New file.
12759
12760 * config/posix/lock.c: Rename from sys-lock.c.
12761 * config/posix/mutex.h: Rename from sys-mutex.h.
12762 * config/posix/sem.c: Rename from sys-sem.c.
12763 * config/posix/sem.h: Rename from sys-sem.h.
12764 * config/posix/proc.c: Rename from sys-proc.c.
12765 * config/posix/time.c: Rename from sys-proc.c.
12766
12767 * config/linux/mutex.c: New file.
12768 * config/linux/mutex.h: New file.
12769 * config/linux/sem.c: New file.
12770 * config/linux/sem.h: New file.
12771 * config/linux/i486/futex.h: New file.
12772 * config/linux/x86_64/futex.h: New file.
12773
127742005-05-04 Richard Henderson <rth@redhat.com>
12775
12776 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12777 * libgomp.h: Declare them.
12778 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12779 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12780
127812005-05-04 Richard Henderson <rth@redhat.com>
12782
12783 * libgomp-1 code drop
12784
127852005-05-04 Richard Henderson <rth@redhat.com>
12786
12787 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12788 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12789 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12790 (gomp_iter_static_next): Update.
12791 (gomp_ordered_static_next): Update.
12792 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12793 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12794 totally empty range.
12795 (gomp_loop_ordered_static_next): Refine test for calling
12796 gomp_ordered_static_next.
12797 * testsuite/ordered-1.c: Add case for more threads than iterations.
12798
12799 * iter.c (gomp_iter_runtime_next_locked): Remove.
12800 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 12801 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
12802 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12803 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12804 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12805 gomp_loop_ordered_guided_next): Downcase name, make static, add
12806 an external alias with the old name.
12807 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12808 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12809 switch and call one of the above static functions.
12810 * libgomp.h: Update.
12811
12812 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12813 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12814 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12815 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12816 GOMP_loop_ordered_guided_start): Update to match.
12817 * sections.c (GOMP_sections_start): Likewise.
12818 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12819
12820 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12821 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12822 Use bounds check instead of modulus.
12823 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12824 (gomp_ordered_last): Don't sync with ordered_owner here.
12825 (gomp_ordered_next): Likewise.
12826 (gomp_ordered_static_loop_next): Likewise.
12827 * loop.c, libgomp.h: Update to match.
12828
12829 * libgomp.h (GOMP_barrier): Declare.
12830
12831 * testsuite/barrier-1.c: New file.
12832 * testsuite/critical-1.c: New file.
12833 * testsuite/ordered-2.c: New file.
12834 * testsuite/ordered-1.c: New file.
12835 * testsuite/sections-1.c: New file.
12836 * testsuite/single-1.c: New file.
12837 * testsuite/Makefile (TESTS): Add them.
12838
128392005-05-04 Richard Henderson <rth@redhat.com>
12840
12841 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12842 * loop.c (GOMP_loop_static_start): If not the startup thread,
12843 acquire the mutex to wait for initialization complete.
12844 (GOMP_loop_ordered_static_start): Likewise.
12845 (GOMP_loop_ordered_runtime_start): Likewise.
12846 (GOMP_loop_ordered_static_first): Remove.
12847 (GOMP_loop_ordered_dynamic_first): Remove.
12848 (GOMP_loop_ordered_guided_first): Remove.
12849 (GOMP_loop_ordered_runtime_first): Remove.
12850 * ordered.c (gomp_ordered_loop_first): Post to own release when
12851 we're the first thread.
12852 (gomp_ordered_loop_last): Wait on release if not owner.
12853 (gomp_ordered_loop_next): Likewise.
12854 (gomp_ordered_static_loop_init): New.
12855 (gomp_ordered_static_loop_next): Use ordered_owner.
12856 (GOMP_ordered_start): Likewise.
12857 * work.c (gomp_new_work_share): Initialize ordered_owner.
12858
128592005-05-03 Richard Henderson <rth@redhat.com>
12860
12861 * Makefile (OPT): New.
12862 (CFLAGS): Use it.
12863
12864 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12865 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12866 * libgomp.h, libgomp.map, NOTES: Update to match.
12867
12868 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12869 Add initialized and thr members.
12870 (gomp_thread_start): Pause when initially spawned to wait for
12871 the whole team to be created.
12872 (gomp_team_start): Release team members at the end.
12873
12874 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12875 (f_foo_1): Use GOMP_loop_end.
12876 (f_foo_2): Use GOMP_loop_end_nowait.
12877
12878 * testsuite/loop-2.c: New file.
12879 * testsuite/Makefile (TESTS): Add it.
12880
128812005-05-03 Richard Henderson <rth@redhat.com>
12882
12883 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12884 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12885 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12886 initial work_share.
12887
12888 * testsuite/Makefile: New file.
12889 * testsuite/loop-1.c: New file.
12890
128912005-05-03 Richard Henderson <rth@redhat.com>
12892
12893 Initial implementation and checkin.
21fa2a29 12894\f
8d9254fc 12895Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
12896
12897Copying and distribution of this file, with or without modification,
12898are permitted in any medium without royalty provided the copyright
12899notice and this notice are preserved.