]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Update OpenACC tests for amdgcn
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
2
3 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
5 Adjust test dimensions for amdgcn.
6 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7 gang/worker/vector expectations dynamically.
8 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
9 (main): Likewise.
10 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
11 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
12 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
13 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
14 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
15 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
16 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
17 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
18 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
19 (acc_gang): Recognise acc_device_radeon.
20 (acc_worker): Likewise.
21 (acc_vector): Likewise.
22 (main): Set expectations for amdgcn.
23 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
24 (main): Adjust gang/worker/vector expectations dynamically.
25 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
26 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
27 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
28 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
29 for amdgcn.
30
31 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
32
33 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
34 acc_device_radeon.
35 (openacc): Likewise.
36 * openacc.f90 (openacc_kinds): Likewise.
37 (openacc): Likewise.
38 * openacc.h (acc_device_t): Likewise.
39 * openacc_lib.h: Likewise.
40 * testsuite/lib/libgomp.exp
41 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
42 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
43 (cb_compute_construct_end): Likewise.
44 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
45 (cb_enqueue_launch_start): Likewise.
46 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
47 (cb_enter_data_end): Likewise.
48 (cb_exit_data_start): Likewise.
49 (cb_exit_data_end): Likewise.
50 (cb_compute_construct_end): Likewise.
51 (cb_enqueue_launch_start): Likewise.
52 (cb_enqueue_launch_end): Likewise.
53 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
54 (main): Likewise.
55
56 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
57
58 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
59 to use this instead of 'enum gomp_device_property'.
60 (GOMP_OFFLOAD_get_property): Rename to...
61 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
62 * libgomp.h (struct gomp_device_descr): Move
63 'GOMP_OFFLOAD_openacc_get_property'...
64 (struct acc_dispatch_t): ... here. Adjust all users.
65 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
66
67 * target.c (gomp_map_vars_internal)
68 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
69 paths.
70
71 2020-01-10 Jakub Jelinek <jakub@redhat.com>
72
73 PR libgomp/93219
74 * libgomp.h (gomp_print_string): Change return type from void to int.
75 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
76 not all characters have been written.
77
78 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
79
80 * libgomp.texi: Fix typos, use https.
81
82 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
83
84 * testsuite/libgomp.fortran/optional-map.f90: Add test for
85 unallocated/disassociated actual arguments to nonallocatable/nonpointer
86 dummy arguments; those are/shall be regarded as absent arguments.
87 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
88 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
89
90 2020-01-01 Jakub Jelinek <jakub@redhat.com>
91
92 Update copyright years.
93
94 * libgomp.texi: Bump @copying's copyright year.
95
96 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
97
98 PR libgomp/93065
99 * oacc-init.c (goacc_runtime_deinitialize): New function.
100
101 2019-12-28 Jakub Jelinek <jakub@redhat.com>
102
103 PR bootstrap/93074
104 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
105 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
106
107 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
108 Frederik Harwath <frederik@codesourcery.com>
109 Thomas Schwinge <tschwinge@codesourcery.com>
110
111 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
112 * libgomp-plugin.h (gomp_device_property_value): New union.
113 (gomp_device_property_value): New prototype.
114 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
115 constant.
116 (acc_device_property_t): New enum.
117 (acc_get_property, acc_get_property_string): New prototypes.
118 * oacc-init.c (acc_get_device_type): Also assert that result
119 is not `acc_device_current'.
120 (get_property_any, acc_get_property, acc_get_property_string):
121 New functions.
122 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
123 `acc_property_memory', `acc_property_free_memory',
124 `acc_property_name', `acc_property_vendor' and
125 `acc_property_driver' constants. Add `acc_device_property' data
126 type.
127 (openacc_internal): Add `acc_get_property' and
128 `acc_get_property_string' interfaces. Add `acc_get_property_h',
129 `acc_get_property_string_h', `acc_get_property_l' and
130 `acc_get_property_string_l'.
131 * oacc-host.c (host_get_property): New function.
132 (host_dispatch): Wire it.
133 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
134 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
135 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
136 * libgomp.texi (OpenACC Runtime Library Routines): Add
137 `acc_get_property'.
138 (acc_get_property): New node.
139 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
140 function (stub).
141 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
142 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
143 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
144 calls.
145 (GOMP_OFFLOAD_get_property): New function.
146 (struct ptx_device): Add new field "name".
147 (cuda_driver_version_s): Add new static variable ...
148 (nvptx_init): ... and init from here.
149
150 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
151 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
152 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
153 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
154 with test helper functions.
155
156 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
157
158 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
159
160 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
161 variable.
162
163 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
164
165 * target.c (gomp_map_vars_internal): Restore 'omp declare target
166 link' handling.
167
168 2019-12-19 Julian Brown <julian@codesourcery.com>
169
170 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
171 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
172 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
173
174 2019-12-19 Julian Brown <julian@codesourcery.com>
175 Cesar Philippidis <cesar@codesourcery.com>
176
177 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
178 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
179 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
180 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
181 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
182 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
183 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
184 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
185 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
186 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
187 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
188 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
189 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
190
191 2019-12-19 Julian Brown <julian@codesourcery.com>
192
193 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
194 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
195 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
196 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
197 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
198 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
199 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
200 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
201 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
202 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
203 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
204 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
205
206 2019-12-19 Julian Brown <julian@codesourcery.com>
207
208 * libgomp.h (struct target_var_desc): Add do_detach flag.
209 * oacc-init.c (acc_shutdown_1): Free aux block if present.
210 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
211 struct components. Tidy up and add some new checks.
212 (goacc_enter_data_internal): Update call to find_group_last.
213 (goacc_exit_data_internal): Support detach operations and
214 GOMP_MAP_STRUCT.
215 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
216 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
217 attach/detach in enter/exit data detection code.
218 * target.c (gomp_map_vars_existing): Initialise do_detach field of
219 tgt_var_desc.
220 (gomp_map_vars_internal): Support attach.
221 (gomp_unmap_vars_internal): Support detach.
222
223 2019-12-19 Julian Brown <julian@codesourcery.com>
224 Thomas Schwinge <thomas@codesourcery.com>
225
226 * libgomp.h (struct splay_tree_aux): Add attach_count field.
227 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
228 * libgomp.map (OACC_2.6): New section. Add acc_attach,
229 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
230 acc_detach_finalize_async.
231 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
232 acc_detach, acc_detach_async, acc_detach_finalize,
233 acc_detach_finalize_async): New functions.
234 * openacc.h (acc_attach, acc_attach_async, acc_detach,
235 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
236 prototypes.
237 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
238 (gomp_remove_var_internal): Free attachment counts if present.
239 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
240 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
241
242 2019-12-19 Julian Brown <julian@codesourcery.com>
243 Cesar Philippidis <cesar@codesourcery.com>
244
245 * libgomp.h (gomp_map_val): Add prototype.
246 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
247 open-coding device-address calculation.
248 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
249 non-present case.
250
251 2019-12-19 Julian Brown <julian@codesourcery.com>
252
253 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
254 field for virtual_refcount.
255 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
256 (gomp_free_memmap): Remove prototype.
257 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
258 instead of calling gomp_free_memmap.
259 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
260 dynamic_refcount.
261 (acc_unmap_data): Open code instead of forcing target_mem_desc's
262 to_free field to NULL then calling gomp_unmap_vars. Handle
263 REFCOUNT_INFINITY on target blocks.
264 (goacc_enter_data): Rename to...
265 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
266 handling for mapping groups. Use virtual_refcount instead of
267 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
268 map_map_vars_async call. Re-do lookup for target pointer return value.
269 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
270 renamed goacc_enter_datum function.
271 (goacc_exit_data): Rename to...
272 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
273 (acc_delete, acc_delete_async, acc_delete_finalize,
274 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
275 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
276 goacc_exit_datum function.
277 (gomp_acc_remove_pointer, find_pointer): Remove functions.
278 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
279 New functions.
280 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
281 goacc_exit_data_internal helper functions.
282 * target.c (gomp_map_vars_internal): Handle
283 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
284 semantics.
285 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
286 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
287 virtual_refcount field instead of dynamic_refcount.
288 (gomp_free_memmap): Remove function.
289 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
290 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
291 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
292
293 2019-12-19 Julian Brown <julian@codesourcery.com>
294 Thomas Schwinge <thomas@codesourcery.com>
295
296 * libgomp.h (struct splay_tree_aux): New.
297 (struct splay_tree_key_s): Replace link_key field with aux pointer.
298 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
299 to aux struct.
300 (gomp_remove_var_internal): Free aux block if present.
301 (gomp_load_image_to_device): Zero-initialise aux field instead of
302 link_key field.
303 (omp_target_associate_pointer): Zero-initialise aux field.
304
305 2019-12-18 Jakub Jelinek <jakub@redhat.com>
306
307 PR middle-end/86416
308 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
309 q or none.
310 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
311 L or none.
312
313 2019-12-19 Julian Brown <julian@codesourcery.com>
314 Maciej W. Rozycki <macro@codesourcery.com>
315 Tobias Burnus <tobias@codesourcery.com>
316 Thomas Schwinge <thomas@codesourcery.com>
317
318 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
319 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
320 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
321 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
322 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
323 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
324 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
325 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
326 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
327
328 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
329
330 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
331 called...
332 (goacc_insert_pointer): ... from here, "present" case.
333 (goacc_insert_pointer): Inline function into...
334 (GOACC_enter_exit_data): ... here, and simplify.
335
336 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
337 called...
338 (goacc_insert_pointer): ... from here, "not present" case.
339
340 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
341 all users.
342
343 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
344 'goacc_enter_data', 'goacc_exit_data'.
345
346 * oacc-mem.c (delete_copyout): Refactor into...
347 (goacc_exit_data): ... this. Adjust all users.
348
349 * oacc-mem.c (present_create_copy): Refactor into...
350 (goacc_enter_data): ... this. Adjust all users.
351
352 * target.c (gomp_unmap_vars_internal): Add a safeguard to
353 'gomp_remove_var'.
354
355 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
356 like 'GOMP_MAP_FROM'.
357
358 PR libgomp/92726
359 PR libgomp/92970
360 PR libgomp/92984
361 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
362 fails.
363 (GOACC_enter_exit_data): Simplify accordingly.
364 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
365 subsuming...
366 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
367 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
368 file.
369 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
370 subsuming...
371 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
372 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
373 file.
374 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
375 subsuming...
376 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
377
378 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
379 'finalize' handling.
380
381 PR libgomp/92848
382 * oacc-mem.c (acc_map_data, present_create_copy)
383 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
384 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
385 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
386 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
387 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
388 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
389 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
390 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
391 Remove "XFAIL"s.
392
393 * target.c (gomp_unmap_tgt): Make it 'static'.
394 * libgomp.h (gomp_unmap_tgt): Remove.
395
396 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
397
398 PR middle-end/86416
399 * testsuite/libgomp.c/pr86416-1.c: New.
400 * testsuite/libgomp.c/pr86416-2.c: New.
401
402 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
403
404 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
405 all symbols as public except for the 'use …, only' imported symbol,
406 which is private.
407 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
408 all symbols from module openacc_kinds as PUBLIC
409 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
410 fix comment typo.
411 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
412
413 2019-12-13 Julian Brown <julian@codesourcery.com>
414
415 PR libgomp/92881
416
417 * libgomp.h (gomp_remove_var_async): Add prototype.
418 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
419 gomp_remove_var.
420 * target.c (gomp_unref_tgt): Change return type to bool, indicating
421 whether target_mem_desc was unmapped.
422 (gomp_unref_tgt_void): New.
423 (gomp_remove_var): Reimplement in terms of...
424 (gomp_remove_var_internal): ...this new helper function.
425 (gomp_remove_var_async): New, implemented using above helper function.
426 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
427 gomp_unref_tgt.
428
429 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
430
431 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
432 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
433 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
434 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
435 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
436 Likewise.
437 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
438 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
439
440 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
441
442 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
443 as public except for the 'use …, only' imported symbol, which is
444 private.
445 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
446 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
447 attributes for acc_copyout_finalize and acc_delete_finalize.
448
449 2019-12-11 Jakub Jelinek <jakub@redhat.com>
450
451 PR fortran/92899
452 * testsuite/libgomp.fortran/atomic1.f90: New test.
453
454 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
455
456 PR libgomp/92843
457 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
458 reference counting for structured 'REFCOUNT_INFINITY'. Add some
459 assertions.
460 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
461 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
462 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
463 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
464 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
465
466 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
467 * oacc-mem.c: ... here.
468 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
469 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
470 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
471 Remove.
472 * libgomp_g.h: Update.
473
474 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
475 * oacc-async.c: ... here.
476 * oacc-int.h (goacc_wait): Declare.
477 * libgomp_g.h: Update
478
479 PR libgomp/92854
480 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
481 New file.
482 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
483 Likewise.
484 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
485 Likewise.
486 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
487 Likewise.
488 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
489 Likewise.
490 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
491 Likewise.
492
493 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
494 Julian Brown <julian@codesourcery.com>
495
496 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
497 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
498
499 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
500
501 * omp_lib.h.in: Fix spelling of function declaration
502 omp_get_cancell(l)ation.
503 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
504 Fix typos.
505 * env.c: Fix comment typos.
506 * oacc-host.c: Likewise.
507 * ordered.c: Likewise.
508 * task.c: Likewise.
509 * team.c: Likewise.
510 * config/gcn/task.c: Likewise.
511 * config/gcn/team.c: Likewise.
512 * config/nvptx/task.c: Likewise.
513 * config/nvptx/team.c: Likewise.
514 * plugin/plugin-gcn.c: Likewise.
515 * testsuite/libgomp.fortran/jacobi.f: Likewise.
516 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
517 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
518
519 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
520
521 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
522 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
523 unnecessary 'dg-additional-options "-w"'.
524
525 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
526 Julian Brown <julian@codesourcery.com>
527
528 PR libgomp/92116
529 PR libgomp/92877
530
531 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
532 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
533 Adjust all users.
534 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
535 Remove XFAIL.
536 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
537 Likewise.
538 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
539
540 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
541
542 PR libgomp/92503
543 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
544 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
545 file.
546 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
547 Likewise.
548 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
549 Likewise.
550 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
551 Likewise.
552 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
553 Likewise.
554 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
555 Likewise.
556 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
557 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
558 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
559 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
560 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
561 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
562 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
563 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
564 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
565 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
566
567 PR libgomp/92840
568 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
569 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
570 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
571 New file.
572 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
573 Likewise.
574 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
575 Likewise.
576 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
577 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
578
579 PR libgomp/92511
580 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
581 this file...
582 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
583 this file...
584 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
585 file...
586 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
587 file...
588 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
589 ... with their content moved into, and extended in this new file.
590 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
591 New file.
592 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
593 Likewise.
594 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
595 Likewise.
596 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
597 Likewise.
598
599 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
600
601 PR libgomp/92854
602 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
603
604 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
605
606 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
607
608 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
609
610 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
611 unique.
612 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
613 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
614 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
615 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
616 Ditto.
617 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
618 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
619
620 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
621
622 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
623
624 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
625 Kwok Cheung Yeung <kcy@codesourcery.com>
626
627 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
628 if input it a NULL pointer.
629 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
630 diagnostic of NULL pointer.
631 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
632 * testsuite/libgomp.fortran/optional-map.f90: New.
633 * testsuite/libgomp.fortran/use_device_addr-1.f90
634 (test_dummy_opt_callee_1_absent): New.
635 (test_dummy_opt_call_1): Call it.
636 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
637 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
638 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
639 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
640 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
641 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
642 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
643 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
644 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
645 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
646 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
647 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
648 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
649 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
650 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
651 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
652
653 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
654
655 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
656 expect dg-output of 'Error termination.' for GCN.
657 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
658 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
659
660 2019-12-04 Jakub Jelinek <jakub@redhat.com>
661
662 PR fortran/92756
663 * testsuite/libgomp.fortran/teams1.f90: New test.
664 * testsuite/libgomp.fortran/teams2.f90: New test.
665
666 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
667
668 * oacc-init.c (acc_known_device_type): Add function.
669 (unknown_device_type_error): Add function.
670 (name_of_acc_device_t): Change to call unknown_device_type_error
671 on unknown type.
672 (resolve_device): Use acc_known_device_type.
673 (acc_init): Fail if acc_device_t argument is not valid.
674 (acc_shutdown): Likewise.
675 (acc_get_num_devices): Likewise.
676 (acc_set_device_type): Likewise.
677 (acc_get_device_num): Likewise.
678 (acc_set_device_num): Likewise.
679 (acc_on_device): Add comment that argument validity is not checked.
680
681 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
682
683 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
684 Recognize amdgcn.
685 (check_effective_target_openacc_amdgcn_accel_present): New proc.
686 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
687 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
688 * testsuite/libgomp.oacc-c/c.exp: Likewise.
689 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
690
691 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
692
693 PR libgomp/91938
694 * configure.tgt: Avoid IE tls on *-*-musl*.
695
696 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
697
698 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
699 adding a common-block test case.
700
701 2019-11-29 Jakub Jelinek <jakub@redhat.com>
702
703 PR c++/60228
704 * testsuite/libgomp.c++/udr-20.C: New test.
705 * testsuite/libgomp.c++/udr-21.C: New test.
706
707 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
708
709 * testsuite/lib/libgomp.exp
710 (check_effective_target_offload_target_nvptx): New proc.
711 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
712 'dg-skip-if'.
713 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
714 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
715 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
716
717 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
718
719 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
720 * testsuite/libgomp.c/pr39591-2.c: Likewise.
721 * testsuite/libgomp.c/pr39591-3.c: Likewise.
722 * testsuite/libgomp.c/private-1.c: Likewise.
723 * testsuite/libgomp.c/task-1.c: Likewise.
724 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
725
726 2019-11-20 Julian Brown <julian@codesourcery.com>
727
728 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
729 aq->mutex here.
730 (queue_push_launch): Lock aq->mutex before calling
731 wait_for_queue_nonfull.
732 (queue_push_callback): Likewise.
733 (queue_push_asyncwait): Likewise.
734 (queue_push_placeholder): Likewise.
735
736 2019-11-20 Julian Brown <julian@codesourcery.com>
737
738 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
739 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
740 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
741 return code.
742
743 2019-11-20 Julian Brown <julian@codesourcery.com>
744
745 PR libgomp/92511
746
747 * oacc-mem.c (present_create_copy): Fix device pointer return value in
748 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
749 in non-present/create case.
750 (delete_copyout): Change error condition to fail only on copies outside
751 of mapped block. Adjust error message accordingly.
752 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
753 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
754 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
755 message.
756 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
757 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
758 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
759
760 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
761
762 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
763 libatomic in build-tree testing.
764
765 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
766
767 * testsuite/Makefile.in: Regenerate.
768
769 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
770
771 * testsuite/libgomp.c/target-print-1.c: New file.
772 * testsuite/libgomp.fortran/target-print-1.f90: New file.
773 * testsuite/libgomp.oacc-c/print-1.c: New file.
774 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
775
776 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
777 Kwok Cheung Yeung <kcy@codesourcery.com>
778 Julian Brown <julian@codesourcery.com>
779 Tom de Vries <tom@codesourcery.com>
780
781 * plugin/Makefrag.am: Add amdgcn plugin support.
782 * plugin/configfrag.ac: Likewise.
783 * plugin/plugin-gcn.c: New file.
784 * configure: Regenerate.
785 * Makefile.in: Regenerate.
786 * testsuite/Makefile.in: Regenerate.
787
788 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
789
790 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
791 and use team_malloc variants.
792 (gomp_gcn_exit_kernel): Use team_free.
793 * libgomp.h (TEAM_ARENA_SIZE): Define.
794 (TEAM_ARENA_START): Define.
795 (TEAM_ARENA_FREE): Define.
796 (TEAM_ARENA_END): Define.
797 (team_malloc): New function.
798 (team_malloc_cleared): New function.
799 (team_free): New function.
800 * team.c (gomp_new_team): Initialize and use team_malloc.
801 (free_team): Use team_free.
802 (gomp_free_thread): Use team_free.
803 (gomp_pause_host): Use team_free.
804 * work.c (gomp_init_work_share): Use team_malloc.
805 (gomp_fini_work_share): Use team_free.
806
807 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
808 Kwok Cheung Yeung <kcy@codesourcery.com>
809 Julian Brown <julian@codesourcery.com>
810 Tom de Vries <tom@codesourcery.com>
811
812 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
813 * Makefile.in: Regenerate.
814 * config.h.in (PLUGIN_GCN): Add new undef.
815 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
816 * config/gcn/affinity-fmt.c: New file.
817 * config/gcn/bar.c: New file.
818 * config/gcn/bar.h: New file.
819 * config/gcn/doacross.h: New file.
820 * config/gcn/icv-device.c: New file.
821 * config/gcn/oacc-target.c: New file.
822 * config/gcn/simple-bar.h: New file.
823 * config/gcn/target.c: New file.
824 * config/gcn/task.c: New file.
825 * config/gcn/team.c: New file.
826 * config/gcn/time.c: New file.
827 * configure.ac: Add amdgcn*-*-*.
828 * configure: Regenerate.
829 * configure.tgt: Add amdgcn*-*-*.
830 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
831 * libgomp.h (gcn_thrs): Add amdgcn variant.
832 (set_gcn_thrs): Likewise.
833 (gomp_thread): Likewise.
834 * oacc-int.h (goacc_thread): Likewise.
835 * oacc-target.c: New file.
836 * openacc.f90 (acc_device_gcn): New parameter.
837 * openacc.h (acc_device_t): Add acc_device_gcn.
838 * team.c (gomp_free_pool_helper): Add amdgcn support.
839
840 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
841 Julian Brown <julian@codesourcery.com>
842
843 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
844 parameter.
845 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
846 queue constructor.
847 * oacc-host.c (host_openacc_async_construct): Add device parameter.
848 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
849 device parameter.
850
851 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
852
853 * configure.tgt (nvptx*-*-*): Add "accel" directory.
854 * config/nvptx/libgomp-plugin.c: Move ...
855 * config/accel/libgomp-plugin.c: ... to here.
856 * config/nvptx/lock.c: Move ...
857 * config/accel/lock.c: ... to here.
858 * config/nvptx/mutex.c: Move ...
859 * config/accel/mutex.c: ... to here.
860 * config/nvptx/mutex.h: Move ...
861 * config/accel/mutex.h: ... to here.
862 * config/nvptx/oacc-async.c: Move ...
863 * config/accel/oacc-async.c: ... to here.
864 * config/nvptx/oacc-cuda.c: Move ...
865 * config/accel/oacc-cuda.c: ... to here.
866 * config/nvptx/oacc-host.c: Move ...
867 * config/accel/oacc-host.c: ... to here.
868 * config/nvptx/oacc-init.c: Move ...
869 * config/accel/oacc-init.c: ... to here.
870 * config/nvptx/oacc-mem.c: Move ...
871 * config/accel/oacc-mem.c: ... to here.
872 * config/nvptx/oacc-plugin.c: Move ...
873 * config/accel/oacc-plugin.c: ... to here.
874 * config/nvptx/omp-lock.h: Move ...
875 * config/accel/omp-lock.h: ... to here.
876 * config/nvptx/openacc.f90: Move ...
877 * config/accel/openacc.f90: ... to here.
878 * config/nvptx/pool.h: Move ...
879 * config/accel/pool.h: ... to here.
880 * config/nvptx/proc.c: Move ...
881 * config/accel/proc.c: ... to here.
882 * config/nvptx/ptrlock.c: Move ...
883 * config/accel/ptrlock.c: ... to here.
884 * config/nvptx/ptrlock.h: Move ...
885 * config/accel/ptrlock.h: ... to here.
886 * config/nvptx/sem.c: Move ...
887 * config/accel/sem.c: ... to here.
888 * config/nvptx/sem.h: Move ...
889 * config/accel/sem.h: ... to here.
890 * config/nvptx/thread-stacksize.h: Move ...
891 * config/accel/thread-stacksize.h: ... to here.
892
893 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
894 Tobias Burnus <tobias@codesourcery.com>
895 Frederik Harwath <frederik@codesourcery.com>
896 Thomas Schwinge <thomas@codesourcery.com>
897
898 libgomp/
899 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
900 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
901 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
902
903 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
904 Kwok Cheung Yeung <kcy@codesourcery.com>
905
906 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
907 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
908
909 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
910
911 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
912
913 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
914 run'.
915 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
916 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
917
918 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
919
920 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
921 Add expected warnings about missing reduction clauses.
922 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
923 Likewise.
924 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
925 Likewise.
926 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
927 Likewise.
928
929 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
930
931 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
932 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
933 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
934 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
935 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
936 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
937
938 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
939
940 PR fortran/92305
941 * testsuite/libgomp.fortran/allocatable2.f90: Use
942 unique numbers with 'stop'.
943 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
944 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
945 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
946 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
947 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
948
949 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
950
951 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
952 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
953 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
954 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
955 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
956 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
957
958 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
959
960 * testsuite/libgomp.fortran/target9.f90: New.
961
962 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
963
964 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
965 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
966 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
967 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
968 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
969 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
970 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
971 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
972 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
973 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
974 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
975 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
976 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
977 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
978 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
979 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
980 * testsuite/libgomp.fortran/associate1.f90: Ditto.
981 * testsuite/libgomp.fortran/associate2.f90: Ditto.
982 * testsuite/libgomp.fortran/associate3.f90: Ditto.
983 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
984 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
985 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
986 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
987 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
988 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
989 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
990 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
991 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
992 * testsuite/libgomp.fortran/character1.f90: Ditto.
993 * testsuite/libgomp.fortran/character2.f90: Ditto.
994 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
995 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
996 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
997 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
998 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
999 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1000 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1001 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1002 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1003 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1004 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1005 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1006 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1007 * testsuite/libgomp.fortran/do1.f90: Ditto.
1008 * testsuite/libgomp.fortran/do2.f90: Ditto.
1009 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1010 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1011 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1012 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1013 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1014 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1015 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1016 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1017 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1018 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1019 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1020 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1021 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1022 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1023 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1024 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1025 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1026 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1027 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1028 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1029 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1030 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1031 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1032 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1033 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1034 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1035 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1036 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1037 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1038 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1039 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1040 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1041 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1042 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1043 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1044 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1045 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1046 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1047 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1048 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1049 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1050 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1051 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1052 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1053 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1054 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1055 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1056 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1057 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1058 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1059 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1060 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1061 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1062 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1063 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1064 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1065 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1066 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1067 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1068 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1069 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1070 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1071 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1072 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1073 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1074 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1075 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1076 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1077 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1078 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1079 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1080 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1081 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1082 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1083 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1084 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1085 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1086 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1087 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1088 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1089 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1090 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1091 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1092 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1093 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1094 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1095 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1096 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1097 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1098 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1099 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1100 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1101 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1102 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1103 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1104 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1105 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1106 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1107 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1108 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1109 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1110 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1111 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1112 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1113 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1114 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1115 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1116 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1117 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1118 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1119 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1120 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1121 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1122 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1123 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1124 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1125 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1126 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1127 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1128 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1129 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1130 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1131 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1132 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1133 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1134 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1135 * testsuite/libgomp.fortran/stack.f90: Ditto.
1136 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1137 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1138 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1139 * testsuite/libgomp.fortran/target1.f90: Ditto.
1140 * testsuite/libgomp.fortran/target2.f90: Ditto.
1141 * testsuite/libgomp.fortran/target3.f90: Ditto.
1142 * testsuite/libgomp.fortran/target4.f90: Ditto.
1143 * testsuite/libgomp.fortran/target5.f90: Ditto.
1144 * testsuite/libgomp.fortran/target6.f90: Ditto.
1145 * testsuite/libgomp.fortran/target7.f90: Ditto.
1146 * testsuite/libgomp.fortran/target8.f90: Ditto.
1147 * testsuite/libgomp.fortran/task1.f90: Ditto.
1148 * testsuite/libgomp.fortran/task2.f90: Ditto.
1149 * testsuite/libgomp.fortran/task3.f90: Ditto.
1150 * testsuite/libgomp.fortran/task4.f90: Ditto.
1151 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1152 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1153 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1154 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1155 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1156 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1157 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1158 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1159 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1160 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1161 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1162 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1163 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1164 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1165 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1166 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1167 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1168 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1169 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1170 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1171 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1172 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1173 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1174 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1175 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1176 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1177 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1178 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1179 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1180 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1181 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1182 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1183 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1184 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1185
1186 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
1187
1188 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1189 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1190 Ditto; add 'dg-do run' for torture testing.
1191 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1192 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1193 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1194 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1195 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1196 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1197 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1198 * testsuite/libgomp.fortran/task2.f90: Ditto.
1199 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1200 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1201 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1202 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1203 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1204 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1205
1206 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
1207
1208 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1209 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1210 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1211 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1212 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1213 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1214 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1215 Use 'stop' not abort().
1216 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1217 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1218 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1219 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1220 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1221 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1222 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1223 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1224 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1225 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1226 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1227 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1228 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1229 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1230 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1231 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1232 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1233 Ditto.
1234 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1235 Ditto.
1236 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1237 Ditto.
1238 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1239 Ditto.
1240 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1241 Ditto.
1242 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1243 Ditto.
1244 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1245 Ditto.
1246 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1247 Ditto.
1248 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1249 Ditto.
1250 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1251 Ditto.
1252 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1253 Ditto.
1254 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1255 Ditto.
1256 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1257 Ditto.
1258 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1259 Ditto.
1260 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1261 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1262 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1263 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1264 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1265 Likewise and also add 'dg-do run'.
1266 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1267 Ditto.
1268
1269 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1270 Tobias Burnus <tobias@codesourcery.com>
1271
1272 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1273 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1274 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1275
1276 2019-10-14 Jakub Jelinek <jakub@redhat.com>
1277
1278 PR libgomp/92081
1279 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1280 than 0.
1281
1282 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
1283
1284 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1285 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1286
1287 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1288
1289 PR middle-end/92036
1290 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1291 file.
1292
1293 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
1294
1295 PR testsuite/91884
1296 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1297 add -lquadmath.
1298 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1299
1300 2019-10-09 Jakub Jelinek <jakub@redhat.com>
1301
1302 PR libgomp/92028
1303 * target.c (gomp_map_vars_internal): Readd the previous
1304 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1305 though do that just in the !not_found_cnt case.
1306
1307 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
1308
1309 * gfortran.dg/gomp/target-simd.f90: New.
1310
1311 2019-10-02 Julian Brown <julian@codesourcery.com>
1312 Cesar Philippidis <cesar@codesourcery.com>
1313
1314 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1315 * target.c (FIELD_TGT_EMPTY): Define.
1316 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1317 as switch instead of list of ifs.
1318 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1319
1320 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1321
1322 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1323 include. Replace alloca () with __builtin_alloca ().
1324 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1325
1326 2019-10-01 Jakub Jelinek <jakub@redhat.com>
1327
1328 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1329 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1330 * oacc-parallel.c: Don't include "libgomp_g.h".
1331 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1332 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1333 * aclocal.m4: Regenerated.
1334 * config.h.in: Regenerated.
1335 * configure: Regenerated.
1336 * Makefile.in: Regenerated.
1337
1338 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1339
1340 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1341
1342 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
1343
1344 * configure: Regenerate.
1345
1346 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
1347
1348 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1349 string is initialized.
1350
1351 2019-09-06 Florian Weimer <fweimer@redhat.com>
1352
1353 * configure: Regenerate.
1354
1355 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1356
1357 PR other/79543
1358 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1359 scanning to conform to the GNU Coding Standards.
1360 * configure: Regenerate.
1361
1362 2019-08-28 Jakub Jelinek <jakub@redhat.com>
1363
1364 PR libgomp/91530
1365 * testsuite/libgomp.c/scan-21.c: New test.
1366 * testsuite/libgomp.c/scan-22.c: New test.
1367
1368 2019-08-27 Jakub Jelinek <jakub@redhat.com>
1369
1370 PR libgomp/91530
1371 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1372 targets.
1373 * testsuite/libgomp.c/scan-12.c: Likewise.
1374 * testsuite/libgomp.c/scan-13.c: Likewise.
1375 * testsuite/libgomp.c/scan-14.c: Likewise.
1376 * testsuite/libgomp.c/scan-15.c: Likewise.
1377 * testsuite/libgomp.c/scan-16.c: Likewise.
1378 * testsuite/libgomp.c/scan-17.c: Likewise.
1379 * testsuite/libgomp.c/scan-18.c: Likewise.
1380 * testsuite/libgomp.c/scan-19.c: Likewise.
1381 * testsuite/libgomp.c/scan-20.c: Likewise.
1382 * testsuite/libgomp.c++/scan-9.C: Likewise.
1383 * testsuite/libgomp.c++/scan-10.C: Likewise.
1384 * testsuite/libgomp.c++/scan-11.C: Likewise.
1385 * testsuite/libgomp.c++/scan-12.C: Likewise.
1386 * testsuite/libgomp.c++/scan-14.C: Likewise.
1387 * testsuite/libgomp.c++/scan-15.C: Likewise.
1388 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1389 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1390 * testsuite/libgomp.c++/scan-16.C: Likewise.
1391
1392 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1393
1394 PR fortran/91473
1395 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1396 -std=legacy so invalid code in the test case is accepted.
1397
1398 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1399
1400 PR fortran/91422
1401 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1402 dimension.
1403
1404 2019-08-08 Jakub Jelinek <jakub@redhat.com>
1405
1406 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1407 perform the lookup in the first loop only if !not_found_cnt, otherwise
1408 perform lookups for it in the second loop guarded with
1409 if (not_found_cnt || has_firstprivate).
1410 * testsuite/libgomp.c/target-37.c: New test.
1411 * testsuite/libgomp.c++/target-22.C: New test.
1412
1413 2019-08-07 Jakub Jelinek <jakub@redhat.com>
1414
1415 * testsuite/libgomp.c/target-18.c (struct S): New type.
1416 (foo): Use use_device_addr clause instead of use_device_ptr clause
1417 where required by OpenMP 5.0, add further tests for both use_device_ptr
1418 and use_device_addr clauses.
1419 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1420 (foo): Use use_device_addr clause instead of use_device_ptr clause
1421 where required by OpenMP 5.0, add further tests for both use_device_ptr
1422 and use_device_addr clauses. Add t and u arguments.
1423 (main): Adjust caller.
1424
1425 2019-08-06 Jakub Jelinek <jakub@redhat.com>
1426
1427 * testsuite/libgomp.c++/loop-13.C: New test.
1428 * testsuite/libgomp.c++/loop-14.C: New test.
1429 * testsuite/libgomp.c++/loop-15.C: New test.
1430
1431 2019-07-31 Jakub Jelinek <jakub@redhat.com>
1432
1433 PR middle-end/91301
1434 * testsuite/libgomp.c++/for-27.C: New test.
1435
1436 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1437
1438 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
1439 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1440
1441 2019-07-20 Jakub Jelinek <jakub@redhat.com>
1442
1443 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1444
1445 2019-07-08 Jakub Jelinek <jakub@redhat.com>
1446
1447 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1448 * testsuite/libgomp.c++/scan-16.C: Likewise.
1449
1450 2019-07-06 Jakub Jelinek <jakub@redhat.com>
1451
1452 * testsuite/libgomp.c/scan-19.c: New test.
1453 * testsuite/libgomp.c/scan-20.c: New test.
1454
1455 * testsuite/libgomp.c/scan-11.c: New test.
1456 * testsuite/libgomp.c/scan-12.c: New test.
1457 * testsuite/libgomp.c/scan-13.c: New test.
1458 * testsuite/libgomp.c/scan-14.c: New test.
1459 * testsuite/libgomp.c/scan-15.c: New test.
1460 * testsuite/libgomp.c/scan-16.c: New test.
1461 * testsuite/libgomp.c/scan-17.c: New test.
1462 * testsuite/libgomp.c/scan-18.c: New test.
1463 * testsuite/libgomp.c++/scan-9.C: New test.
1464 * testsuite/libgomp.c++/scan-10.C: New test.
1465 * testsuite/libgomp.c++/scan-11.C: New test.
1466 * testsuite/libgomp.c++/scan-12.C: New test.
1467 * testsuite/libgomp.c++/scan-13.C: New test.
1468 * testsuite/libgomp.c++/scan-14.C: New test.
1469 * testsuite/libgomp.c++/scan-15.C: New test.
1470 * testsuite/libgomp.c++/scan-16.C: New test.
1471
1472 2019-07-04 Jakub Jelinek <jakub@redhat.com>
1473
1474 * testsuite/libgomp.c/scan-9.c: New test.
1475 * testsuite/libgomp.c/scan-10.c: New test.
1476
1477 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1478
1479 * testsuite/libgomp.c++/scan-1.C: New test.
1480 * testsuite/libgomp.c++/scan-2.C: New test.
1481 * testsuite/libgomp.c++/scan-3.C: New test.
1482 * testsuite/libgomp.c++/scan-4.C: New test.
1483 * testsuite/libgomp.c++/scan-5.C: New test.
1484 * testsuite/libgomp.c++/scan-6.C: New test.
1485 * testsuite/libgomp.c++/scan-7.C: New test.
1486 * testsuite/libgomp.c++/scan-8.C: New test.
1487 * testsuite/libgomp.c/scan-1.c: New test.
1488 * testsuite/libgomp.c/scan-2.c: New test.
1489 * testsuite/libgomp.c/scan-3.c: New test.
1490 * testsuite/libgomp.c/scan-4.c: New test.
1491 * testsuite/libgomp.c/scan-5.c: New test.
1492 * testsuite/libgomp.c/scan-6.c: New test.
1493 * testsuite/libgomp.c/scan-7.c: New test.
1494 * testsuite/libgomp.c/scan-8.c: New test.
1495
1496 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1497
1498 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1499 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1500 Likewise.
1501
1502 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1503 check.
1504
1505 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1506
1507 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1508 file.
1509
1510 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1511
1512 PR fortran/90743
1513 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1514 case.
1515 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1516 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1517 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1518 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1519
1520 PR testsuite/90861
1521 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1522
1523 PR middle-end/90862
1524 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1525
1526 2019-06-16 Tom de Vries <tdevries@suse.de>
1527
1528 PR tree-optimization/89376
1529 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1530
1531 2019-06-15 Tom de Vries <tdevries@suse.de>
1532
1533 PR tree-optimization/89713
1534 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1535 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1536
1537 2019-06-15 Jakub Jelinek <jakub@redhat.com>
1538
1539 PR middle-end/90779
1540 * testsuite/libgomp.c/pr90779.c: New test.
1541 * testsuite/libgomp.fortran/pr90779.f90: New test.
1542
1543 2019-06-15 Tom de Vries <tdevries@suse.de>
1544
1545 PR tree-optimization/90009
1546 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1547
1548 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1549
1550 PR tree-optimization/89713
1551 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1552
1553 2019-06-11 Jakub Jelinek <jakub@redhat.com>
1554
1555 PR target/90811
1556 * testsuite/libgomp.c/pr90811.c: New test.
1557
1558 2019-06-05 Jakub Jelinek <jakub@redhat.com>
1559
1560 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1561 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1562
1563 2019-06-04 Jakub Jelinek <jakub@redhat.com>
1564
1565 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1566 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1567 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1568 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1569
1570 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1571
1572 * configure.ac: Call AX_COUNT_CPUS.
1573 Substitute CPU_COUNT.
1574 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1575 count fallback.
1576 * aclocal.m4: Regenerate.
1577 * configure: Regenerate.
1578 * Makefile.in, testsuite/Makefile.in: Regenerate.
1579
1580 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1581
1582 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1583 to ...
1584 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1585 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1586 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1587
1588 2019-05-27 Jakub Jelinek <jakub@redhat.com>
1589
1590 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1591
1592 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1593
1594 PR libgomp/90641
1595 * work.c (gomp_init_work_share): Instead of aligning final ordered
1596 value to multiples of long long alignment, align to that the
1597 first part (ordered team ids) and if inline_ordered_team_ids
1598 is not on a long long alignment boundary within the structure,
1599 use __alignof__ (long long) - 1 pad size always.
1600 * loop.c (GOMP_loop_start): Fix *mem computation if
1601 inline_ordered_team_ids is not aligned on long long alignment boundary
1602 within the structure.
1603 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1604 * sections.c (GOMP_sections2_start): Likewise.
1605
1606 2019-05-24 Jakub Jelinek <jakub@redhat.com>
1607
1608 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1609 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1610
1611 PR libgomp/90585
1612 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1613 HAVE_INTTYPES_H is defined.
1614 (print_uint64_t): New typedef.
1615 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1616 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1617 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1618 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1619 before casting to void *.
1620 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1621 * oacc-mem.c: Don't include config.h nor stdint.h.
1622 * target.c: Don't include config.h.
1623 * oacc-cuda.c: Likewise.
1624 * oacc-host.c: Don't include stdint.h.
1625
1626 2019-05-20 Jakub Jelinek <jakub@redhat.com>
1627
1628 PR libgomp/90527
1629 * alloc.c (_GNU_SOURCE): Define.
1630
1631 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1632
1633 * acc_prof.h: New file.
1634 * oacc-profiling.c: Likewise.
1635 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1636 Add these, respectively.
1637 * Makefile.in: Regenerate.
1638 * env.c (initialize_env): Call goacc_profiling_initialize.
1639 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1640 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1641 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1642 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1643 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1644 acc_prof_register, acc_prof_unregister, and acc_register_library.
1645 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1646 GOMP_PLUGIN_goacc_thread.
1647 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1648 prof_callbacks_enabled members.
1649 (goacc_prof_enabled, goacc_profiling_initialize)
1650 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1651 (goacc_profiling_dispatch): Declare.
1652 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1653 (GOACC_PROFILING_SETUP_P): Define.
1654 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1655 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1656 OpenACC Profiling Interface.
1657 * oacc-cuda.c (acc_get_current_cuda_device)
1658 (acc_get_current_cuda_context, acc_get_cuda_stream)
1659 (acc_set_cuda_stream): Likewise.
1660 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1661 (acc_init, acc_set_device_type, acc_get_device_type)
1662 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1663 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1664 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1665 (acc_unmap_data, present_create_copy, delete_copyout)
1666 (update_dev_host): Likewise.
1667 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1668 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1669 Likewise.
1670 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1671 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1672 Likewise.
1673 * libgomp.texi: Update.
1674 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1675 file.
1676 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1677 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1678 Likewise.
1679 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1680 Likewise.
1681 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1682 Likewise.
1683 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1684 Likewise.
1685
1686 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1687
1688 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1689 (struct goacc_asyncqueue_list): Likewise.
1690 (goacc_aq): Likewise.
1691 (goacc_aq_list): Likewise.
1692 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1693 (GOMP_OFFLOAD_openacc_async_test): Remove.
1694 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1695 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1696 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1697 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1698 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1699 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1700 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1701 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1702 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1703 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1704 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1705 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1706 (GOMP_OFFLOAD_openacc_async_test): Declare.
1707 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1708 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1709 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1710 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1711 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1712
1713 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1714 (gomp_acc_insert_pointer): Adjust declaration.
1715 (gomp_copy_host2dev): New declaration.
1716 (gomp_copy_dev2host): Likewise.
1717 (gomp_map_vars_async): Likewise.
1718 (gomp_unmap_tgt): Likewise.
1719 (gomp_unmap_vars_async): Likewise.
1720 (gomp_fini_device): Likewise.
1721
1722 * oacc-async.c (get_goacc_thread): New function.
1723 (get_goacc_thread_device): New function.
1724 (lookup_goacc_asyncqueue): New function.
1725 (get_goacc_asyncqueue): New function.
1726 (acc_async_test): Adjust code to use new async design.
1727 (acc_async_test_all): Likewise.
1728 (acc_wait): Likewise.
1729 (acc_wait_async): Likewise.
1730 (acc_wait_all): Likewise.
1731 (acc_wait_all_async): Likewise.
1732 (goacc_async_free): New function.
1733 (goacc_init_asyncqueues): Likewise.
1734 (goacc_fini_asyncqueues): Likewise.
1735 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1736 design.
1737 (acc_set_cuda_stream): Likewise.
1738 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1739 (host_openacc_register_async_cleanup): Remove.
1740 (host_openacc_async_exec): New function.
1741 (host_openacc_async_test): Adjust parameters.
1742 (host_openacc_async_test_all): Remove.
1743 (host_openacc_async_wait): Remove.
1744 (host_openacc_async_wait_async): Remove.
1745 (host_openacc_async_wait_all): Remove.
1746 (host_openacc_async_wait_all_async): Remove.
1747 (host_openacc_async_set_async): Remove.
1748 (host_openacc_async_synchronize): New function.
1749 (host_openacc_async_serialize): New function.
1750 (host_openacc_async_host2dev): New function.
1751 (host_openacc_async_dev2host): New function.
1752 (host_openacc_async_queue_callback): New function.
1753 (host_openacc_async_construct): New function.
1754 (host_openacc_async_destruct): New function.
1755 (struct gomp_device_descr host_dispatch): Remove initialization of old
1756 interface, add initialization of new async sub-struct.
1757 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1758 (goacc_attach_host_thread_to_device): Remove old async code usage.
1759 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1760 (goacc_fini_asyncqueues): Likewise.
1761 (goacc_async_copyout_unmap_vars): Likewise.
1762 (goacc_async_free): Likewise.
1763 (get_goacc_asyncqueue): Likewise.
1764 (lookup_goacc_asyncqueue): Likewise.
1765 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1766 design.
1767 (present_create_copy): Adjust code to use new async design.
1768 (delete_copyout): Likewise.
1769 (update_dev_host): Likewise.
1770 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1771 async design.
1772 (gomp_acc_remove_pointer): Adjust code to use new async design.
1773 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1774 design.
1775 (GOACC_enter_exit_data): Likewise.
1776 (goacc_wait): Likewise.
1777 (GOACC_update): Likewise.
1778 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1779 when called, warn as obsolete in comment.
1780 * target.c (goacc_device_copy_async): New function.
1781 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1782 add goacc_device_copy_async case.
1783 (gomp_copy_dev2host): Likewise.
1784 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1785 (gomp_map_pointer): Likewise.
1786 (gomp_map_fields_existing): Likewise.
1787 (gomp_map_vars_internal): New always_inline function, renamed from
1788 gomp_map_vars.
1789 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1790 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1791 passing goacc_asyncqueue argument.
1792 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1793 (gomp_unref_tgt): New function.
1794 (gomp_unmap_vars_internal): New always_inline function, renamed from
1795 gomp_unmap_vars.
1796 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1797 (gomp_unmap_vars_async): Implement by calling
1798 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1799 (gomp_fini_device): New function.
1800 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1801 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1802 new async interface.
1803 (gomp_target_fini): Adjust code to call gomp_fini_device.
1804
1805 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1806 (struct ptx_stream): Remove.
1807 (struct nvptx_thread): Remove current_stream field.
1808 (cuda_map_create): Remove.
1809 (cuda_map_destroy): Remove.
1810 (map_init): Remove.
1811 (map_fini): Remove.
1812 (map_pop): Remove.
1813 (map_push): Remove.
1814 (struct goacc_asyncqueue): Define.
1815 (struct nvptx_callback): Define.
1816 (struct ptx_free_block): Define.
1817 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1818 stream_lock, and next fields.
1819 (enum ptx_event_type): Remove.
1820 (struct ptx_event): Remove.
1821 (ptx_event_lock): Remove.
1822 (ptx_events): Remove.
1823 (init_streams_for_device): Remove.
1824 (fini_streams_for_device): Remove.
1825 (select_stream_for_async): Remove.
1826 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1827 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1828 case.
1829 (nvptx_open_device): Add free_blocks initialization, remove
1830 init_streams_for_device call.
1831 (nvptx_close_device): Remove fini_streams_for_device call, add
1832 free_blocks destruct code.
1833 (event_gc): Remove.
1834 (event_add): Remove.
1835 (nvptx_exec): Adjust parameters and code.
1836 (nvptx_free): Likewise.
1837 (nvptx_host2dev): Remove.
1838 (nvptx_dev2host): Remove.
1839 (nvptx_set_async): Remove.
1840 (nvptx_async_test): Remove.
1841 (nvptx_async_test_all): Remove.
1842 (nvptx_wait): Remove.
1843 (nvptx_wait_async): Remove.
1844 (nvptx_wait_all): Remove.
1845 (nvptx_wait_all_async): Remove.
1846 (nvptx_get_cuda_stream): Remove.
1847 (nvptx_set_cuda_stream): Remove.
1848 (GOMP_OFFLOAD_alloc): Adjust code.
1849 (GOMP_OFFLOAD_free): Likewise.
1850 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1851 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1852 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1853 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1854 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1855 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1856 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1857 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1858 (cuda_free_argmem): New function.
1859 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1860 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1861 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1862 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1863 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1864 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1865 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1866 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1867 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1868 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1869 (cuda_callback_wrapper): New function.
1870 (cuda_memcpy_sanity_check): New function.
1871 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1872 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1873 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1874 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1875
1876 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1877
1878 PR target/87835
1879 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1880
1881 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1882
1883 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1884
1885 2019-03-27 Kevin Buettner <kevinb@redhat.com>
1886
1887 * team.c (gomp_team_start): Initialize pool->threads[0].
1888
1889 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1890
1891 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1892 "-foffload=$offload_target".
1893 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1894 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1895 * testsuite/lib/libgomp.exp
1896 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1897 as (conceptually) merged into
1898 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1899 users.
1900
1901 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1902 * testsuite/libgomp-test-support.exp.in: Adjust.
1903 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1904 openacc_device_types_s.
1905 (offload_target_to_openacc_device_type): New proc.
1906 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1907 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1908 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1909 * Makefile.in: Regenerate.
1910 * configure: Likewise.
1911 * testsuite/Makefile.in: Likewise.
1912
1913 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1914 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1915 instead of OFFLOAD_TARGETS.
1916 * target.c (gomp_target_init): Adjust.
1917 * testsuite/libgomp-test-support.exp.in: Likewise.
1918 * testsuite/lib/libgomp.exp: Likewise. Populate
1919 openacc_device_types_s instead of offload_targets_s_openacc.
1920 (check_effective_target_openacc_nvidia_accel_selected)
1921 (check_effective_target_openacc_host_selected): Adjust.
1922 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1923 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1924 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1925 * Makefile.in: Regenerate.
1926 * config.h.in: Likewise.
1927 * configure: Likewise.
1928 * testsuite/Makefile.in: Likewise.
1929
1930 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1931 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1932 "offloading: supported, but hardware not accessible".
1933 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1934 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1935
1936 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1937
1938 PR c/87924
1939 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1940 goacc_wait().
1941 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1942 and related adjustment.
1943
1944 2019-01-30 Jakub Jelinek <jakub@redhat.com>
1945
1946 PR c++/88988
1947 * testsuite/libgomp.c++/pr88988.C: New test.
1948
1949 2019-01-28 Jakub Jelinek <jakub@redhat.com>
1950
1951 PR middle-end/89002
1952 * testsuite/libgomp.c/pr89002.c: New test.
1953
1954 2019-01-28 Richard Biener <rguenther@suse.de>
1955
1956 PR testsuite/89064
1957 PR tree-optimization/86865
1958 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1959
1960 2019-01-24 Tom de Vries <tdevries@suse.de>
1961
1962 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1963 once instantiated_devices drops to 0.
1964
1965 2019-01-23 Tom de Vries <tdevries@suse.de>
1966
1967 PR target/PR88946
1968 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1969 cuMemFree.
1970 (nvptx_exec): Don't call map_push if mapnum == 0.
1971 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1972
1973 2019-01-23 Tom de Vries <tdevries@suse.de>
1974
1975 PR target/88941
1976 PR target/88939
1977 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1978 (map_fini): Remove "assert (!s->map->active)".
1979 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1980
1981 2019-01-23 Tom de Vries <tdevries@suse.de>
1982
1983 PR target/87835
1984 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1985 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1986
1987 2019-01-15 Tom de Vries <tdevries@suse.de>
1988
1989 PR target/80547
1990 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1991 New test.
1992
1993 2019-01-12 Tom de Vries <tdevries@suse.de>
1994
1995 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1996 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1997 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1998 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1999
2000 2019-01-12 Tom de Vries <tdevries@suse.de>
2001
2002 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2003
2004 2019-01-12 Tom de Vries <tdevries@suse.de>
2005
2006 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2007 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2008 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2009
2010 2019-01-12 Tom de Vries <tdevries@suse.de>
2011
2012 PR target/85486
2013 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2014 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2015
2016 2019-01-12 Tom de Vries <tdevries@suse.de>
2017
2018 PR target/85381
2019 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2020 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2021
2022 2019-01-12 Tom de Vries <tdevries@suse.de>
2023
2024 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2025 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2026 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2027
2028 2019-01-12 Tom de Vries <tdevries@suse.de>
2029
2030 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2031 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2032 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2033
2034 2019-01-12 Tom de Vries <tdevries@suse.de>
2035
2036 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2037 resources diagnostic.
2038
2039 2019-01-12 Tom de Vries <tdevries@suse.de>
2040
2041 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2042 vector length to be 128.
2043 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2044 length 2097152 to be reduced to 1024 instead of 32.
2045
2046 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
2047 James Norris <jnorris@codesourcery.com>
2048
2049 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2050 Library Routines", and "Environment Variables".
2051
2052 2019-01-11 Tom de Vries <tdevries@suse.de>
2053
2054 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2055 num_workers 16.
2056
2057 2019-01-11 Tom de Vries <tdevries@suse.de>
2058
2059 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2060 -foffload=-w.
2061 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2062 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2063 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2064 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2065
2066 2019-01-11 Tom de Vries <tdevries@suse.de>
2067
2068 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2069 test.
2070
2071 2019-01-10 Nathan Sidwell <nathan@acm.org>
2072 Julian Brown <julian@codesourcery.com>
2073
2074 PR lto/71959
2075 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2076 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2077
2078 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2079
2080 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2081 and paste code.
2082
2083 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2084
2085 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2086 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2087 write.
2088
2089 2019-01-09 Tom de Vries <tdevries@suse.de>
2090
2091 PR target/88756
2092 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2093 #define instead of "const int".
2094 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2095 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2096 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2097 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2098
2099 2019-01-09 Tom de Vries <tdevries@suse.de>
2100
2101 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2102 one worker.
2103
2104 2019-01-07 Tom de Vries <tdevries@suse.de>
2105
2106 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2107 GOMP_OPENACC_DIM argument.
2108
2109 2019-01-03 Tom de Vries <tdevries@suse.de>
2110
2111 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2112 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2113
2114 2019-01-01 Jakub Jelinek <jakub@redhat.com>
2115
2116 Update copyright years.
2117
2118 2019-01-01 Jakub Jelinek <jakub@redhat.com>
2119
2120 * libgomp.texi: Bump @copying's copyright year.
2121
2122 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2123
2124 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2125 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2126 (GOACC_declare): Redefine the "device" argument to "flags".
2127
2128 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2129 Cesar Philippidis <cesar@codesourcery.com>
2130
2131 * target.c (struct gomp_coalesce_chunk): New structure.
2132 (struct gomp_coalesce_buf): Update the chunks member to use that
2133 type. Adjust all users.
2134
2135 2018-12-19 Tom de Vries <tdevries@suse.de>
2136
2137 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2138 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2139 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2140
2141 2018-12-19 Tom de Vries <tdevries@suse.de>
2142
2143 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2144 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2145 gcc/testsuite/gcc.dg/goacc.
2146 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2147
2148 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2149 Chung-Lin Tang <cltang@codesourcery.com>
2150
2151 * oacc-mem.c (acc_present_or_create): Remove definition and change
2152 to alias of acc_create.
2153 (acc_present_or_copyin): Remove definition and change to alias of
2154 acc_copyin.
2155 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2156 of acc_present_or_create.
2157 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2158 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2159 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2160 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2161 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2162 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2163 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2164 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2165 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2166 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2167 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2168 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2169 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2170 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2171 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2172 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2173
2174 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2175
2176 PR libgomp/88495
2177 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2178 "identical parameters".
2179 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2180 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2181
2182 PR libgomp/88484
2183 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2184 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2185
2186 PR libgomp/88407
2187 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2188 (nvptx_wait_async): Unseen async-argument is a no-op.
2189 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2190 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2191 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2192 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2193 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2194 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2195 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2196 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2197 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2198
2199 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2200 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2201
2202 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2203
2204 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2205 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2206 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2207
2208 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2209
2210 PR libgomp/88370
2211 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2212 (acc_set_cuda_stream): Clarify.
2213 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2214 "async_valid_p".
2215 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2216 acc_async_sync".
2217 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2218 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2219 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2220 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2221
2222 2018-12-14 Tom de Vries <tdevries@suse.de>
2223
2224 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2225 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2226 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2227 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2228 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2229
2230 2018-12-13 Tom de Vries <tdevries@suse.de>
2231
2232 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2233 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2234 * fortran.c (omp_display_affinity_): ... here.
2235 * libgomp.h (gomp_print_string): Declare.
2236 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2237 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2238 write.
2239
2240 2018-12-13 Jakub Jelinek <jakub@redhat.com>
2241
2242 PR libgomp/88460
2243 * testsuite/libgomp.c++/for-24.C (results): Include it in
2244 omp declare target region.
2245 (main): Use map (always, tofrom: results) instead of
2246 map (tofrom: results).
2247
2248 2018-12-12 Jakub Jelinek <jakub@redhat.com>
2249
2250 PR fortran/88463
2251 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2252 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2253
2254 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2255
2256 2018-12-12 Andreas Schwab <schwab@suse.de>
2257
2258 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2259 clobbered.
2260
2261 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2262
2263 PR fortran/88411
2264 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2265
2266 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2267 Jakub Jelinek <jakub@redhat.com>
2268
2269 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2270 devicep->host2dev_func.
2271
2272 2018-12-08 Jakub Jelinek <jakub@redhat.com>
2273
2274 PR libgomp/87995
2275 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2276 tls_runtime effective target.
2277 (t): New threadprivate variable.
2278 (main): Set t in threads which execute iterations of the worksharing
2279 loop. Propagate that to the task after the loop and don't abort
2280 if the current taskgroup hasn't been cancelled.
2281
2282 2018-12-02 Jakub Jelinek <jakub@redhat.com>
2283
2284 * testsuite/libgomp.c/task-reduction-3.c: New test.
2285
2286 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2287
2288 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2289
2290 PR libgomp/88288
2291 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2292 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2293
2294 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2295
2296 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2297
2298 2018-10-19 Richard Biener <rguenther@suse.de>
2299
2300 PR tree-optimization/88182
2301 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2302
2303 2018-11-26 Jakub Jelinek <jakub@redhat.com>
2304
2305 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2306 (RUNTEST): Don't define.
2307 (RUNTESTDEFAULTFLAGS): Add.
2308 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2309 (distclean-am): Depend on distclean-DEJAGNU.
2310 (check-am): If -j% option is present in MFLAGS and if
2311 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2312 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2313 * testsuite/Makefile.in: Regenerated.
2314
2315 2018-11-26 Richard Biener <rguenther@suse.de>
2316
2317 PR tree-optimization/88182
2318 * testsuite/libgomp.c++/pr88182.C: New testcase.
2319
2320 2018-11-20 Jakub Jelinek <jakub@redhat.com>
2321
2322 PR bootstrap/88106
2323 * config/mingw32/affinity-fmt.c: New file.
2324
2325 2018-11-09 Jakub Jelinek <jakub@redhat.com>
2326
2327 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2328 (gomp_display_affinity): Use __builtin_choose_expr to handle
2329 properly handle argument having integral, or pointer or some other
2330 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2331 with uint64_t type instead of %llx and unsigned long long.
2332
2333 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2334 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2335
2336 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2337
2338 * affinity.c: Include <string.h>, <stdio.h>.
2339 (gomp_display_affinity_place): Remove cpusetp.
2340 * teams.c: Include <limits.h>.
2341
2342 2018-11-08 Jakub Jelinek <jakub@redhat.com>
2343
2344 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2345 in_reduction clause for s[0].
2346
2347 * affinity.c (gomp_display_affinity_place): New function.
2348 * affinity-fmt.c: New file.
2349 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2350 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2351 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2352 Move these functions to ...
2353 * config/nvptx/teams.c: ... here. New file.
2354 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2355 New functions.
2356 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2357 functions.
2358 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2359 and _aligned_malloc.
2360 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2361 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2362 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2363 gomp_affinity_format_len): New variables.
2364 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2365 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2366 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2367 modifiers. Display (non-default) chunk sizes. Print
2368 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2369 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2370 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2371 * fortran.c: Include stdio.h and string.h.
2372 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2373 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2374 (omp_set_affinity_format_, omp_get_affinity_format_,
2375 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2376 omp_pause_resource_all_): New functions.
2377 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2378 switch.
2379 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2380 functions to ...
2381 * teams.c: ... here. New file.
2382 * libgomp_g.h: Include gstdint.h.
2383 (GOMP_loop_nonmonotonic_runtime_start,
2384 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2385 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2386 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2387 GOMP_parallel_loop_nonmonotonic_runtime,
2388 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2389 GOMP_loop_ull_nonmonotonic_runtime_start,
2390 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2391 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2392 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2393 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2394 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2395 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2396 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2397 GOMP_teams_reg): Declare.
2398 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2399 gomp_aligned_alloc uses fallback implementation.
2400 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2401 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2402 (struct gomp_doacross_work_share): Add extra field.
2403 (struct gomp_work_share): Add task_reductions field.
2404 (struct gomp_taskgroup): Add workshare and reductions fields.
2405 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2406 (gomp_thread_handle): New typedef.
2407 (gomp_display_affinity_place, gomp_set_affinity_format,
2408 gomp_display_string, gomp_display_affinity,
2409 gomp_display_affinity_thread): Declare.
2410 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2411 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2412 gomp_workshare_task_reduction_register): Declare.
2413 (gomp_team_start): Add taskgroup argument.
2414 (gomp_pause_host): Declare.
2415 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2416 to size_t.
2417 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2418 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2419 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2420 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2421 GOMP_loop_ull_doacross_start,
2422 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2423 GOMP_loop_maybe_nonmonotonic_runtime_next,
2424 GOMP_loop_maybe_nonmonotonic_runtime_start,
2425 GOMP_loop_nonmonotonic_runtime_next,
2426 GOMP_loop_nonmonotonic_runtime_start,
2427 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2428 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2429 GOMP_loop_ull_nonmonotonic_runtime_next,
2430 GOMP_loop_ull_nonmonotonic_runtime_start,
2431 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2432 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2433 GOMP_taskgroup_reduction_register,
2434 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2435 GOMP_teams_reg and GOMP_taskwait_depend.
2436 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2437 omp_{capture,display}_affinity{,_}, and
2438 omp_[gs]et_affinity_format{,_}.
2439 * loop.c: Include string.h.
2440 (GOMP_loop_runtime_next): Add ialias.
2441 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2442 (gomp_loop_static_start, gomp_loop_dynamic_start,
2443 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2444 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2445 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2446 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2447 or gomp_doacross_init callers.
2448 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2449 GOMP_loop_doacross_start): New functions.
2450 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2451 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2452 Mask off GFS_MONOTONIC bit.
2453 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2454 GOMP_loop_maybe_nonmonotonic_runtime_start,
2455 GOMP_loop_nonmonotonic_runtime_next,
2456 GOMP_loop_nonmonotonic_runtime_start,
2457 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2458 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2459 functions.
2460 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2461 gomp_team_start.
2462 * loop_ull.c: Include string.h.
2463 (GOMP_loop_ull_runtime_next): Add ialias.
2464 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2465 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2466 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2467 gomp_loop_ull_ordered_dynamic_start,
2468 gomp_loop_ull_ordered_guided_start,
2469 gomp_loop_ull_doacross_static_start,
2470 gomp_loop_ull_doacross_dynamic_start,
2471 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2472 and gomp_doacross_ull_init callers.
2473 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2474 GOMP_loop_ull_doacross_start): New functions.
2475 (GOMP_loop_ull_runtime_start,
2476 GOMP_loop_ull_ordered_runtime_start,
2477 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2478 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2479 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2480 GOMP_loop_ull_nonmonotonic_runtime_next,
2481 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2482 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2483 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2484 (omp_pause_resource_t, omp_depend_t): New typedefs.
2485 (enum omp_lock_hint_t): Renamed to ...
2486 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2487 enumerators using numbers and omp_lock_hint_* as their aliases.
2488 (omp_lock_hint_t): New typedef. Rename to ...
2489 (omp_sync_hint_t): ... this.
2490 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2491 omp_sync_hint_t instead of omp_lock_hint_t.
2492 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2493 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2494 Declare.
2495 (omp_target_is_present, omp_target_disassociate_ptr):
2496 Change first argument from void * to const void *.
2497 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2498 from void * to const void *.
2499 (omp_target_associate_ptr): Change first and second arguments from
2500 void * to const void *.
2501 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2502 omp_pause_hard): New parameters.
2503 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2504 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2505 New interfaces.
2506 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2507 omp_pause_hard): New parameters.
2508 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2509 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2510 New externals.
2511 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2512 EXTRA argument. If not needed to prepare array, if extra is 0,
2513 clear ws->doacross, otherwise allocate just doacross structure and
2514 extra payload. If array is needed, allocate also extra payload.
2515 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2516 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2517 doacross == NULL.
2518 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2519 gomp_team_start.
2520 (GOMP_parallel): Likewise. Formatting fix.
2521 (GOMP_parallel_reductions): New function.
2522 (GOMP_cancellation_point): If taskgroup has workshare
2523 flag set, check cancelled of prev taskgroup if any.
2524 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2525 on prev taskgroup if any.
2526 * sections.c: Include string.h.
2527 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2528 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2529 (GOMP_sections2_start): New function.
2530 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2531 Pass NULL as taskgroup to gomp_team_start.
2532 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2533 gomp_work_share_start callers.
2534 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2535 If taskgroup has workshare flag set, check cancelled on prev
2536 taskgroup if any. Guard all cancellation tests with
2537 gomp_cancel_var test.
2538 (omp_target_is_present, omp_target_disassociate_ptr):
2539 Change ptr argument from void * to const void *.
2540 (omp_target_memcpy): Change src argument from void * to const void *.
2541 (omp_target_memcpy_rect): Likewise.
2542 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2543 instead of char * where needed.
2544 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2545 from void * to const void *.
2546 (omp_pause_resource, omp_pause_resource_all): New functions.
2547 * task.c (gomp_task_handle_depend): Handle new depend array format
2548 in addition to the old. Handle mutexinoutset kinds the same as
2549 inout for now, handle unspecified kinds.
2550 (gomp_create_target_task): If taskgroup has workshare flag set, check
2551 cancelled on prev taskgroup if any. Guard all cancellation tests with
2552 gomp_cancel_var test. Handle new depend array format count in
2553 addition to the old.
2554 (GOMP_task): Likewise. Adjust function comment.
2555 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2556 cancelled on prev taskgroup if any. Guard all cancellation tests with
2557 gomp_cancel_var test.
2558 (GOMP_taskwait_depend): New function.
2559 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2560 format in addition to the old. Handle mutexinoutset kinds the same as
2561 inout for now, handle unspecified kinds. Fix a function comment typo.
2562 (gomp_taskgroup_init): New function.
2563 (GOMP_taskgroup_start): Use it.
2564 (gomp_reduction_register, gomp_create_artificial_team,
2565 GOMP_taskgroup_reduction_register,
2566 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2567 gomp_parallel_reduction_register,
2568 gomp_workshare_task_reduction_register,
2569 gomp_workshare_taskgroup_start,
2570 GOMP_workshare_task_reduction_unregister): New functions.
2571 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2572 check cancelled on prev taskgroup if any. Guard all cancellation
2573 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2574 by calling GOMP_taskgroup_reduction_register.
2575 * team.c (gomp_thread_attr): Remove comment.
2576 (struct gomp_thread_start_data): Add handle field.
2577 (gomp_thread_start): Call pthread_detach.
2578 (gomp_new_team): Adjust gomp_init_work_share caller.
2579 (gomp_free_pool_helper): Call pthread_detach.
2580 (gomp_team_start): Add taskgroup argument, initialize implicit
2581 tasks' taskgroup field to that. Don't call
2582 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2583 (gomp_team_end): Determine nesting by thr->ts.level != 0
2584 rather than thr->ts.team != NULL.
2585 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2586 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2587 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2588 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2589 if more than 1 allocate also extra payload at the end of array. Never
2590 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2591 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2592 return true instead of ws.
2593 * Makefile.in: Regenerated.
2594 * configure: Regenerated.
2595 * config.h.in: Regenerated.
2596 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2597 in some cases.
2598 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2599 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2600 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2601 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2602 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2603 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2604 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2605 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2606 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2607 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2608 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2609 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2610 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2611 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2612 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2613 define a different N(test), don't define N(f0) to N(f14), but instead
2614 define N(f20) to N(f34) using != comparisons.
2615 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2616 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2617 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2618 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2619 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2620 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2621 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2622 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2623 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2624 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2625 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2626 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2627 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2628 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2629 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2630 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2631 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2632 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2633 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2634 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2635 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2636 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2637 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2638 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2639 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2640 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2641 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2642 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2643 * testsuite/libgomp.c++/depend-1.C: New test.
2644 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2645 * testsuite/libgomp.c++/depobj-1.C: New test.
2646 * testsuite/libgomp.c++/for-16.C: New test.
2647 * testsuite/libgomp.c++/for-21.C: New test.
2648 * testsuite/libgomp.c++/for-22.C: New test.
2649 * testsuite/libgomp.c++/for-23.C: New test.
2650 * testsuite/libgomp.c++/for-24.C: New test.
2651 * testsuite/libgomp.c++/for-25.C: New test.
2652 * testsuite/libgomp.c++/for-26.C: New test.
2653 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2654 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2655 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2656 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2657 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2658 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2659 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2660 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2661 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2662 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2663 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2664 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2665 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2666 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2667 * testsuite/libgomp.c/task-reduction-1.c: New test.
2668 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2669 * testsuite/libgomp.c/task-reduction-2.c: New test.
2670 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2671 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2672 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2673 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2674 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2675 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2676 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2677 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2678 * testsuite/libgomp.c/teams-1.c: New test.
2679 * testsuite/libgomp.c/teams-2.c: New test.
2680 * testsuite/libgomp.c/thread-limit-4.c: New test.
2681 * testsuite/libgomp.c/thread-limit-5.c: New test.
2682 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2683
2684 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2685
2686 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2687 acc_memcpy_to/from_device functions, now with async parameter.
2688 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2689 (acc_memcpy_from_device): Likewise.
2690 (acc_memcpy_to_device_async): New API function.
2691 (acc_memcpy_from_device_async): Likewise.
2692 (present_create_copy): Add async parameter and async setting/unsetting.
2693 (acc_create): Adjust present_create_copy call.
2694 (acc_copyin): Likewise.
2695 (acc_present_or_create): Likewise.
2696 (acc_present_or_copyin): Likewise.
2697 (acc_create_async): New API function.
2698 (acc_copyin_async): New API function.
2699 (delete_copyout): Add async parameter and async setting/unsetting.
2700 (acc_delete): Adjust delete_copyout call.
2701 (acc_copyout): Likewise.
2702 (acc_delete_async): New API function.
2703 (acc_copyout_async): Likewise.
2704 (update_dev_host): Add async parameter and async setting/unsetting.
2705 (acc_update_device): Adjust update_dev_host call.
2706 (acc_update_self): Likewise.
2707 (acc_update_device_async): New API function.
2708 (acc_update_self_async): Likewise.
2709 * openacc.h (acc_copyin_async): Declare new API function.
2710 (acc_create_async): Likewise.
2711 (acc_copyout_async): Likewise.
2712 (acc_delete_async): Likewise.
2713 (acc_update_device_async): Likewise.
2714 (acc_update_self_async): Likewise.
2715 (acc_memcpy_to_device_async): Likewise.
2716 (acc_memcpy_from_device_async): Likewise.
2717 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2718 (acc_copyin_async_64_h): New subroutine.
2719 (acc_copyin_async_array_h): New subroutine.
2720 (acc_create_async_32_h): New subroutine.
2721 (acc_create_async_64_h): New subroutine.
2722 (acc_create_async_array_h): New subroutine.
2723 (acc_copyout_async_32_h): New subroutine.
2724 (acc_copyout_async_64_h): New subroutine.
2725 (acc_copyout_async_array_h): New subroutine.
2726 (acc_delete_async_32_h): New subroutine.
2727 (acc_delete_async_64_h): New subroutine.
2728 (acc_delete_async_array_h): New subroutine.
2729 (acc_update_device_async_32_h): New subroutine.
2730 (acc_update_device_async_64_h): New subroutine.
2731 (acc_update_device_async_array_h): New subroutine.
2732 (acc_update_self_async_32_h): New subroutine.
2733 (acc_update_self_async_64_h): New subroutine.
2734 (acc_update_self_async_array_h): New subroutine.
2735 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2736 (acc_copyin_async_64_h): New subroutine.
2737 (acc_copyin_async_array_h): New subroutine.
2738 (acc_create_async_32_h): New subroutine.
2739 (acc_create_async_64_h): New subroutine.
2740 (acc_create_async_array_h): New subroutine.
2741 (acc_copyout_async_32_h): New subroutine.
2742 (acc_copyout_async_64_h): New subroutine.
2743 (acc_copyout_async_array_h): New subroutine.
2744 (acc_delete_async_32_h): New subroutine.
2745 (acc_delete_async_64_h): New subroutine.
2746 (acc_delete_async_array_h): New subroutine.
2747 (acc_update_device_async_32_h): New subroutine.
2748 (acc_update_device_async_64_h): New subroutine.
2749 (acc_update_device_async_array_h): New subroutine.
2750 (acc_update_self_async_32_h): New subroutine.
2751 (acc_update_self_async_64_h): New subroutine.
2752 (acc_update_self_async_array_h): New subroutine.
2753 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2754 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2755 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2756 acc_memcpy_to_device_async*, acc_update_device_async*, and
2757 acc_update_self_async* entries.
2758 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2759 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2760 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2761
2762 2018-10-31 Joseph Myers <joseph@codesourcery.com>
2763
2764 PR bootstrap/82856
2765 * Makefile.am: Include multilib.am
2766 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2767 (CLEANFILES): Remove libgomp.info.
2768 * configure.ac: Remove AC_PREREQ.
2769 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2770 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2771 Regenerate.
2772
2773 2018-10-29 Joseph Myers <joseph@codesourcery.com>
2774 Julian Brown <julian@codesourcery.com>
2775
2776 * testsuite/libgomp.oacc-c++/this.C: New.
2777
2778 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2779
2780 * plugin/plugin-nvptx.c (struct cuda_map): New.
2781 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2782 h_tail with (cuda_map *) map.
2783 (cuda_map_create): New function.
2784 (cuda_map_destroy): New function.
2785 (map_init): Update to use a linked list of cuda_map objects.
2786 (map_fini): Likewise.
2787 (map_pop): Likewise.
2788 (map_push): Likewise. Return CUdeviceptr instead of void.
2789 (init_streams_for_device): Remove stales references to ptx_stream
2790 members.
2791 (select_stream_for_async): Likewise.
2792 (nvptx_exec): Update call to map_init.
2793
2794 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2795 Julian Brown <julian@codesourcery.com>
2796
2797 PR middle-end/86336
2798 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2799
2800 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2801 Thomas Koenig <tkoenig@gcc.gnu.org>
2802
2803 PR fortran/25829
2804 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2805 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2806 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2807 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2808 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2809 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2810 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2811
2812 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2813 Tom de Vries <tdevries@suse.de>
2814
2815 PR target/85590
2816 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2817 (cuOccupancyMaxPotentialBlockSize): Declare.
2818 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2819 CUDA_ONE_CALL_MAYBE_NULL.
2820 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2821 CUoccupancyB2DSize and declare
2822 cuOccupancyMaxPotentialBlockSize.
2823 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2824 default num_gangs and num_workers when the driver supports it.
2825
2826 2018-08-08 Tom de Vries <tdevries@suse.de>
2827
2828 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2829 CUDA_ONE_CALL_MAYBE_NULL.
2830 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2831 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2832 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2833 are not found.
2834
2835 2018-08-08 Tom de Vries <tdevries@suse.de>
2836
2837 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2838 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2839 present.
2840
2841 2018-08-08 Tom de Vries <tdevries@suse.de>
2842
2843 * plugin/plugin-nvptx.c
2844 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2845 (nvptx_open_device): Use
2846 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2847
2848 2018-08-08 Tom de Vries <tdevries@suse.de>
2849
2850 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2851 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2852
2853 2018-08-07 Tom de Vries <tdevries@suse.de>
2854
2855 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2856 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2857 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2858 corresponding call in CUDA_ONE_CALL. Add def/undef of
2859 CUDA_ONE_CALL_MAYBE_NULL.
2860 (CUDA_CALL_EXISTS): Define.
2861
2862 2018-08-07 Tom de Vries <tdevries@suse.de>
2863
2864 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2865 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2866 corresponding undefs right after.
2867
2868 2018-08-04 Tom de Vries <tdevries@suse.de>
2869
2870 * plugin/configfrag.ac: For --without-cuda-driver, set
2871 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2872 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2873 * configure: Regenerate.
2874
2875 2018-08-02 Tom de Vries <tdevries@suse.de>
2876
2877 PR target/86660
2878 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2879 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2880 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2881 Same.
2882 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2883 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2884 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2885
2886 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2887 Thomas Schwinge <thomas@codesourcery.com>
2888
2889 * config/nvptx/oacc-parallel.c: Truncate.
2890
2891 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2892 James Norris <jnorris@codesourcery.com>
2893
2894 * plugin/plugin-nvptx.c (struct map): Removed.
2895 (map_init, map_pop): Remove use of struct map.
2896 (map_push): Likewise and change argument list.
2897 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2898
2899 2018-08-01 Tom de Vries <tdevries@suse.de>
2900
2901 * plugin/cuda-lib.def: New file. Factor out of ...
2902 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2903 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2904 using CUDA_CALLS.
2905
2906 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2907
2908 Revert 'AsyncI/O patch committed'.
2909 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2910 Thomas Koenig <tkoenig@gcc.gnu.org>
2911
2912 PR fortran/25829
2913 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2914 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2915 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2916 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2917 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2918 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2919 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2920
2921 2018-07-30 Tom de Vries <tdevries@suse.de>
2922
2923 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2924 (nvptx_exec): Ensure worker and vector default dims don't exceed
2925 targ_fn->max_threads_per_block.
2926
2927 2018-07-30 Tom de Vries <tdevries@suse.de>
2928
2929 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2930 (nvptx_open_device): Init default_dims for device.
2931 (nvptx_exec): Use default_dims from device.
2932
2933 2018-07-26 Jakub Jelinek <jakub@redhat.com>
2934
2935 PR testsuite/86660
2936 * testsuite/libgomp.c++/for-15.C (results): Include it in
2937 omp declare target region.
2938 (main): Use map (always, tofrom: results) instead of
2939 map (tofrom: results).
2940
2941 PR middle-end/86660
2942 * testsuite/libgomp.c/pr86660.c: New test.
2943
2944 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2945 Tom de Vries <tdevries@suse.de>
2946
2947 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2948 sufficient resources to launch a kernel, and give a hint on how to fix
2949 it.
2950
2951 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2952 Tom de Vries <tdevries@suse.de>
2953
2954 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2955 max_threads_per_block and max_threads_per_multiprocessor fields.
2956 (nvptx_open_device): Initialize new fields.
2957 (nvptx_exec): Use num_sms, and new fields.
2958
2959 2018-07-26 Tom de Vries <tdevries@suse.de>
2960
2961 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2962 to correct locations. Remove xfail.
2963
2964 2018-07-26 Tom de Vries <tdevries@suse.de>
2965
2966 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2967 acc_wait. Move acc_async_test calls to correct locations. Remove
2968 xfail.
2969
2970 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2971 Thomas Koenig <tkoenig@gcc.gnu.org>
2972
2973 PR fortran/25829
2974 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2975 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2976 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2977 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2978 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2979 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2980 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2981
2982 2018-07-17 Jakub Jelinek <jakub@redhat.com>
2983
2984 PR middle-end/86542
2985 * testsuite/libgomp.c++/pr86542.C: New test.
2986
2987 PR middle-end/86539
2988 * testsuite/libgomp.c++/pr86539.C: New test.
2989
2990 2018-07-11 Jakub Jelinek <jakub@redhat.com>
2991
2992 PR c++/86443
2993 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2994 (results): Make sure the variable is not inside declare target region.
2995 (qux): Remove unused function.
2996
2997 2018-07-10 Jakub Jelinek <jakub@redhat.com>
2998
2999 PR c++/86443
3000 * testsuite/libgomp.c++/for-15.C: New test.
3001
3002 2018-06-26 Jakub Jelinek <jakub@redhat.com>
3003
3004 PR c++/86291
3005 * testsuite/libgomp.c++/pr86291.C: New test.
3006
3007 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
3008
3009 * libgomp.texi (Top): Move www.openmp.org to https.
3010 (Enabling OpenMP): Ditto.
3011 (omp_get_active_level): Ditto.
3012 (omp_get_ancestor_thread_num): Ditto.
3013 (omp_get_cancellation): Ditto.
3014 (omp_get_default_device): Ditto.
3015 (omp_get_dynamic): Ditto.
3016 (omp_get_level): Ditto.
3017 (omp_get_max_active_levels): Ditto.
3018 (omp_get_max_task_priority): Ditto.
3019 (omp_get_max_threads): Ditto.
3020 (omp_get_nested): Ditto.
3021 (omp_get_num_devices): Ditto.
3022 (omp_get_num_procs): Ditto.
3023 (omp_get_num_teams): Ditto.
3024 (omp_get_num_threads): Ditto.
3025 (omp_get_proc_bind): Ditto.
3026 (omp_get_schedule): Ditto.
3027 (omp_get_team_num): Ditto.
3028 (omp_get_team_size): Ditto.
3029 (omp_get_thread_limit): Ditto.
3030 (omp_get_thread_num): Ditto.
3031 (omp_in_parallel): Ditto.
3032 (omp_in_final): Ditto.
3033 (omp_is_initial_device): Ditto.
3034 (omp_set_default_device): Ditto.
3035 (omp_set_dynamic): Ditto.
3036 (omp_set_max_active_levels): Ditto.
3037 (omp_set_nested): Ditto.
3038 (omp_set_num_threads): Ditto.
3039 (omp_set_schedule): Ditto.
3040 (omp_init_lock): Ditto.
3041 (omp_set_lock): Ditto.
3042 (omp_test_lock): Ditto.
3043 (omp_unset_lock): Ditto.
3044 (omp_destroy_lock): Ditto.
3045 (omp_init_nest_lock): Ditto.
3046 (omp_set_nest_lock): Ditto.
3047 (omp_test_nest_lock): Ditto.
3048 (omp_unset_nest_lock): Ditto.
3049 (omp_destroy_nest_lock): Ditto.
3050 (omp_get_wtick): Ditto.
3051 (omp_get_wtime): Ditto.
3052 (OMP_CANCELLATION): Ditto.
3053 (OMP_DISPLAY_ENV): Ditto.
3054 (OMP_DEFAULT_DEVICE): Ditto.
3055 (OMP_DYNAMIC): Ditto.
3056 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3057 (OMP_MAX_TASK_PRIORITY): Ditto.
3058 (OMP_NESTED): Ditto.
3059 (OMP_NUM_THREADS): Ditto.
3060 (OMP_PROC_BIND): Ditto.
3061 (OMP_PLACES): Ditto.
3062 (OMP_STACKSIZE): Ditto.
3063 (OMP_SCHEDULE): Ditto.
3064 (OMP_THREAD_LIMIT): Ditto.
3065 (OMP_WAIT_POLICY): Ditto.
3066
3067 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
3068 James Norris <jnorris@codesourcery.com>
3069 Julian Brown <julian@codesourcery.com>
3070 Thomas Schwinge <thomas@codesourcery.com>
3071 Tom de Vries <tom@codesourcery.com>
3072
3073 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3074 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3075 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3076 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3077 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3078 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3079 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3080 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3081 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3083 Likewise.
3084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3085 Likewise.
3086 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3087 Likewise.
3088 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3089 Likewise.
3090 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3091 Likewise.
3092 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3093 Likewise.
3094 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3095 Likewise.
3096 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3097 Likewise.
3098 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3099 Likewise.
3100 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3101 Likewise.
3102 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3103 Likewise.
3104 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3105 Likewise.
3106 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3107 Likewise.
3108 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3109 Likewise.
3110 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3111 Likewise.
3112 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3113 Likewise.
3114 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3115 Likewise.
3116 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3117 Likewise.
3118 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3119 Likewise.
3120 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3121 Likewise.
3122 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3123 Likewise.
3124 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3125 Likewise.
3126 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3127 Likewise.
3128 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3129 Likewise.
3130 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3131 Likewise.
3132 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3133 Likewise.
3134 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3135 Likewise.
3136 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3137 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3138 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3139 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3140 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3141 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3142 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3143 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3144 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3145 Likewise.
3146 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3147 Likewise.
3148 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3149 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3150 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3151 Likewise.
3152 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3153 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3154 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3155 Likewise.
3156 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3157 Likewise.
3158 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3159 Likewise.
3160 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3161 Likewise.
3162 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3163 Likewise.
3164 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3165 Likewise.
3166 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3167 Likewise.
3168 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3169 Likewise.
3170 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3171 Likewise.
3172 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3173 Likewise.
3174 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3175 Likewise.
3176 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3177 Likewise.
3178 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3179 Likewise.
3180 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3181 Likewise.
3182 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3183 Likewise.
3184 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3185 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3186 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3187 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3188 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3189 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3190 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3191
3192 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3193 Thomas Schwinge <thomas@codesourcery.com>
3194 Cesar Philippidis <cesar@codesourcery.com>
3195
3196 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3197 (gomp_acc_remove_pointer): Update declaration.
3198 (gomp_acc_declare_allocate): Declare.
3199 (gomp_remove_var): Declare.
3200 * libgomp.map (OACC_2.5): Define.
3201 * oacc-mem.c (acc_map_data): Update refcount.
3202 (acc_unmap_data): Likewise.
3203 (present_create_copy): Likewise.
3204 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3205 (acc_copyin): Likewise.
3206 (FLAG_FINALIZE): Define.
3207 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3208 (acc_delete_finalize): New function.
3209 (acc_delete_finalize_async): New function.
3210 (acc_copyout_finalize): New function.
3211 (acc_copyout_finalize_async): New function.
3212 (gomp_acc_insert_pointer): Update refcounts.
3213 (gomp_acc_remove_pointer): Return if data is not present on the
3214 accelerator.
3215 * oacc-parallel.c (find_pset): Rename to find_pointer.
3216 (find_pointer): Add support for GOMP_MAP_POINTER.
3217 (handle_ftn_pointers): New function.
3218 (GOACC_parallel_keyed): Update refcounts of variables.
3219 (GOACC_enter_exit_data): Add support for finalized data mappings.
3220 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3221 of fortran arrays.
3222 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3223 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3224 for GOMP_MAP_FORCE_FROM.
3225 * openacc.f90 (module openacc_internal): Add
3226 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3227 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3228 acc_copyout_finalize and acc_delete_finalize.
3229 (acc_copyout_finalize_32_h): New subroutine.
3230 (acc_copyout_finalize_64_h): New subroutine.
3231 (acc_copyout_finalize_array_h): New subroutine.
3232 (acc_delete_finalize_32_h): New subroutine.
3233 (acc_delete_finalize_64_h): New subroutine.
3234 (acc_delete_finalize_array_h): New subroutine.
3235 * openacc.h (acc_copyout_finalize): Declare.
3236 (acc_copyout_finalize_async): Declare.
3237 (acc_delete_finalize): Declare.
3238 (acc_delete_finalize_async): Declare.
3239 * openacc_lib.h (acc_copyout_finalize): New interface.
3240 (acc_delete_finalize): New interface.
3241 * target.c (gomp_map_vars): Update dynamic_refcount.
3242 (gomp_remove_var): New function.
3243 (gomp_unmap_vars): Use it.
3244 (gomp_unload_image_from_device): Likewise.
3245 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3246 case to utilize OpenACC 2.5 data clause semantics.
3247 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3248 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3249 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3250 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3251 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3252 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3253 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3254 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3255 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3256 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3257 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3258 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3259 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3260 utilize OpenACC 2.5 data clause semantics.
3261 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3262 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3263 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3264 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3265 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3266 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3267 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3268 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3269 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3270
3271 2018-05-21 Janus Weil <janus@gcc.gnu.org>
3272
3273 PR fortran/85841
3274 PR testsuite/85865
3275 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3276 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3277 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3278 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3279 * testsuite/libgomp.fortran/task2.f90: Ditto.
3280 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3281 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3282 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3283 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3284 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3285 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3286 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3287 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3288 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3289
3290 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3291
3292 PR c++/85782
3293 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3294
3295 2018-05-09 Tom de Vries <tom@codesourcery.com>
3296
3297 PR libgomp/82901
3298 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3299 to GOACC_enter_exit_data.
3300
3301 2018-05-09 Tom de Vries <tom@codesourcery.com>
3302
3303 PR libgomp/83792
3304 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3305 (async_synchronous_p): New function.
3306 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3307 async_valid_p.
3308 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3309 async_valid_stream_id_p.
3310 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3311 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3312
3313 2018-05-07 Tom de Vries <tom@codesourcery.com>
3314
3315 PR testsuite/85677
3316 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3317 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3318
3319 2018-05-03 Tom de Vries <tom@codesourcery.com>
3320
3321 PR testsuite/85106
3322 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3323 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3324 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3325 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3326
3327 2018-05-02 Tom de Vries <tom@codesourcery.com>
3328
3329 PR libgomp/85411
3330 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3331 GOMP_OPENACC_DIM ...
3332 * env.c (parse_gomp_openacc_dim): ... here. New function.
3333 (initialize_env): Call parse_gomp_openacc_dim.
3334 (goacc_default_dims): Define.
3335 * libgomp.h (goacc_default_dims): Declare.
3336 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3337 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3338 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3339 GOMP_PLUGIN_acc_default_dim.
3340 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3341 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3342
3343 2018-05-02 Tom de Vries <tom@codesourcery.com>
3344
3345 PR testsuite/83791
3346 * testsuite/libgomp.c++/udr-9.C: Update.
3347 * testsuite/libgomp.c++/atomic-16.C: Remove.
3348 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3349 * testsuite/libgomp.c++/loop-13.C: Remove.
3350 * testsuite/libgomp.c++/loop-14.C: Remove.
3351 * testsuite/libgomp.c++/loop-15.C: Remove.
3352 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3353 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3354 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3355 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3356 * testsuite/libgomp.c++/ordered-1.C: Remove.
3357 * testsuite/libgomp.c++/pr45784.C: Remove.
3358 * testsuite/libgomp.c++/pr64824.C: Remove.
3359 * testsuite/libgomp.c++/pr64868.C: Remove.
3360 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3361 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3362 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3363 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3364 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3365 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3366 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3367 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3368 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3369 * testsuite/libgomp.c++/pr69389.C: Remove.
3370 * testsuite/libgomp.c++/simd10.C: Remove.
3371 * testsuite/libgomp.c++/simd11.C: Remove.
3372 * testsuite/libgomp.c++/simd12.C: Remove.
3373 * testsuite/libgomp.c++/simd13.C: Remove.
3374 * testsuite/libgomp.c++/target-1.C: Remove.
3375 * testsuite/libgomp.c++/target-3.C: Remove.
3376 * testsuite/libgomp.c++/target-4.C: Remove.
3377 * testsuite/libgomp.c++/target-5.C: Remove.
3378 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3379 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3380 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3381 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3382 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3383 * testsuite/libgomp.c++/udr-9.C: Remove.
3384 * testsuite/libgomp.c++/for-10.C: Remove.
3385 * testsuite/libgomp.c++/for-11.C: Remove.
3386 * testsuite/libgomp.c++/for-12.C: Remove.
3387 * testsuite/libgomp.c++/for-13.C: Remove.
3388 * testsuite/libgomp.c++/for-14.C: Remove.
3389 * testsuite/libgomp.c++/for-9.C: Remove.
3390 * testsuite/libgomp.c/atomic-18.c: Move ...
3391 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3392 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3393 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3394 * testsuite/libgomp.c/loop-13.c: Move ...
3395 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3396 * testsuite/libgomp.c/loop-14.c: Move ...
3397 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3398 * testsuite/libgomp.c/loop-15.c: Remove.
3399 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3400 * testsuite/libgomp.c/monotonic-1.c: Move ...
3401 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3402 * testsuite/libgomp.c/monotonic-2.c: Move ...
3403 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3404 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3405 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3406 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3407 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3408 * testsuite/libgomp.c/ordered-4.c: Move ...
3409 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3410 * testsuite/libgomp.c/pr45784.c: Move ...
3411 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3412 * testsuite/libgomp.c/pr64824.c: Move ...
3413 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3414 * testsuite/libgomp.c/pr64868.c: Move ...
3415 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3416 * testsuite/libgomp.c/pr66199-1.c: Move ...
3417 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3418 * testsuite/libgomp.c/pr66199-2.c: Move ...
3419 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3420 * testsuite/libgomp.c/pr66199-3.c: Move ...
3421 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3422 * testsuite/libgomp.c/pr66199-4.c: Move ...
3423 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3424 * testsuite/libgomp.c/pr66199-5.c: Move ...
3425 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3426 * testsuite/libgomp.c/pr66199-6.c: Move ...
3427 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3428 * testsuite/libgomp.c/pr66199-7.c: Move ...
3429 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3430 * testsuite/libgomp.c/pr66199-8.c: Move ...
3431 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3432 * testsuite/libgomp.c/pr66199-9.c: Move ...
3433 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3434 * testsuite/libgomp.c/pr69389.c: Move ...
3435 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3436 * testsuite/libgomp.c/simd-14.c: Move ...
3437 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3438 * testsuite/libgomp.c/simd-15.c: Move ...
3439 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3440 * testsuite/libgomp.c/simd-16.c: Move ...
3441 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3442 * testsuite/libgomp.c/simd-17.c: Move ...
3443 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3444 * testsuite/libgomp.c/target-1.c: Move ...
3445 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3446 * testsuite/libgomp.c/target-10.c: Move ...
3447 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3448 * testsuite/libgomp.c/target-13.c: Move ...
3449 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3450 * testsuite/libgomp.c/target-2.c: Move ...
3451 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3452 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3453 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3454 * testsuite/libgomp.c/taskloop-1.c: Move ...
3455 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3456 * testsuite/libgomp.c/taskloop-2.c: Move ...
3457 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3458 * testsuite/libgomp.c/taskloop-3.c: Move ...
3459 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3460 * testsuite/libgomp.c/taskloop-4.c: Move ...
3461 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3462 * testsuite/libgomp.c/udr-1.c: Move ...
3463 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3464 * testsuite/libgomp.c/for-1.c: Move ...
3465 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3466 * testsuite/libgomp.c/for-1.h: Move ...
3467 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3468 * testsuite/libgomp.c/for-2.c: Move ...
3469 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3470 * testsuite/libgomp.c/for-2.h: Move ...
3471 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3472 * testsuite/libgomp.c/for-3.c: Move ...
3473 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3474 * testsuite/libgomp.c/for-4.c: Move ...
3475 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3476 * testsuite/libgomp.c/for-5.c: Move ...
3477 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3478 * testsuite/libgomp.c/for-6.c: Move ...
3479 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3480
3481 2018-05-02 Tom de Vries <tom@codesourcery.com>
3482
3483 PR libgomp/82428
3484 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3485 __builtin_goacc_parlevel_{id,size}.
3486 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3487 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3488 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3489 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3490 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3491 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3492 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3493 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3494 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3495 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3496 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3497 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3498 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3499 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3500 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3501 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3502 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3503 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3504 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3505 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3506 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3507 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3508 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3509
3510 2018-05-02 Tom de Vries <tom@codesourcery.com>
3511
3512 PR testsuite/85106
3513 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3514
3515 2018-05-02 Tom de Vries <tom@codesourcery.com>
3516
3517 PR testsuite/85106
3518 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3519
3520 2018-04-29 Julian Brown <julian@codesourcery.com>
3521 Tom de Vries <tom@codesourcery.com>
3522
3523 PR testsuite/85527
3524 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3525 arbitrary order for iterations of atomic subtract check.
3526
3527 2018-04-28 Tom de Vries <tom@codesourcery.com>
3528
3529 PR testsuite/85527
3530 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3531 atomic capture results obtained in parallel loop to an array, instead of
3532 to a scalar.
3533
3534 2018-04-26 Tom de Vries <tom@codesourcery.com>
3535
3536 PR libgomp/84020
3537 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3538 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3539 (process_GOMP_NVPTX_JIT): New function.
3540 (link_ptx): Use process_GOMP_NVPTX_JIT.
3541
3542 2018-04-26 Richard Biener <rguenther@suse.de>
3543 Tom de Vries <tom@codesourcery.com>
3544
3545 PR lto/85422
3546 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3547
3548 2018-04-26 Tom de Vries <tom@codesourcery.com>
3549
3550 PR target/85519
3551 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3552 recursion depth from 25 to 23.
3553 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3554
3555 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3556
3557 * configure: Regenerated.
3558
3559 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3560 Tom de Vries <tom@codesourcery.com>
3561
3562 PR target/85445
3563 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3564
3565 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3566
3567 PR libgomp/85463
3568 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3569 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3570 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3571 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3572 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3573 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3574
3575 PR libfortran/85166
3576 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3577 abort".
3578 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3579
3580 2018-04-19 Jakub Jelinek <jakub@redhat.com>
3581
3582 * configure: Regenerated.
3583
3584 2018-04-18 David Malcolm <dmalcolm@redhat.com>
3585
3586 PR jit/85384
3587 * configure: Regenerate.
3588
3589 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3590 Tom de Vries <tom@codesourcery.com>
3591
3592 PR middle-end/84955
3593 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3594 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3595
3596 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3597
3598 PR fortran/83064
3599 PR testsuite/85346
3600 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3601 test from gfortran.dg to here.
3602
3603 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3604
3605 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3606 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3607
3608 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3609
3610 PR middle-end/84955
3611 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3612 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3613
3614 2018-04-05 Tom de Vries <tom@codesourcery.com>
3615
3616 PR target/85204
3617 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3618
3619 2018-03-26 Tom de Vries <tom@codesourcery.com>
3620
3621 PR tree-optimization/85063
3622 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3623 * testsuite/libgomp.c/switch-conversion.c: New test.
3624 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3625 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3626
3627 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3628
3629 PR fortran/84381
3630 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3631 call abort by STOP n.
3632 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3633 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3634 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3635 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3636 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3637 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3638 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3639 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3640 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3641 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3642 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3643 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3644 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3645 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3646 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3647 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3648 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3649 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3650 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3651 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3652 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3653 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3654 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3655 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3656 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3657 * testsuite/libgomp.fortran/character1.f90: Likewise.
3658 * testsuite/libgomp.fortran/character2.f90: Likewise.
3659 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3660 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3661 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3662 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3663 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3664 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3665 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3666 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3667 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3668 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3669 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3670 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3671 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3672 * testsuite/libgomp.fortran/do1.f90: Likewise.
3673 * testsuite/libgomp.fortran/do2.f90: Likewise.
3674 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3675 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3676 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3677 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3678 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3679 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3680 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3681 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3682 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3683 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3684 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3685 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3686 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3687 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3688 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3689 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3690 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3691 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3692 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3693 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3694 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3695 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3696 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3697 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3698 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3699 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3700 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3701 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3702 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3703 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3704 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3705 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3706 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3707 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3708 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3709 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3710 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3711 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3712 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3713 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3714 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3715 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3716 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3717 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3718 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3719 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3720 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3721 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3722 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3723 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3724 * testsuite/libgomp.fortran/lib2.f: Likewise.
3725 * testsuite/libgomp.fortran/lib3.f: Likewise.
3726 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3727 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3728 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3729 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3730 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3731 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3732 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3733 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3734 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3735 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3736 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3737 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3738 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3739 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3740 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3741 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3742 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3743 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3744 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3745 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3746 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3747 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3748 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3749 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3750 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3751 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3752 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3753 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3754 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3755 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3756 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3757 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3758 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3759 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3760 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3761 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3762 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3763 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3764 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3765 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3766 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3767 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3768 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3769 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3770 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3771 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3772 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3773 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3774 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3775 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3776 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3777 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3778 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3779 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3780 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3781 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3782 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3783 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3784 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3785 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3786 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3787 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3788 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3789 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3790 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3791 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3792 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3793 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3794 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3795 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3796 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3797 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3798 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3799 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3800 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3801 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3802 * testsuite/libgomp.fortran/stack.f90: Likewise.
3803 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3804 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3805 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3806 * testsuite/libgomp.fortran/target1.f90: Likewise.
3807 * testsuite/libgomp.fortran/target2.f90: Likewise.
3808 * testsuite/libgomp.fortran/target3.f90: Likewise.
3809 * testsuite/libgomp.fortran/target4.f90: Likewise.
3810 * testsuite/libgomp.fortran/target5.f90: Likewise.
3811 * testsuite/libgomp.fortran/target6.f90: Likewise.
3812 * testsuite/libgomp.fortran/target7.f90: Likewise.
3813 * testsuite/libgomp.fortran/target8.f90: Likewise.
3814 * testsuite/libgomp.fortran/task1.f90: Likewise.
3815 * testsuite/libgomp.fortran/task2.f90: Likewise.
3816 * testsuite/libgomp.fortran/task3.f90: Likewise.
3817 * testsuite/libgomp.fortran/task4.f90: Likewise.
3818 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3819 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3820 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3821 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3822 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3823 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3824 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3825 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3826 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3827 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3828 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3829 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3830 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3831 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3832 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3833 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3834 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3835 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3836 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3837 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3838 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3839 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3840 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3841 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3842 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3843 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3844 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3845 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3846 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3847 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3848 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3849 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3850 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3851 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3852 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3853 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3854 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3855 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3856 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3857 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3858 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3859 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3860 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3861 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3862 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3863 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3864 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3865 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3866 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3867 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3868 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3869 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3870 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3871 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3872 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3873 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3874 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3875 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3876 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3877 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3878 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3879 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3880 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3881 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3882 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3883 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3884 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3885 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3886 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3887 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3888 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3889 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3890 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3891 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3892 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3893 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3894 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3895 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3896 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3897 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3898 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3899 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3900 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3901 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3902 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3903 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3904 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3905 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3906 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3907 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3908 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3909 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3910 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3911 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3912 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3913 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3914 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3915 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3916 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3917 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3918 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3919 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3920 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3921 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3922 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3923 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3924 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3925 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3926 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3927 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3928 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3929 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3930 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3931 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3932 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3933 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3934 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3935 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3936 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3937 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3938 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3939 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3940 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3941 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3942 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3943 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3944
3945 2018-03-20 Richard Biener <rguenther@suse.de>
3946
3947 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3948 parallelizable loop.
3949
3950 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3951
3952 PR target/84148
3953 * configure: Regenerate.
3954
3955 2018-02-16 Jakub Jelinek <jakub@redhat.com>
3956
3957 PR fortran/84418
3958 * libgomp.fortran/pr84418-1.f90: New test.
3959 * libgomp.fortran/pr84418-2.f90: New test.
3960
3961 2018-02-14 Jakub Jelinek <jakub@redhat.com>
3962
3963 PR fortran/84313
3964 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3965 -std=f2003 -fall-intrinsics into dg-additional-options.
3966
3967 2018-02-08 Martin Jambor <mjambor@suse.cz>
3968
3969 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3970 clonable.
3971
3972 2018-02-08 Martin Jambor <mjambor@suse.cz>
3973
3974 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3975
3976 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3977
3978 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3979 [__cplusplus]: Declare extern "C".
3980
3981 2018-02-07 Tom de Vries <tom@codesourcery.com>
3982
3983 PR libgomp/84217
3984 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3985
3986 2018-01-29 Christoph Spiel <cspiel@freenet.de>
3987 Jakub Jelinek <jakub@redhat.com>
3988
3989 PR libgomp/84096
3990 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3991 instead of omp_lock_t.
3992
3993 2018-01-25 Tom de Vries <tom@codesourcery.com>
3994
3995 PR target/84028
3996 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3997
3998 2018-01-24 Tom de Vries <tom@codesourcery.com>
3999
4000 PR target/83589
4001 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4002
4003 2018-01-24 Tom de Vries <tom@codesourcery.com>
4004
4005 PR target/81352
4006 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4007
4008 2018-01-19 Tom de Vries <tom@codesourcery.com>
4009 Cesar Philippidis <cesar@codesourcery.com>
4010
4011 PR target/83920
4012 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4013 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4014
4015 2018-01-03 Jakub Jelinek <jakub@redhat.com>
4016
4017 Update copyright years.
4018
4019 * libgomp.texi: Bump @copying's copyright year.
4020
4021 2017-12-30 Tom de Vries <tom@codesourcery.com>
4022
4023 PR libgomp/83046
4024 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4025 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4026
4027 2017-12-27 Tom de Vries <tom@codesourcery.com>
4028
4029 PR c++/83046
4030 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4031 (test_nonstatic): Fix return type to workaround PR83046.
4032
4033 2017-12-05 Jakub Jelinek <jakub@redhat.com>
4034
4035 PR testsuite/83281
4036 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4037 j suffix instead of i.
4038 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4039 Likewise.
4040
4041 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
4042
4043 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4044 call to acc_wait (1).
4045
4046 2017-11-24 Jakub Jelinek <jakub@redhat.com>
4047
4048 PR fortran/81304
4049 * testsuite/libgomp.fortran/pr81304.f90: New test.
4050
4051 2017-11-23 Jakub Jelinek <jakub@redhat.com>
4052
4053 PR fortran/81841
4054 * libgomp.fortran/pr81841.f90: New test.
4055
4056 2017-11-22 Jakub Jelinek <jakub@redhat.com>
4057
4058 PR libgomp/83106
4059 * target.c (gomp_target_init): Compute lengths just once and
4060 use them in both malloc size and subsequent copying.
4061
4062 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
4063
4064 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4065 * acinclude.m4: Add cet.m4.
4066 * configure: Regenerate.
4067 * Makefile.in: Likewise.
4068 * testsuite/Makefile.in: Likewise.
4069
4070 2017-11-15 Tom de Vries <tom@codesourcery.com>
4071
4072 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4073 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4074 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4075 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4076 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4077 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4078
4079 2017-11-14 Tom de Vries <tom@codesourcery.com>
4080
4081 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4082 non-nvidia devices.
4083
4084 2017-11-07 Jakub Jelinek <jakub@redhat.com>
4085
4086 PR c++/82835
4087 * testsuite/libgomp.c++/pr82835.C: New test.
4088
4089 2017-11-06 Martin Liska <mliska@suse.cz>
4090
4091 * testsuite/libgomp.c++/loop-2.C: Return a value
4092 for functions with non-void return type, or change type to void,
4093 or add -Wno-return-type for test.
4094 * testsuite/libgomp.c++/loop-4.C: Likewise.
4095 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4096 * testsuite/libgomp.c++/shared-1.C: Likewise.
4097 * testsuite/libgomp.c++/single-1.C: Likewise.
4098 * testsuite/libgomp.c++/single-2.C: Likewise.
4099
4100 2017-10-31 Tom de Vries <tom@codesourcery.com>
4101
4102 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4103 "do {} while (false)".
4104 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4105 after HSA_DEBUG call.
4106
4107 2017-10-28 Jakub Jelinek <jakub@redhat.com>
4108
4109 * target.c (struct gomp_coalesce_buf): New type.
4110 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4111 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4112 (gomp_copy_host2dev): Add CBUF argument, if copying into
4113 the cached ranges, memcpy into buffer instead of copying
4114 into device.
4115 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4116 Add CBUF argument, pass it through to other calls.
4117 (gomp_map_vars): Aggregate copies from host to device if small enough
4118 and with small enough gaps in between into memcpy into a buffer and
4119 fewer host to device copies from the buffer.
4120 (gomp_update): Adjust gomp_copy_host2dev caller.
4121
4122 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4123
4124 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4125 run" directive.
4126 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4127 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4128 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4129 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4130
4131 2017-10-16 Tom de Vries <tom@codesourcery.com>
4132
4133 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4134 openacc_nvidia_accel_selected.
4135 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4136 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4137 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4138 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4139 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4140 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4141 openacc_nvidia_accel_selected. Skip for shared memory device.
4142 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4143 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4144
4145 2017-10-09 Martin Jambor <mjambor@suse.cz>
4146
4147 PR hsa/82416
4148 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4149
4150 2017-10-07 Tom de Vries <tom@codesourcery.com>
4151
4152 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4153 Remove acc_device_nvidia references.
4154 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4155 Same.
4156
4157 2017-10-05 Tom de Vries <tom@codesourcery.com>
4158
4159 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4160 vector_length(32) clause from acc parallel directive.
4161 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4162
4163 2017-10-04 Tom de Vries <tom@codesourcery.com>
4164
4165 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4166 (main): Reduce sum of arr elements. Assert that hres is exactly
4167 representable in 32-bit floating point.
4168 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4169 (main): Reduce sum of arr elements. Assert that hres and hmres are
4170 exactly representable in 32-bit floating point.
4171 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4172
4173 2017-09-28 Tom de Vries <tom@codesourcery.com>
4174
4175 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4176 setting.
4177 * testsuite/libgomp.c++/pr69393.C: Same.
4178 * testsuite/libgomp.c++/taskloop-1.C: Same.
4179 * testsuite/libgomp.c++/taskloop-3.C: Same.
4180 * testsuite/libgomp.c++/taskloop-4.C: Same.
4181 * testsuite/libgomp.c/for-4.c: Same.
4182 * testsuite/libgomp.c/pr66199-3.c: Same.
4183 * testsuite/libgomp.c/pr66199-4.c: Same.
4184 * testsuite/libgomp.c/pr66199-6.c: Same.
4185 * testsuite/libgomp.c/taskloop-1.c: Same.
4186 * testsuite/libgomp.c/taskloop-3.c: Same.
4187 * testsuite/libgomp.c/taskloop-4.c: Same.
4188 * testsuite/libgomp.fortran/aligned1.f03: Same.
4189 * testsuite/libgomp.fortran/condinc1.f: Same.
4190 * testsuite/libgomp.fortran/condinc3.f90: Same.
4191 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4192 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4193 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4194 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4195 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4196 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4197 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4198 * testsuite/libgomp.fortran/recursion1.f90: Same.
4199 * testsuite/libgomp.fortran/target2.f90: Same.
4200 * testsuite/libgomp.fortran/target5.f90: Same.
4201 * testsuite/libgomp.fortran/task3.f90: Same.
4202
4203 2017-09-28 Tom de Vries <tom@codesourcery.com>
4204
4205 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4206 vector_length(32) clause from acc parallel directive.
4207 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4208
4209 2017-09-27 Tom de Vries <tom@codesourcery.com>
4210
4211 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4212 Remove acc_device_nvidia references.
4213
4214 2017-09-16 Tom de Vries <tom@codesourcery.com>
4215
4216 PR c/81875
4217 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4218
4219 2017-09-14 Tom de Vries <tom@codesourcery.com>
4220
4221 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4222 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4223 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4224 * testsuite/libgomp.c/c.exp: Include test-cases from
4225 libgomp.c-c++-common.
4226 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4227 files.
4228
4229 2017-09-14 Jakub Jelinek <jakub@redhat.com>
4230
4231 PR c++/81314
4232 * testsuite/libgomp.c++/pr81314.C: New test.
4233
4234 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4235
4236 * libgomp.texi (Top): www.openacc.org now uses https.
4237 (Enabling OpenACC): Ditto.
4238 (acc_get_num_devices): Ditto.
4239 (acc_set_device_type): Ditto.
4240 (acc_get_device_type): Ditto.
4241 (acc_set_device_num): Ditto.
4242 (acc_get_device_num): Ditto.
4243 (acc_async_test): Ditto.
4244 (acc_async_test_all): Ditto.
4245 (acc_wait): Ditto.
4246 (acc_wait_all): Ditto.
4247 (acc_wait_all_async): Ditto.
4248 (acc_wait_async): Ditto.
4249 (acc_init): Ditto.
4250 (acc_shutdown): Ditto.
4251 (acc_on_device): Ditto.
4252 (acc_malloc): Ditto.
4253 (acc_free): Ditto.
4254 (acc_copyin): Ditto.
4255 (acc_present_or_copyin): Ditto.
4256 (acc_create): Ditto.
4257 (acc_present_or_create): Ditto.
4258 (acc_copyout): Ditto.
4259 (acc_delete): Ditto.
4260 (acc_update_device): Ditto.
4261 (acc_update_self): Ditto.
4262 (acc_map_data): Ditto.
4263 (acc_unmap_data): Ditto.
4264 (acc_deviceptr): Ditto.
4265 (acc_hostptr): Ditto.
4266 (acc_is_present): Ditto.
4267 (acc_memcpy_to_device): Ditto.
4268 (acc_memcpy_from_device): Ditto.
4269 (acc_get_current_cuda_device): Ditto.
4270 (acc_get_current_cuda_context): Ditto.
4271 (acc_get_cuda_stream): Ditto.
4272 (acc_set_cuda_stream): Ditto.
4273 (ACC_DEVICE_TYPE): Ditto.
4274 (ACC_DEVICE_NUM): Ditto.
4275 (OpenACC Library Interoperability): Ditto.
4276
4277 2017-08-09 Jakub Jelinek <jakub@redhat.com>
4278
4279 PR c/81687
4280 * testsuite/libgomp.c/pr81687-1.c: New test.
4281 * testsuite/libgomp.c/pr81687-2.c: New test.
4282
4283 2017-08-07 Jakub Jelinek <jakub@redhat.com>
4284
4285 PR c/69389
4286 * testsuite/libgomp.c/pr69389.c: New test.
4287 * testsuite/libgomp.c++/pr69389.C: New test.
4288
4289 2017-08-07 Tom de Vries <tom@codesourcery.com>
4290
4291 PR middle-end/78266
4292 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4293 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4294
4295 2017-07-27 Jakub Jelinek <jakub@redhat.com>
4296
4297 PR c/45784
4298 * testsuite/libgomp.c/pr45784.c: New test.
4299 * testsuite/libgomp.c++/pr45784.C: New test.
4300
4301 2017-07-19 Tom de Vries <tom@codesourcery.com>
4302
4303 * testsuite/libgomp.oacc-c/vec.c: New test.
4304
4305 2017-07-03 Tom de Vries <tom@codesourcery.com>
4306
4307 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4308
4309 2017-06-27 Tom de Vries <tom@codesourcery.com>
4310
4311 * plugin/plugin-nvptx.c (notify_var): New function.
4312 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4313
4314 2017-06-27 Tom de Vries <tom@codesourcery.com>
4315
4316 * env.c (parse_unsigned_long_1): Factor out of ...
4317 (parse_unsigned_long): ... here.
4318 (parse_int_1): Factor out of ...
4319 (parse_int): ... here.
4320 (parse_int_secure): New function.
4321 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4322 * secure_getenv.h: Factor out of ...
4323 * plugin/plugin-hsa.c: ... here.
4324 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4325
4326 2017-06-21 Jakub Jelinek <jakub@redhat.com>
4327
4328 PR c++/81130
4329 * testsuite/libgomp.c++/pr81130.C: New test.
4330
4331 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4332
4333 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4334 default args.
4335 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4336 dg-xfail-run-if default args.
4337
4338 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4339
4340 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4341 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4342
4343 2017-05-30 Jakub Jelinek <jakub@redhat.com>
4344
4345 PR libgomp/80822
4346 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4347 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4348 sibling lists, depending on level just pick up what CPUs to put
4349 together into a place vs. whether add multiple ordered places.
4350
4351 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4352
4353 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4354 * libgomp.map (OACC_2.0.1): Add these.
4355 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4356 for "acc_wait", and "acc_wait_all", respectively.
4357 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4358 for "acc_wait", and "acc_wait_all", respectively.
4359 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4360 * libgomp.texi (acc_wait, acc_wait_all): Update.
4361 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4362 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4363 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4364
4365 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4366 acc_present_or_copyin and acc_present_or_create procedures,
4367 respectively.
4368 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4369 generally different variants of OpenACC Runtime Library functions.
4370 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4371
4372 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4373 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4374
4375 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4376 of preprocessor definitions.
4377 * libgomp.h (strong_alias): Guard by "#ifdef
4378 HAVE_ATTRIBUTE_ALIAS".
4379 * oacc-mem.c: Provide "acc_pcreate" as alias for
4380 "acc_present_or_create", and "acc_pcopyin" as alias for
4381 "acc_present_or_copyin".
4382 * libgomp.map: New version "OACC_2.0.1".
4383 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4384 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4385 its content into...
4386 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4387 Extend testing.
4388
4389 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4390 when disabling nvptx offloading.
4391
4392 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4393
4394 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4395 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4396 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4397
4398 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4399 * testsuite/lib/libgomp.exp
4400 (check_effective_target_openacc_nvidia_accel_configured): New
4401 proc.
4402 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4403 (check_effective_target_c++): New procs.
4404 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4405 (check_effective_target_c++): Likewise.
4406
4407 2017-05-22 Jakub Jelinek <jakub@redhat.com>
4408
4409 PR middle-end/80809
4410 * testsuite/libgomp.c/pr80809-2.c: New test.
4411 * testsuite/libgomp.c/pr80809-3.c: New test.
4412
4413 PR middle-end/80809
4414 * testsuite/libgomp.c/pr80809-1.c: New test.
4415
4416 PR middle-end/80853
4417 * testsuite/libgomp.c/pr80853.c: New test.
4418
4419 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4420
4421 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4422 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4423 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4424 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4425 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4426
4427 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4428 Debug output for failure.
4429
4430 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4431
4432 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4433
4434 2017-04-27 Jakub Jelinek <jakub@redhat.com>
4435
4436 PR bootstrap/80531
4437 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4438 bootstrap compare failures.
4439
4440 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
4441
4442 * testsuite/libgomp.c/target-36.c: New testcase.
4443
4444 2017-04-13 Jakub Jelinek <jakub@redhat.com>
4445
4446 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4447 instead of char.
4448
4449 2017-04-11 Jakub Jelinek <jakub@redhat.com>
4450
4451 PR libgomp/80394
4452 * testsuite/libgomp.c/pr80394.c: New test.
4453
4454 2017-04-04 Jakub Jelinek <jakub@redhat.com>
4455
4456 PR libgomp/79876
4457 * config/posix/thread-stacksize.h: New file.
4458 * config/darwin/thread-stacksize.h: New file.
4459 * config/nvptx/thread-stacksize.h: New file.
4460 * env.c: Include thread-stacksize.h.
4461 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4462 instead of 0. Call pthread_attr_setstacksize even if
4463 GOMP_DEFAULT_STACKSIZE is non-zero.
4464
4465 2017-03-30 Jakub Jelinek <jakub@redhat.com>
4466
4467 * env.c (initialize_env): Initialize stacksize to 0.
4468
4469 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4470
4471 PR c++/80029
4472 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4473
4474 2017-03-08 Jakub Jelinek <jakub@redhat.com>
4475
4476 PR c/79940
4477 * testsuite/libgomp.c/pr79940.c: New test.
4478
4479 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4480
4481 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4482 targets.
4483 Add __float128 options.
4484
4485 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
4486
4487 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4488 hppa*-*-* dg-skip-if directive.
4489
4490 2017-02-09 Jakub Jelinek <jakub@redhat.com>
4491
4492 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4493 dg-skip-if directive into a comment.
4494
4495 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4496 Chung-Lin Tang <cltang@codesourcery.com>
4497
4498 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4499 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4500 add additional case.
4501 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4502 "openacc_nvidia_accel_selected".
4503 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4504 Add num_workers(8) clause.
4505
4506 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
4507
4508 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4509 hppa*-*-*.
4510 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4511 include complex.h on hppa*-*-hpux*.
4512 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4513
4514 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4515
4516 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4517
4518 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4519 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4520 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4521 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4522 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4523 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4524 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4525 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4526 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4527 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4528
4529 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4530
4531 * libgomp-plugin.h: #include <stdbool.h>.
4532 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4533 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4534 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4535 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4536 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4537 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4538 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4539 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4540 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4541 (GOMP_OFFLOAD_openacc_async_test)
4542 (GOMP_OFFLOAD_openacc_async_test_all)
4543 (GOMP_OFFLOAD_openacc_async_wait)
4544 (GOMP_OFFLOAD_openacc_async_wait_async)
4545 (GOMP_OFFLOAD_openacc_async_wait_all)
4546 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4547 (GOMP_OFFLOAD_openacc_async_set_async)
4548 (GOMP_OFFLOAD_openacc_create_thread_data)
4549 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4550 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4551 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4552 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4553 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4554 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4555 these.
4556 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4557 (GOMP_OFFLOAD_unload_image): Fix argument types.
4558
4559 2017-01-26 Jakub Jelinek <jakub@redhat.com>
4560
4561 * testsuite/lib/libgomp.exp
4562 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4563 check_compile invocation. Fix up removal of executable. Drop
4564 bogus "2>&1" argument.
4565
4566 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4567 directive.
4568
4569 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
4570 Martin Jambor <mjambor@suse.cz>
4571
4572 * plugin/hsa.h: Moved to top level include.
4573 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4574
4575 2017-01-21 Jakub Jelinek <jakub@redhat.com>
4576
4577 PR other/79046
4578 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4579 of cat to get version from BASE-VER file.
4580 * testsuite/Makefile.in: Regenerated.
4581
4582 2017-01-19 Jakub Jelinek <jakub@redhat.com>
4583
4584 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4585 for _WIN64.
4586
4587 2017-01-17 Jakub Jelinek <jakub@redhat.com>
4588
4589 * plugin/hsa.h: Add GCC runtime library exception.
4590 * plugin/hsa_ext_finalize.h: Likewise.
4591
4592 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4593 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4594 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4595 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4596 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4597 library to link ptx plugin against.
4598 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4599 (CUDA_CALLS): Define.
4600 (cuda_lib, cuda_lib_inited): New variables.
4601 (init_cuda_lib): New function.
4602 (CUDA_CALL_PREFIX): Define.
4603 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4604 (CUDA_CALL): Use FN instead of (FN).
4605 (CUDA_CALL_NOCHECK): Define.
4606 (cuda_error, fini_streams_for_device, select_stream_for_async,
4607 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4608 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4609 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4610 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4611 CUDA_CALL_NOCHECK.
4612 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4613 CUDA_CALL_NOCHECK.
4614 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4615 Use CUDA_CALL_NOCHECK.
4616 * plugin/cuda/cuda.h: New file.
4617 * config.h.in: Regenerated.
4618 * configure: Regenerated.
4619
4620 PR other/79046
4621 * configure.ac: Add GCC_BASE_VER.
4622 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4623 get version from BASE-VER file.
4624 * testsuite/Makefile.in: Regenerated.
4625 * configure: Regenerated.
4626 * Makefile.in: Regenerated.
4627
4628 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4629
4630 PR libgomp/60670
4631 * Makefile.am: Make fincludedir multilib-aware.
4632 * Makefile.in: Regenerate.
4633
4634 2017-01-01 Jakub Jelinek <jakub@redhat.com>
4635
4636 Update copyright years.
4637
4638 * libgomp.texi: Bump @copying's copyright year.
4639
4640 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4641
4642 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4643 pthread_spinlock_t instead of gomp_mutex_t lock.
4644 (gomp_get_thread_pool): Likewise.
4645 (gomp_release_thread_pool): Likewise.
4646 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4647 Likewise.
4648
4649 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4650
4651 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4652 thread pool in case nthreads == 1.
4653
4654 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4655
4656 * config/nvptx/env.c: Delete.
4657 * icv.c: Move definitions of ICV variables back ...
4658 * env.c: ...here. Do not compile environment-related functionality if
4659 LIBGOMP_OFFLOADED_ONLY is set.
4660
4661 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4662
4663 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4664 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4665 * configure: Regenerate.
4666 * config.h.in: Likewise.
4667
4668 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
4669
4670 * Makefile.in: Regenerate with automake-1.11.6.
4671 * aclocal.m4: Likewise.
4672 * configure: Likewise.
4673 * testsuite/Makefile.in: Likewise.
4674
4675 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
4676
4677 * config/nvptx/critical.c: Delete to use generic implementation.
4678
4679 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4680
4681 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4682 ../../affinity.c as fallback.
4683 * config/nvptx/affinity.c: Delete to use fallback implementation.
4684
4685 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
4686 Jakub Jelinek <jakub@redhat.com>
4687 Dmitry Melnik <dm@ispras.ru>
4688
4689 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4690 * Makefile.in. Regenerate.
4691 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4692 (LIBGOMP_USE_PTHREADS): ...here; new define.
4693 * configure: Regenerate.
4694 * config.h.in: Likewise.
4695 * config/posix/affinity.c: Move to...
4696 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4697 interface by LIBGOMP_USE_PTHREADS.
4698 * critical.c: Split out GOMP_atomic_{start,end} into...
4699 * atomic.c: ...here (new file).
4700 * env.c: Split out ICV definitions into...
4701 * icv.c: ...here (new file) and...
4702 * icv-device.c: ...here. New file.
4703 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4704 (gomp_destroy_lock_30): Ditto.
4705 (gomp_set_lock_30): Ditto.
4706 (gomp_unset_lock_30): Ditto.
4707 (gomp_test_lock_30): Ditto.
4708 (gomp_init_nest_lock_30): Ditto.
4709 (gomp_destroy_nest_lock_30): Ditto.
4710 (gomp_set_nest_lock_30): Ditto.
4711 (gomp_unset_nest_lock_30): Ditto.
4712 (gomp_test_nest_lock_30): Ditto.
4713 * lock.c: New.
4714 * config/nvptx/lock.c: New.
4715 * config/nvptx/bar.c: New.
4716 * config/nvptx/bar.h: New.
4717 * config/nvptx/doacross.h: New.
4718 * config/nvptx/error.c: New.
4719 * config/nvptx/icv-device.c: New.
4720 * config/nvptx/mutex.h: New.
4721 * config/nvptx/pool.h: New.
4722 * config/nvptx/proc.c: New.
4723 * config/nvptx/ptrlock.h: New.
4724 * config/nvptx/sem.h: New.
4725 * config/nvptx/simple-bar.h: New.
4726 * config/nvptx/target.c: New.
4727 * config/nvptx/task.c: New.
4728 * config/nvptx/team.c: New.
4729 * config/nvptx/time.c: New.
4730 * config/posix/simple-bar.h: New.
4731 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4732 (gomp_num_teams_var): Declare.
4733 (struct gomp_thread_pool): Change threads_dock member to
4734 gomp_simple_barrier_t.
4735 [__nvptx__] (gomp_thread): New implementation.
4736 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4737 (gomp_thread_destructor): Ditto.
4738 (gomp_init_thread_affinity): Ditto.
4739 * team.c: Guard uses of Pthreads-specific interfaces by
4740 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4741 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4742 * config/nvptx/alloc.c: Delete.
4743 * config/nvptx/barrier.c: Ditto.
4744 * config/nvptx/fortran.c: Ditto.
4745 * config/nvptx/iter.c: Ditto.
4746 * config/nvptx/iter_ull.c: Ditto.
4747 * config/nvptx/loop.c: Ditto.
4748 * config/nvptx/loop_ull.c: Ditto.
4749 * config/nvptx/ordered.c: Ditto.
4750 * config/nvptx/parallel.c: Ditto.
4751 * config/nvptx/priority_queue.c: Ditto.
4752 * config/nvptx/sections.c: Ditto.
4753 * config/nvptx/single.c: Ditto.
4754 * config/nvptx/splay-tree.c: Ditto.
4755 * config/nvptx/work.c: Ditto.
4756 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4757 -foffload=-lgfortran in addition to -lgfortran.
4758 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4759 * plugin/plugin-nvptx.c: Include <limits.h>.
4760 (struct targ_fn_descriptor): Add new fields.
4761 (struct ptx_device): Ditto. Set them...
4762 (nvptx_open_device): ...here.
4763 (nvptx_adjust_launch_bounds): New.
4764 (nvptx_host2dev): Allow NULL 'nvthd'.
4765 (nvptx_dev2host): Ditto.
4766 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4767 (link_ptx): Adjust log sizes.
4768 (nvptx_host2dev): Allow NULL 'nvthd'.
4769 (nvptx_dev2host): Ditto.
4770 (nvptx_set_clocktick): New. Use it...
4771 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4772 fields.
4773 (GOMP_OFFLOAD_dev2dev): New.
4774 (nvptx_adjust_launch_bounds): New.
4775 (nvptx_stacks_size): New.
4776 (nvptx_stacks_alloc): New.
4777 (nvptx_stacks_free): New.
4778 (GOMP_OFFLOAD_run): New.
4779 (GOMP_OFFLOAD_async_run): New (stub).
4780
4781 2016-11-23 Martin Jambor <mjambor@suse.cz>
4782
4783 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4784 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4785 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4786
4787 2016-11-23 Martin Liska <mliska@suse.cz>
4788 Martin Jambor <mjambor@suse.cz>
4789
4790 * plugin/hsa.h: New file.
4791 * plugin/hsa_ext_finalize.h: New file.
4792 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4793 header file unistd.h, and functions secure_getenv, __secure_getenv,
4794 getuid, geteuid, getgid and getegid.
4795 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4796 -D_GNU_SOURCE.
4797 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4798 Handle various cases of secure_getenv presence, add an implementation
4799 when we can test effective UID and GID.
4800 (struct hsa_runtime_fn_info): New structure.
4801 (hsa_runtime_fn_info hsa_fns): New variable.
4802 (hsa_runtime_lib): Likewise.
4803 (support_cpu_devices): Likewise.
4804 (init_enviroment_variables): Load newly introduced ENV
4805 variables.
4806 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4807 (hsa_fatal): Likewise.
4808 (DLSYM_FN): New macro.
4809 (init_hsa_runtime_functions): New function.
4810 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4811 structure. Depending on environment, also allow CPU devices.
4812 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4813 (get_kernarg_memory_region): Likewise.
4814 (GOMP_OFFLOAD_init_device): Likewise.
4815 (destroy_hsa_program): Likewise.
4816 (init_basic_kernel_info): New function.
4817 (GOMP_OFFLOAD_load_image): Use it.
4818 (create_and_finalize_hsa_program): Call hsa run-time functions via
4819 hsa_fns structure.
4820 (create_single_kernel_dispatch): Likewise.
4821 (release_kernel_dispatch): Likewise.
4822 (init_single_kernel): Likewise.
4823 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4824 (get_group_size): New function.
4825 (run_kernel): Likewise.
4826 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4827 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4828 structure.
4829 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4830 * testsuite/libgomp-test-support.exp.in: Likewise.
4831 * Makefile.in: Regenerated.
4832 * aclocal.m4: Likewise.
4833 * config.h.in: Likewise.
4834 * configure: Likewise.
4835 * testsuite/Makefile.in: Likewise.
4836
4837 2016-11-15 Martin Jambor <mjambor@suse.cz>
4838 Alexander Monakov <amonakov@ispras.ru>
4839
4840 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4841 mapping clauses to target constructs.
4842 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4843
4844 2016-11-15 Matthias Klose <doko@ubuntu.com>
4845
4846 * configure: Regenerate.
4847
4848 2016-11-10 Jakub Jelinek <jakub@redhat.com>
4849
4850 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4851 * omp_lib.h.in (openmp_version): Likewise.
4852 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4853 of 201307.
4854 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4855
4856 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4857 (fib_wrapper): Add map(from: x) clause.
4858 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4859 (e_53_2): Likewise.
4860 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4861 (accum): Add map(tmp) clause.
4862 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4863 (accum): Add map(tofrom: tmp) clause.
4864 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4865 (gramSchmidt): Likewise.
4866 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4867 map(tofrom: sum) clause.
4868 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4869 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4870 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4871 only allowed on the loop iterator.
4872 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4873 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4874 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4875 * testsuite/libgomp.fortran/doacross1.f90: New test.
4876 * testsuite/libgomp.fortran/doacross3.f90: New test.
4877 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4878 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4879 * testsuite/libgomp.fortran/doacross2.f90: New test.
4880 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4881 #pragma omp atomic read.
4882 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4883 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4884
4885 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4886 Nathan Sidwell <nathan@acm.org>
4887
4888 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4889 to determine default geometry.
4890 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4891 dimension.
4892
4893 2016-11-01 Jakub Jelinek <jakub@redhat.com>
4894
4895 * hashtab.h: Use standard GPLv3 with runtime exception
4896 boilerplate.
4897
4898 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
4899
4900 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4901 size when allocating new thread.
4902
4903 2016-09-14 Marek Polacek <polacek@redhat.com>
4904
4905 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4906
4907 2016-08-19 Jakub Jelinek <jakub@redhat.com>
4908
4909 PR fortran/71014
4910 * testsuite/libgomp.fortran/pr71014.f90: New test.
4911
4912 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4913
4914 PR middle-end/70895
4915 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4916 firstprivate clauses.
4917 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4918 copy clauses.
4919 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4920 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4921 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4922 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4923 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4924 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4925 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4926 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4927 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4928 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4929 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4930 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4931
4932 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4933
4934 PR fortran/70598
4935 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4936
4937 2016-08-08 Jakub Jelinek <jakub@redhat.com>
4938
4939 PR c++/58706
4940 * testsuite/libgomp.c++/pr58706.C: New test.
4941
4942 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4943
4944 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4945 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4946 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4947 Likewise.
4948 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4949 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4950 Likewise.
4951 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4952
4953 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4954 test, and don't hardcode -O0.
4955
4956 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4957
4958 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4959
4960 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4961
4962 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4963 test.
4964
4965 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4966
4967 PR middle-end/71734
4968 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4969 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4970
4971 2016-07-01 Jakub Jelinek <jakub@redhat.com>
4972
4973 PR fortran/71717
4974 * testsuite/libgomp.fortran/associate3.f90: New test.
4975
4976 2016-06-17 Jakub Jelinek <jakub@redhat.com>
4977
4978 * testsuite/libgomp.c++/target-21.C: New test.
4979
4980 2016-06-16 Jakub Jelinek <jakub@redhat.com>
4981
4982 * testsuite/libgomp.c++/target-20.C: New test.
4983
4984 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4985 Cesar Philippidis <cesar@codesourcery.com>
4986
4987 PR middle-end/71373
4988 * libgomp.oacc-c/nested-function-1.c: New file.
4989 * libgomp.oacc-c/nested-function-2.c: Likewise.
4990 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4991 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4992 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4993
4994 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4995
4996 PR c/71381
4997 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4998 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4999 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5000
5001 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
5002
5003 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5004 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5005
5006 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
5007
5008 PR c/70688
5009 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
5010
5011 2016-05-26 Jakub Jelinek <jakub@redhat.com>
5012
5013 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5014 instead of invalid schedule(static, 0).
5015 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5016
5017 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5018
5019 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5020 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5021 parameter, use to set async stream around call to gomp_unmap_vars,
5022 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5023 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5024 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5025 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5026 (event_add): Add int parameter, initialize 'val' field when
5027 adding new ptx_event struct.
5028 (nvptx_evec): Adjust event_add() call arguments.
5029 (nvptx_host2dev): Likewise.
5030 (nvptx_dev2host): Likewise.
5031 (nvptx_wait_async): Likewise.
5032 (nvptx_wait_all_async): Likewise.
5033 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5034 pass to event_add() call.
5035 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5036 parameter.
5037 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5038 call openacc.register_async_cleanup_func() hook.
5039 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5040 * target.c (gomp_copy_from_async): Delete function.
5041 (gomp_map_vars): Remove async_refcount.
5042 (gomp_unmap_vars): Likewise.
5043 (gomp_load_image_to_device): Likewise.
5044 (omp_target_associate_ptr): Likewise.
5045 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5046 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5047 (gomp_copy_from_async): Remove.
5048
5049 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
5050
5051 * target.c (gomp_device_copy): New function.
5052 (gomp_copy_host2dev): Likewise.
5053 (gomp_copy_dev2host): Likewise.
5054 (gomp_free_device_memory): Likewise.
5055 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5056 (gomp_map_pointer): Likewise.
5057 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5058 NULL value from alloc_func plugin hook.
5059 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5060 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5061 (gomp_unmap_vars): Likewise.
5062 (gomp_update): Adjust to call gomp_copy_dev2host and
5063 gomp_copy_host2dev functions.
5064 (gomp_unload_image_from_device): Handle false value from
5065 unload_image_func plugin hook.
5066 (gomp_init_device): Handle false value from init_device_func
5067 plugin hook.
5068 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5069 (omp_target_free): Adjust to call gomp_free_device_memory.
5070 (omp_target_memcpy): Handle return values from host2dev_func,
5071 dev2host_func, and dev2dev_func plugin hooks.
5072 (omp_target_memcpy_rect_worker): Likewise.
5073 (gomp_target_fini): Handle false value from fini_device_func
5074 plugin hook.
5075 * libgomp.h (struct gomp_device_descr): Adjust return type of
5076 init_device_func, fini_device_func, unload_image_func, free_func,
5077 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5078 * oacc-init.c (acc_shutdown_1): Handle false value from
5079 fini_device_func plugin hook.
5080 * oacc-host.c (host_init_device): Change return type to bool.
5081 (host_fini_device): Likewise.
5082 (host_unload_image): Likewise.
5083 (host_free): Likewise.
5084 (host_dev2host): Likewise.
5085 (host_host2dev): Likewise.
5086 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5087 (acc_memcpy_to_device): Likewise.
5088 (acc_memcpy_from_device): Likewise.
5089 (delete_copyout): Add libfnname parameter, handle free_func
5090 hook fatal error case.
5091 (acc_delete): Adjust delete_copyout call.
5092 (acc_copyout): Likewise.
5093 (update_dev_host): Move gomp_mutex_unlock to after
5094 host2dev/dev2host hook calls.
5095
5096 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5097 to 'hsa_error_msg', for clarity.
5098 (hsa_fatal): Likewise.
5099 (hsa_error): New function.
5100 (init_hsa_context): Change return type to bool, adjust to return
5101 false on error.
5102 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5103 return value.
5104 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5105 return false on error.
5106 (get_agent_info): Adjust to return NULL on error.
5107 (destroy_hsa_program): Change return type to bool, adjust to
5108 return false on error.
5109 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5110 (destroy_module): Change return type to bool, adjust to
5111 return false on error.
5112 (GOMP_OFFLOAD_unload_image): Likewise.
5113 (GOMP_OFFLOAD_fini_device): Likewise.
5114 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5115 (GOMP_OFFLOAD_free): Change to return false when called.
5116 (GOMP_OFFLOAD_dev2host): Likewise.
5117 (GOMP_OFFLOAD_host2dev): Likewise.
5118 (GOMP_OFFLOAD_dev2dev): Likewise.
5119
5120 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5121 (CUDA_CALL): Likewise.
5122 (CUDA_CALL_ASSERT): Likewise.
5123 (map_init): Change return type to bool, use CUDA_CALL* macros.
5124 (map_fini): Likewise.
5125 (init_streams_for_device): Change return type to bool, adjust
5126 call to map_init.
5127 (fini_streams_for_device): Change return type to bool, adjust
5128 call to map_fini.
5129 (select_stream_for_async): Release stream_lock before calls to
5130 GOMP_PLUGIN_fatal, adjust call to map_init.
5131 (nvptx_init): Use CUDA_CALL* macros.
5132 (nvptx_attach_host_thread_to_device): Change return type to bool,
5133 use CUDA_CALL* macros.
5134 (nvptx_open_device): Use CUDA_CALL* macros.
5135 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5136 macros.
5137 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5138 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5139 (nvptx_exec): Use CUDA_CALL* macros.
5140 (nvptx_alloc): Use CUDA_CALL* macros.
5141 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5142 (nvptx_host2dev): Likewise.
5143 (nvptx_dev2host): Likewise.
5144 (nvptx_wait): Use CUDA_CALL* macros.
5145 (nvptx_wait_async): Likewise.
5146 (nvptx_wait_all): Likewise.
5147 (nvptx_wait_all_async): Likewise.
5148 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5149 use CUDA_CALL* macros, adjust call to map_fini.
5150 (GOMP_OFFLOAD_init_device): Change return type to bool,
5151 adjust code accordingly.
5152 (GOMP_OFFLOAD_fini_device): Likewise.
5153 (GOMP_OFFLOAD_load_image): Adjust calls to
5154 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5155 use CUDA_CALL* macros.
5156 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5157 return code.
5158 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5159 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5160 handle error return.
5161 (GOMP_OFFLOAD_dev2host): Likewise.
5162 (GOMP_OFFLOAD_host2dev): Likewise.
5163 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5164 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5165
5166 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5167
5168 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5169 (acc_free): Likewise.
5170 (acc_memcpy_to_device): Likewise.
5171 (acc_memcpy_from_device): Likewise.
5172 (acc_deviceptr): Likewise.
5173 (acc_hostptr): Likewise.
5174 (acc_is_present): Likewise.
5175 (acc_map_data): Likewise.
5176 (acc_unmap_data): Likewise.
5177 (present_create_copy): Likewise.
5178 (delete_copyout): Likewise.
5179 (update_dev_host): Likewise.
5180 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5181 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5182 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5183 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5184 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5185 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5186 it only runs on nvptx targets.
5187 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5188 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5189 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5190 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5191 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5192 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5193 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5194 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5195 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5196 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5197 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5198 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5199 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5200 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5201 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5202 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5203 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5204 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5205 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5206 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5207 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5208 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5209 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5210
5211 2016-05-23 Martin Jambor <mjambor@suse.cz>
5212
5213 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5214
5215 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5216
5217 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5218 to gomp_init_targets_once.
5219 (acc_set_device_type): Remove !cached_base_dev condition on call to
5220 gomp_init_targets_once, move call to before acc_device_lock acquire,
5221 to avoid deadlock.
5222 (acc_get_device_num): Remove !cached_base_dev condition on call to
5223 gomp_init_targets_once.
5224 (acc_set_device_num): Likewise.
5225
5226 2016-05-16 Martin Jambor <mjambor@suse.cz>
5227
5228 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
5229
5230 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5231
5232 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5233 expected partitioning.
5234
5235 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5236
5237 PR middle-end/70626
5238 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5239 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5240 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5241
5242 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
5243
5244 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5245 non-fatal.
5246
5247 2016-04-19 Jakub Jelinek <jakub@redhat.com>
5248
5249 PR middle-end/70680
5250 * testsuite/libgomp.c/pr70680-1.c: New test.
5251 * testsuite/libgomp.c/pr70680-2.c: New test.
5252
5253 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5254
5255 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5256 pass parameter variables to subroutines.
5257
5258 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5259
5260 PR middle-end/70643
5261 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5262
5263 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5264
5265 PR testsuite/68242
5266 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5267 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5268
5269 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5270
5271 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5272 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5273 GOACC_declare prototype.
5274
5275 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5276 Merge this file, and...
5277 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5278 ... this file, and...
5279 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5280 ... this file, and...
5281 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5282 ... this file, and...
5283 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5284 ... this file, and...
5285 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5286 ... this file, and...
5287 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5288 ... this file, and...
5289 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5290 ... this file, and...
5291 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5292 ... this file, and...
5293 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5294 ... this file, and...
5295 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5296 ... this file, and...
5297 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5298 ... this file, and...
5299 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5300 ... this file into...
5301 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5302 file.
5303
5304 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5305 Make failure observable.
5306
5307 2016-04-12 Jakub Jelinek <jakub@redhat.com>
5308
5309 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5310 field.
5311 * target.c (gomp_target_fallback_firstprivate,
5312 gomp_target_unshare_firstprivate): Removed.
5313 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5314 before waiting for dependencies.
5315 (gomp_target_task_fn): Don't copy firstprivate vars here.
5316 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5317 firstprivate_copies here.
5318 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5319 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5320 explicit/implicit firstprivate.
5321
5322 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5323
5324 PR lto/70289
5325 PR ipa/70348
5326 PR tree-optimization/70373
5327 PR middle-end/70533
5328 PR middle-end/70534
5329 PR middle-end/70535
5330 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5331 test.
5332 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5333 test.
5334 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5335 test.
5336 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5337 test.
5338 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5339 test.
5340 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5341 test.
5342 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5343 test.
5344 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5345 test.
5346 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5347 test.
5348 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5349 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5350 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5351 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5352 test.
5353 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5354 test.
5355 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5356 test.
5357 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5358 test.
5359 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5360 coverage.
5361 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5362 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5363 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5364 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5365 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5366 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5367 coverage.
5368 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5369 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5370 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5371 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5372 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5373 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5374 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5375 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5376 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5377 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5378 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5379 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5380 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5381 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5382 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5383
5384 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5385 James Norris <jnorris@codesourcery.com>
5386 Nathan Sidwell <nathan@codesourcery.com>
5387 Julian Brown <julian@codesourcery.com>
5388 Cesar Philippidis <cesar@codesourcery.com>
5389 Chung-Lin Tang <cltang@codesourcery.com>
5390 Tom de Vries <tom@codesourcery.com>
5391
5392 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5393 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5394 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5395 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5396 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5397 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5398 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5399 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5400 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5401 XFAIL.
5402 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5403 Incorporate...
5404 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5405 file.
5406 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5407 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5408 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5409 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5410 Likewise.
5411 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5412 Likewise.
5413 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5414 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5415 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5416 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5417 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5418 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5419 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5420 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5421 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5422 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5423 Likewise.
5424 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5425 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5426 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5427 file...
5428 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5429 file into...
5430 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5431 file. Update.
5432 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5433 file.
5434 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5435 Likewise.
5436 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5437 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5438 ... this new file. Update.
5439 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5440 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5441 ... this new file. Update.
5442 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5443 file. Incorporate...
5444 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5445 file, and...
5446 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5447 file, and...
5448 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5449 file.
5450 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5451
5452 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5453
5454 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5455 set-torture-options.
5456
5457 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5458
5459 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5460 gcc-dg-runtest.
5461 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5462 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5463 -fno-builtin-acc_on_device instead of -O0.
5464 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5465 -O0.
5466 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5467 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5468 Likewise.
5469 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5470 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5471 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5472 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5473 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5474 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5475 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5476 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5477 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5478 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5479 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5480 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5481 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5482 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5483 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5484 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5485 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5486 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5487 Don't specify -O2.
5488 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5489 Likewise.
5490 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5491 Likewise.
5492
5493 2016-03-24 Martin Liska <mliska@suse.cz>
5494
5495 * plugin/plugin-hsa.c (packet_store_release): New function
5496 that is taken from the HSA runtime manual.
5497 (GOMP_OFFLOAD_run): Use the function.
5498
5499 2016-03-23 Jakub Jelinek <jakub@redhat.com>
5500
5501 PR c++/70376
5502 * testsuite/libgomp.c++/pr70376.C: New test.
5503
5504 2016-03-23 Tom de Vries <tom@codesourcery.com>
5505
5506 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5507 initialization of lresult and lvresult.
5508 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5509
5510 2016-03-23 James Norris <jnorris@codesourcery.com>
5511 Daichi Fukuoka <dc-fukuoka@sgi.com>
5512
5513 PR libgomp/69414
5514 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5515 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5516 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5517 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5518
5519 2016-03-23 Martin Liska <mliska@suse.cz>
5520
5521 PR hsa/70337
5522 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5523 argument just in case a dispatched kernel uses that argument.
5524
5525 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5526
5527 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5528 -ftree-parallelize-loops/-fopenacc changes.
5529 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5530 Likewise.
5531 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5532 Likewise.
5533 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5534 Likewise.
5535 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5536 Likewise.
5537 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5538 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5539
5540 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5541
5542 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5543 always_ld_library_path the path to libgcc_s.
5544
5545 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5546
5547 PR testsuite/70009
5548 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5549
5550 2016-03-09 Tom de Vries <tom@codesourcery.com>
5551
5552 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5553 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5554 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5555 Same.
5556 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5557 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5558 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5559 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5560
5561 2016-03-07 Martin Jambor <mjambor@suse.cz>
5562
5563 * testsuite/lib/libgomp.exp
5564 (check_effective_target_hsa_offloading_selected_nocache): New.
5565 (check_effective_target_hsa_offloading_selected): Likewise.
5566 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5567 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5568 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5569 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5570 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5571 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5572 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5573 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5574 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5575 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5576 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5577 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5578 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5579 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5580 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5581 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5582 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5583
5584 2016-03-07 Martin Jambor <mjambor@suse.cz>
5585
5586 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5587 non-shared memory accelerators.
5588 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5589 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5590 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5591 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5592 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5593 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5594 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5595 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5596 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5597
5598 2016-03-07 Martin Jambor <mjambor@suse.cz>
5599
5600 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5601 ALWAYS_CFLAGS.
5602
5603 2016-03-02 Jakub Jelinek <jakub@redhat.com>
5604
5605 PR libgomp/69555
5606 * testsuite/libgomp.c++/pr69555-1.C: New test.
5607 * testsuite/libgomp.c++/pr69555-2.C: New test.
5608
5609 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5610 Martin Jambor <mjambor@suse.cz>
5611
5612 * testsuite/lib/libgomp.exp
5613 (check_effective_target_offload_device_shared_as): New proc.
5614 * testsuite/libgomp.c++/declare_target-1.C: New test.
5615
5616 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5617
5618 PR driver/68463
5619 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5620
5621 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5622
5623 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5624 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5625 dims.
5626 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5627 -ftree-parallelize-loops/-fopenacc changes.
5628 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5629 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5630 Likewise.
5631 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5632 Likewise.
5633 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5634 Likewise.
5635 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5636 Likewise.
5637 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5638 Likewise.
5639 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5640 Likewise.
5641 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5642 Likewise.
5643 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5644 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5645 Likewise.
5646 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5647 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5648 Likewise.
5649 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5650 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5651 Likewise.
5652
5653 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5654
5655 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5656
5657 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5658
5659 PR driver/69805
5660 * testsuite/libgomp.c/pr69805.c: New test.
5661
5662 2016-02-16 Tom de Vries <tom@codesourcery.com>
5663
5664 PR lto/67709
5665 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5666
5667 2016-02-09 Tom de Vries <tom@codesourcery.com>
5668
5669 PR tree-optimization/69599
5670 * testsuite/libgomp.c/omp-nested-3.c: New test.
5671 * testsuite/libgomp.c/pr46032-2.c: New test.
5672 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5673 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5674
5675 2016-02-09 Tom de Vries <tom@codesourcery.com>
5676
5677 PR lto/69707
5678 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5679
5680 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5681
5682 * testsuite/libgomp.c/target-31.c: Fix testcase.
5683
5684 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5685
5686 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5687 clause.
5688 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5689 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5690 reduction and map clauses.
5691 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5692
5693 2016-02-02 James Norris <jnorris@codesourcery.com>
5694
5695 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5696
5697 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5698
5699 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5700 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5701
5702 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5703 cases.
5704
5705 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5706 variables.
5707 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5708 (hsa_kmt_lib): Set variables.
5709 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5710 always_ld_library_path.
5711 * Makefile.in: Regenerate.
5712 * configure: Likewise.
5713 * testsuite/Makefile.in: Likewise.
5714
5715 * plugin/configfrag.ac (offload_additional_options)
5716 (offload_additional_lib_paths): Don't amend for hsa offloading.
5717 * configure: Regenerate.
5718
5719 * plugin/configfrag.ac: Don't configure for offloading target if
5720 we don't build the corresponding plugin.
5721 * configure: Regenerate.
5722
5723 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5724
5725 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5726 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5727
5728 2016-01-26 Tom de Vries <tom@codesourcery.com>
5729
5730 PR tree-optimization/69110
5731 * testsuite/libgomp.c/pr69110.c: New test.
5732
5733 2016-01-25 Richard Biener <rguenther@suse.de>
5734
5735 PR lto/69393
5736 * testsuite/libgomp.c++/pr69393.C: New testcase.
5737
5738 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5739
5740 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5741 function wasn't mapped to the device with non-shared memory.
5742
5743 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5744
5745 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5746
5747 2016-01-19 Martin Jambor <mjambor@suse.cz>
5748 Martin Liska <mliska@suse.cz>
5749
5750 * plugin/Makefrag.am: Add HSA plugin requirements.
5751 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5752 (HSA_RUNTIME_LIB): Likewise.
5753 (HSA_RUNTIME_CPPFLAGS): Likewise.
5754 (HSA_RUNTIME_INCLUDE): New substitution.
5755 (HSA_RUNTIME_LIB): Likewise.
5756 (HSA_RUNTIME_LDFLAGS): Likewise.
5757 (hsa-runtime): New configure option.
5758 (hsa-runtime-include): Likewise.
5759 (hsa-runtime-lib): Likewise.
5760 (PLUGIN_HSA): New substitution variable.
5761 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5762 configure options.
5763 (PLUGIN_HSA_CPPFLAGS): Likewise.
5764 (PLUGIN_HSA_LDFLAGS): Likewise.
5765 (PLUGIN_HSA_LIBS): Likewise.
5766 Check that we have access to HSA run-time.
5767 * libgomp-plugin.h (offload_target_type): New element
5768 OFFLOAD_TARGET_TYPE_HSA.
5769 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5770 args.
5771 (bool gomp_create_target_task): Updated.
5772 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5773 new field can_run_func.
5774 * libgomp_g.h (GOMP_target_ext): Update prototype.
5775 * oacc-host.c (host_run): Added a new parameter args.
5776 * target.c (calculate_firstprivate_requirements): New function.
5777 (copy_firstprivate_data): Likewise.
5778 (gomp_target_fallback_firstprivate): Use them.
5779 (gomp_target_unshare_firstprivate): New function.
5780 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5781 devices.
5782 (GOMP_target): Do host fallback for all shared memory devices. Do not
5783 pass any args to plugins.
5784 (GOMP_target_ext): Introduce device-specific argument parameter args.
5785 Allow host fallback if device shares memory. Do not remap data if
5786 device has shared memory.
5787 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5788 like host fallback for mappings.
5789 (GOMP_target_data): Treat shared memory devices like host fallback.
5790 (GOMP_target_data_ext): Likewise.
5791 (GOMP_target_update): Likewise.
5792 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5793 gomp_create_target_task.
5794 (GOMP_target_enter_exit_data): Likewise.
5795 (omp_target_alloc): Treat shared memory devices like host fallback.
5796 (omp_target_free): Likewise.
5797 (omp_target_is_present): Likewise.
5798 (omp_target_memcpy): Likewise.
5799 (omp_target_memcpy_rect): Likewise.
5800 (omp_target_associate_ptr): Likewise.
5801 (gomp_load_plugin_for_device): Also load can_run.
5802 * task.c (GOMP_PLUGIN_target_task_completion): Free
5803 firstprivate_copies.
5804 (gomp_create_target_task): Accept new argument args and store it to
5805 ttask.
5806 * plugin/plugin-hsa.c: New file.
5807
5808 2016-01-18 Tom de Vries <tom@codesourcery.com>
5809
5810 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5811 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5812 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5813 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5814 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5815 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5816 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5817 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5818 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5819 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5820 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5821 Same.
5822 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5823 Same.
5824 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5825 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5826 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5827 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5828 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5829 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5830 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5831 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5832 Same.
5833 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5834
5835 2016-01-15 Jakub Jelinek <jakub@redhat.com>
5836
5837 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5838
5839 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5840
5841 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5842
5843 2016-01-12 James Norris <jnorris@codesourcery.com>
5844
5845 * libgomp.texi: Updates for OpenACC.
5846
5847 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
5848
5849 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5850
5851 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5852
5853 PR fortran/66680
5854 * testsuite/libgomp.fortran/pr66680.f90: New test.
5855
5856 2016-01-07 Jakub Jelinek <jakub@redhat.com>
5857
5858 PR middle-end/68960
5859 * testsuite/libgomp.c/pr68960.c: New test.
5860
5861 2016-01-06 Nathan Sidwell <nathan@acm.org>
5862
5863 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
5864 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5865
5866 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5867
5868 Update copyright years.
5869
5870 * libgomp.texi: Bump @copying's copyright year.
5871
5872 2015-12-31 Nathan Sidwell <nathan@acm.org>
5873
5874 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5875 dg-additional-options syntax.
5876 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5877 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5878 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5879 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5880 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5881 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5882 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5883 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5884 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5885 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5886 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5887 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5888 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5889 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5890 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5891 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5892 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5893 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5894
5895 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5896
5897 * libgomp.h (REFCOUNT_LINK): Define.
5898 (struct splay_tree_key_s): Add link_key.
5899 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5900 Replace target address of the pointer with target address of newly
5901 mapped object in the splay tree. Set link pointer on target to the
5902 device address of the mapped object.
5903 (gomp_unmap_vars): Restore target address of the pointer in the splay
5904 tree for REFCOUNT_LINK objects after unmapping.
5905 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5906 declare target link" objects.
5907 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5908 "omp declare target link" objects, which were mapped for the image.
5909 (gomp_exit_data): Restore target address of the pointer in the splay
5910 tree for REFCOUNT_LINK objects after unmapping.
5911 * testsuite/libgomp.c/target-link-1.c: New file.
5912
5913 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5914
5915 * libgomp.h (gomp_device_state): New enum.
5916 (struct gomp_device_descr): Replace is_initialized with state.
5917 (gomp_fini_device): Remove declaration.
5918 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5919 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5920 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5921 (acc_set_device_type): Use state instead of is_initialized.
5922 (acc_set_device_num): Likewise.
5923 * target.c (resolve_device): Use state instead of is_initialized.
5924 Do not initialize finalized device.
5925 (gomp_map_vars): Do nothing if device is finalized.
5926 (gomp_unmap_vars): Likewise.
5927 (gomp_update): Likewise.
5928 (GOMP_offload_register_ver): Use state instead of is_initialized.
5929 (GOMP_offload_unregister_ver): Likewise.
5930 (gomp_init_device): Likewise.
5931 (gomp_unload_device): Likewise.
5932 (gomp_fini_device): Remove.
5933 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5934 (GOMP_target): Go to host fallback if device is finalized.
5935 (GOMP_target_ext): Likewise.
5936 (gomp_exit_data): Do nothing if device is finalized.
5937 (gomp_target_task_fn): Go to host fallback if device is finalized.
5938 (gomp_target_fini): New static function.
5939 (gomp_target_init): Use state instead of is_initialized.
5940 Call gomp_target_fini at exit.
5941
5942 2015-12-09 Tom de Vries <tom@codesourcery.com>
5943
5944 PR tree-optimization/68716
5945 * testsuite/libgomp.c/omp-nested-2.c: New test.
5946
5947 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5948
5949 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5950 target openacc_nvidia_accel_selected.
5951 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5952 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5953 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5954 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5955
5956 2015-12-01 Julian Brown <julian@codesourcery.com>
5957 James Norris <James_Norris@mentor.com>
5958
5959 * oacc-parallel.c (GOACC_host_data): New function.
5960 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5961 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5962 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5963 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5964 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5965 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5966 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5967
5968 2015-11-30 James Norris <jnorris@codesourcery.com>
5969 Cesar Philippidis <cesar@codesourcery.com>
5970
5971 libgomp/
5972 * libgomp.oacc-fortran/routine-5.f90: New test.
5973 * libgomp.oacc-fortran/routine-7.f90: New test.
5974 * libgomp.oacc-fortran/routine-9.f90: New test.
5975
5976 2015-11-30 Tom de Vries <tom@codesourcery.com>
5977
5978 PR tree-optimization/46032
5979 * testsuite/libgomp.c/pr46032.c: New test.
5980
5981 2015-11-27 Jakub Jelinek <jakub@redhat.com>
5982
5983 PR libgomp/68579
5984 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5985 (gomp_create_target_task): Call it before freeing
5986 GOMP_TARGET_TASK_DATA tasks.
5987
5988 PR c/63326
5989 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5990 in between case label and OpenMP standalone directives.
5991 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5992
5993 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
5994
5995 * configure: Regenerate.
5996
5997 2015-11-26 Jakub Jelinek <jakub@redhat.com>
5998
5999 * testsuite/libgomp.c/target-35.c: New test.
6000
6001 2015-11-22 James Norris <jnorris@codesourcery.com>
6002 Cesar Philippidis <cesar@codesourcery.com>
6003
6004 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6005 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6006 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6007 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6008 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6009
6010 2015-11-20 Jakub Jelinek <jakub@redhat.com>
6011
6012 PR middle-end/68221
6013 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6014 * testsuite/libgomp.c/reduction-12.c: Likewise.
6015 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6016 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6017
6018 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
6019
6020 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6021 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6022 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6023 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6024 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6025 and fix.
6026 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6027 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6028
6029 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
6030
6031 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6032 worker & gang cases.
6033 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6034
6035 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
6036
6037 * config/nvptx/priority_queue.c: New file.
6038
6039 2015-11-14 Jakub Jelinek <jakub@redhat.com>
6040
6041 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6042 sections.
6043
6044 2015-11-14 Jakub Jelinek <jakub@redhat.com>
6045 Aldy Hernandez <aldyh@redhat.com>
6046 Ilya Verbin <ilya.verbin@intel.com>
6047
6048 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6049 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6050 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6051 iterators or IV by chunk size.
6052 * parallel.c (gomp_resolve_num_threads): Don't assume that
6053 if thr->ts.team is non-NULL, then pool must be non-NULL.
6054 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6055 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6056 GOMP_PLUGIN_target_task_completion.
6057 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6058 * Makefile.in: Regenerate.
6059 * libgomp.h: Shuffle prototypes and forward definitions around so
6060 priority queues can be defined.
6061 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6062 (enum gomp_target_task_state): New enum.
6063 (struct gomp_target_task): Add state, tgt, task and team fields.
6064 (gomp_create_target_task): Change return type to bool, add
6065 state argument.
6066 (gomp_target_task_fn): Change return type to bool.
6067 (struct gomp_device_descr): Add async_run_func.
6068 (struct gomp_task): Remove children, next_child, prev_child,
6069 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6070 Add pnode field.
6071 (struct gomp_taskgroup): Remove children.
6072 Add taskgroup_queue.
6073 (struct gomp_team): Change task_queue type to a priority queue.
6074 (splay_compare): Define inline.
6075 (priority_queue_offset): New.
6076 (priority_node_to_task): New.
6077 (task_to_priority_node): New.
6078 * oacc-mem.c: Do not include splay-tree.h.
6079 * priority_queue.c: New file.
6080 * priority_queue.h: New file.
6081 * splay-tree.c: Do not include splay-tree.h.
6082 (splay_tree_foreach_internal): New.
6083 (splay_tree_foreach): New.
6084 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6085 (splay_tree_callback): Define typedef.
6086 * target.c (splay_compare): Move to libgomp.h.
6087 (GOMP_target): Don't adjust *thr in any way around running offloaded
6088 task.
6089 (GOMP_target_ext): Likewise. Handle target nowait.
6090 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6091 return value from gomp_create_target_task, if false, fallthrough
6092 as if no dependencies exist.
6093 (gomp_target_task_fn): Change return type to bool, return true
6094 if the task should have another part scheduled later. Handle
6095 target nowait.
6096 (gomp_load_plugin_for_device): Initialize async_run.
6097 * task.c (gomp_init_task): Initialize children_queue.
6098 (gomp_clear_parent_in_list): New.
6099 (gomp_clear_parent_in_tree): New.
6100 (gomp_clear_parent): Handle priorities.
6101 (GOMP_task): Likewise.
6102 (priority_queue_move_task_first,
6103 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6104 New functions.
6105 (gomp_create_target_task): Use priority queues. Change return type
6106 to bool, add state argument, return false if for async
6107 {{enter,exit} data,update} constructs no dependencies need to be
6108 waited for, handle target nowait. Set task->fn to NULL instead of
6109 gomp_target_task_fn.
6110 (verify_children_queue): Remove.
6111 (priority_list_upgrade_task): New.
6112 (priority_queue_upgrade_task): New.
6113 (verify_task_queue): Remove.
6114 (priority_list_downgrade_task): New.
6115 (priority_queue_downgrade_task): New.
6116 (gomp_task_run_pre): Use priority queues.
6117 Abstract code out to priority_queue_downgrade_task.
6118 (gomp_task_run_post_handle_dependers): Use priority queues.
6119 (gomp_task_run_post_remove_parent): Likewise.
6120 (gomp_task_run_post_remove_taskgroup): Likewise.
6121 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6122 tasks specially.
6123 (GOMP_taskwait): Likewise.
6124 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6125 priority-queue_upgrade_task.
6126 (GOMP_taskgroup_start): Use priority queues.
6127 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6128 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6129 barrier.
6130 * taskloop.c (GOMP_taskloop): Handle priorities.
6131 * team.c (gomp_new_team): Call priority_queue_init.
6132 (free_team): Call priority_queue_free.
6133 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6134 team created for target nowait in implicit parallel region.
6135 (gomp_team_start): For nested check, test thr->ts.level instead of
6136 thr->ts.team != NULL.
6137 * testsuite/libgomp.c/doacross-3.c: New test.
6138 * testsuite/libgomp.c/ordered-5.c: New test.
6139 * testsuite/libgomp.c/priority.c: New test.
6140 * testsuite/libgomp.c/target-31.c: New test.
6141 * testsuite/libgomp.c/target-32.c: New test.
6142 * testsuite/libgomp.c/target-33.c: New test.
6143 * testsuite/libgomp.c/target-34.c: New test.
6144
6145 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6146
6147 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6148
6149 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6150 loop is sequential.
6151
6152 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6153
6154 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6155 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6156
6157 2015-11-12 James Norris <jnorris@codesourcery.com>
6158 Joseph Myers <joseph@codesourcery.com>
6159
6160 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6161 * oacc-parallel.c (GOACC_declare): New function.
6162 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6163 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6166 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6167
6168 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6169
6170 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6171
6172 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6173
6174 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6175 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6176
6177 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6178
6179 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6180 inadvertent commit.
6181
6182 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6183
6184 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6185 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6186 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6187 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6188 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6189
6190 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6191
6192 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6193 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6194
6195 2015-11-05 Jakub Jelinek <jakub@redhat.com>
6196 Ilya Verbin <ilya.verbin@intel.com>
6197
6198 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6199 GOMP_loop_nonmonotonic_dynamic_start,
6200 GOMP_loop_nonmonotonic_guided_next,
6201 GOMP_loop_nonmonotonic_guided_start,
6202 GOMP_loop_ull_nonmonotonic_dynamic_next,
6203 GOMP_loop_ull_nonmonotonic_dynamic_start,
6204 GOMP_loop_ull_nonmonotonic_guided_next,
6205 GOMP_loop_ull_nonmonotonic_guided_start,
6206 GOMP_parallel_loop_nonmonotonic_dynamic,
6207 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6208 (GOMP_target_41): Renamed to ...
6209 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6210 arguments.
6211 (GOMP_target_data_41): Renamed to ...
6212 (GOMP_target_data_ext): ... this.
6213 (GOMP_target_update_41): Renamed to ...
6214 (GOMP_target_update_ext): ... this.
6215 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6216 GOMP_target_data_ext and GOMP_target_update_ext instead of
6217 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6218 Export GOMP_loop_nonmonotonic_dynamic_next,
6219 GOMP_loop_nonmonotonic_dynamic_start,
6220 GOMP_loop_nonmonotonic_guided_next,
6221 GOMP_loop_nonmonotonic_guided_start,
6222 GOMP_loop_ull_nonmonotonic_dynamic_next,
6223 GOMP_loop_ull_nonmonotonic_dynamic_start,
6224 GOMP_loop_ull_nonmonotonic_guided_next,
6225 GOMP_loop_ull_nonmonotonic_guided_start,
6226 GOMP_parallel_loop_nonmonotonic_dynamic and
6227 GOMP_parallel_loop_nonmonotonic_guided.
6228 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6229 GOMP_parallel_loop_nonmonotonic_guided,
6230 GOMP_loop_nonmonotonic_dynamic_start,
6231 GOMP_loop_nonmonotonic_guided_start,
6232 GOMP_loop_nonmonotonic_dynamic_next,
6233 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6234 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6235 GOMP_loop_ull_nonmonotonic_guided_start,
6236 GOMP_loop_ull_nonmonotonic_dynamic_next,
6237 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6238 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6239 functions.
6240 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6241 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6242 Use gomp_map_val function.
6243 (gomp_target_fallback_firstprivate): New static function.
6244 (GOMP_target_41): Renamed to ...
6245 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6246 arguments. Move firstprivate fallback handling into a new
6247 function.
6248 (GOMP_target_data_41): Renamed to ...
6249 (GOMP_target_data_ext): ... this.
6250 (GOMP_target_update_41): Renamed to ...
6251 (GOMP_target_update_ext): ... this.
6252 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6253 gomp_map_0len_lookup instead of gomp_map_lookup.
6254 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6255 gomp_map_lookup.
6256 * testsuite/libgomp.c/target-28.c: Likewise.
6257 * testsuite/libgomp.c/monotonic-1.c: New test.
6258 * testsuite/libgomp.c/monotonic-2.c: New test.
6259 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6260 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6261 * testsuite/libgomp.c/pr66199-5.c: New test.
6262 * testsuite/libgomp.c/pr66199-6.c: New test.
6263 * testsuite/libgomp.c/pr66199-7.c: New test.
6264 * testsuite/libgomp.c/pr66199-8.c: New test.
6265 * testsuite/libgomp.c/pr66199-9.c: New test.
6266 * testsuite/libgomp.c/reduction-11.c: New test.
6267 * testsuite/libgomp.c/reduction-12.c: New test.
6268 * testsuite/libgomp.c/reduction-13.c: New test.
6269 * testsuite/libgomp.c/reduction-14.c: New test.
6270 * testsuite/libgomp.c/reduction-15.c: New test.
6271 * testsuite/libgomp.c/target-12.c (main): Adjust for
6272 omp_target_is_present change for one-past-last element.
6273 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6274 the same var is both mapped and privatized.
6275 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6276 handling of zero-length array sections.
6277 * testsuite/libgomp.c/target-28.c: New test.
6278 * testsuite/libgomp.c/target-29.c: New test.
6279 * testsuite/libgomp.c/target-30.c: New test.
6280 * testsuite/libgomp.c/target-teams-1.c: New test.
6281 * testsuite/libgomp.c++/member-6.C: New test.
6282 * testsuite/libgomp.c++/member-7.C: New test.
6283 * testsuite/libgomp.c++/monotonic-1.C: New test.
6284 * testsuite/libgomp.c++/monotonic-2.C: New test.
6285 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6286 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6287 * testsuite/libgomp.c++/pr66199-3.C: New test.
6288 * testsuite/libgomp.c++/pr66199-4.C: New test.
6289 * testsuite/libgomp.c++/pr66199-5.C: New test.
6290 * testsuite/libgomp.c++/pr66199-6.C: New test.
6291 * testsuite/libgomp.c++/pr66199-7.C: New test.
6292 * testsuite/libgomp.c++/pr66199-8.C: New test.
6293 * testsuite/libgomp.c++/pr66199-9.C: New test.
6294 * testsuite/libgomp.c++/reduction-11.C: New test.
6295 * testsuite/libgomp.c++/reduction-12.C: New test.
6296 * testsuite/libgomp.c++/target-13.C: New test.
6297 * testsuite/libgomp.c++/target-14.C: New test.
6298 * testsuite/libgomp.c++/target-15.C: New test.
6299 * testsuite/libgomp.c++/target-16.C: New test.
6300 * testsuite/libgomp.c++/target-17.C: New test.
6301 * testsuite/libgomp.c++/target-18.C: New test.
6302 * testsuite/libgomp.c++/target-19.C: New test.
6303
6304 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6305
6306 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6307 and reduction copy.
6308 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6309 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6310 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6311 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6312 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6313 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6314 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6315 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6316 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6317 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6318 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6319 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6320 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6321 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6322
6323 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6324
6325 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6326 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6327 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6328 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6329 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6330 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6331 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6332 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6333
6334 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6335
6336 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6337 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6338 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6339 * oacc-host.c (host_openacc_exec): Likewise.
6340 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6341
6342 2015-11-03 Julian Brown <julian@codesourcery.com>
6343 Thomas Schwinge <thomas@codesourcery.com>
6344
6345 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6346 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6347 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6348 Likewise.
6349 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6350 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6351
6352 2015-11-03 James Norris <jnorris@codesourcery.com>
6353
6354 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6355 file.
6356 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6357 Likewise.
6358 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6359 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6360 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6361 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6362 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6363
6364 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6365
6366 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6367 compatibility.
6368 (enum acc_async_t): Reformat.
6369 (acc_on_device): Declare compatible with builtin and provide C++
6370 wrapper.
6371 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6372
6373 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6374 Cesar Philippidis <cesar@codesourcery.com>
6375
6376 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6377 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6378 ... this. Add a description of the test at the top of the file.
6379 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6380 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6381 ... this. Add a description of the test at the top of the file.
6382
6383 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6384
6385 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6386 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6387 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6388 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6389 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6390 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6391
6392 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6393
6394 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6395 dimensions.
6396
6397 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6398
6399 PR testsuite/68063
6400 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6401
6402 2015-10-27 James Norris <jnorris@codesourcery.com>
6403
6404 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6405 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6406
6407 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6408
6409 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6410 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6411
6412 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6413 acc_device_nvidia usage.
6414 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6415 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6416 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6417
6418 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6419 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6420
6421 PR libgomp/66518
6422 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6423
6424 PR libgomp/65437
6425 PR libgomp/66518
6426 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6427 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6428
6429 2015-10-23 Tom de Vries <tom@codesourcery.com>
6430
6431 PR testsuite/68063
6432 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6433
6434 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6435
6436 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6437 vector_length.
6438 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6439
6440 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6441 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6442
6443 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6444 to 0 when mapnum is 0.
6445
6446 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6447
6448 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6449 Cast to int from int32_t.
6450
6451 2015-10-13 Jakub Jelinek <jakub@redhat.com>
6452 Aldy Hernandez <aldyh@redhat.com>
6453 Ilya Verbin <ilya.verbin@intel.com>
6454
6455 * config/linux/affinity.c (omp_get_place_num_procs,
6456 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6457 * config/linux/doacross.h: New file.
6458 * config/posix/affinity.c (omp_get_place_num_procs,
6459 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6460 * config/posix/doacross.h: New file.
6461 * env.c: Include gomp-constants.h.
6462 (struct gomp_task_icv): Rename run_sched_modifier to
6463 run_sched_chunk_size.
6464 (gomp_max_task_priority_var): New variable.
6465 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6466 (handle_omp_display_env): Change _OPENMP value from 201307 to
6467 201511. Print OMP_MAX_TASK_PRIORITY.
6468 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6469 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6470 chunk_size and run_sched_modifier to run_sched_chunk_size.
6471 (omp_get_max_task_priority, omp_get_initial_device,
6472 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6473 omp_get_partition_place_nums): New functions.
6474 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6475 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6476 to chunk_size.
6477 (omp_get_num_places_, omp_get_place_num_procs_,
6478 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6479 omp_get_place_proc_ids_8_, omp_get_place_num_,
6480 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6481 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6482 omp_get_max_task_priority_): New functions.
6483 * libgomp_g.h (GOMP_loop_doacross_static_start,
6484 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6485 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6486 GOMP_loop_ull_doacross_dynamic_start,
6487 GOMP_loop_ull_doacross_guided_start,
6488 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6489 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6490 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6491 GOMP_target_data_41, GOMP_target_update_41,
6492 GOMP_target_enter_exit_data): New prototypes.
6493 (GOMP_task): Add prototype argument.
6494 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6495 (struct gomp_doacross_work_share): New type.
6496 (struct gomp_work_share): Add doacross field.
6497 (struct gomp_task_icv): Rename run_sched_modifier to
6498 run_sched_chunk_size.
6499 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6500 GOMP_TASK_UNDEFERRED. Add comments.
6501 (struct gomp_task_depend_entry): Add comments.
6502 (struct gomp_task): Likewise.
6503 (struct gomp_taskgroup): Likewise.
6504 (struct gomp_target_task): New type.
6505 (struct gomp_team): Add comment.
6506 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6507 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6508 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6509 (struct target_var_desc): New type.
6510 (struct target_mem_desc): Adjust comment. Use struct
6511 target_var_desc instead of splay_tree_key for list.
6512 (REFCOUNT_INFINITY): Define.
6513 (struct splay_tree_key_s): Remove copy_from field.
6514 (struct gomp_device_descr): Add dev2dev_func field.
6515 (enum gomp_map_vars_kind): New enum.
6516 (gomp_map_vars): Add one argument.
6517 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6518 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6519 omp_get_place_num_procs, omp_get_place_num_procs_,
6520 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6521 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6522 omp_get_place_num_, omp_get_partition_num_places,
6523 omp_get_partition_num_places_, omp_get_partition_place_nums,
6524 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6525 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6526 omp_target_free, omp_target_is_present, omp_target_memcpy,
6527 omp_target_memcpy_rect, omp_target_associate_ptr and
6528 omp_target_disassociate_ptr.
6529 (GOMP_4.0.2): Renamed to ...
6530 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6531 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6532 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6533 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6534 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6535 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6536 GOMP_loop_ull_doacross_guided_start,
6537 GOMP_loop_ull_doacross_runtime_start,
6538 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6539 GOMP_doacross_ull_wait.
6540 * libgomp.texi: Document omp_get_max_task_priority.
6541 Rename modifier argument to chunk_size for omp_set_schedule and
6542 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6543 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6544 to run_sched_chunk_size renaming.
6545 (GOMP_loop_ordered_runtime_start): Likewise.
6546 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6547 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6548 GOMP_parallel_loop_runtime_start): New functions.
6549 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6550 to run_sched_chunk_size renaming.
6551 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6552 GOMP_loop_doacross_guided_start): New functions or aliases.
6553 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6554 run_sched_modifier to run_sched_chunk_size renaming.
6555 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6556 (gomp_loop_ull_doacross_static_start,
6557 gomp_loop_ull_doacross_dynamic_start,
6558 gomp_loop_ull_doacross_guided_start,
6559 GOMP_loop_ull_doacross_runtime_start): New functions.
6560 (GOMP_loop_ull_doacross_static_start,
6561 GOMP_loop_ull_doacross_dynamic_start,
6562 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6563 * oacc-mem.c (acc_map_data, present_create_copy,
6564 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6565 to gomp_map_vars.
6566 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6567 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6568 instead of false to gomp_map_vars.
6569 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6570 * omp.h.in (omp_lock_hint_t): New type.
6571 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6572 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6573 omp_get_place_num, omp_get_partition_num_places,
6574 omp_get_partition_place_nums, omp_get_initial_device,
6575 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6576 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6577 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6578 prototypes.
6579 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6580 (omp_lock_hint_none, omp_lock_hint_uncontended,
6581 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6582 omp_lock_hint_speculative): New parameters.
6583 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6584 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6585 omp_get_place_num, omp_get_partition_num_places,
6586 omp_get_partition_place_nums, omp_get_initial_device,
6587 omp_get_max_task_priority): New interfaces.
6588 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6589 to chunk_size.
6590 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6591 (omp_lock_hint_none, omp_lock_hint_uncontended,
6592 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6593 omp_lock_hint_speculative): New parameters.
6594 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6595 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6596 omp_get_place_num, omp_get_partition_num_places,
6597 omp_get_partition_place_nums, omp_get_initial_device,
6598 omp_get_max_task_priority): New functions and subroutines.
6599 * ordered.c: Include stdarg.h and string.h.
6600 (MAX_COLLAPSED_BITS): Define.
6601 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6602 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6603 GOMP_doacross_ull_wait): New functions.
6604 * target.c: Include errno.h.
6605 (resolve_device): If device is not initialized, call
6606 gomp_init_device on it.
6607 (gomp_map_lookup): New function.
6608 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6609 Don't bump refcount if REFCOUNT_INFINITY. Handle
6610 GOMP_MAP_ALWAYS_TO_P.
6611 (get_kind): Rename is_openacc argument to short_mapkind.
6612 (gomp_map_pointer): Use gomp_map_lookup.
6613 (gomp_map_fields_existing): New function.
6614 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6615 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6616 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6617 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6618 Adjust for tgt->list changed type and copy_from living in there.
6619 (gomp_copy_from_async): Adjust for tgt->list changed type and
6620 copy_from living in there.
6621 (gomp_unmap_vars): Likewise.
6622 (gomp_update): Likewise. Rename is_openacc argument to
6623 short_mapkind. Don't fail if object is not mapped.
6624 (gomp_load_image_to_device): Initialize refcount to
6625 REFCOUNT_INFINITY.
6626 (gomp_target_fallback): New function.
6627 (gomp_get_target_fn_addr): Likewise.
6628 (GOMP_target): Adjust gomp_map_vars caller, use
6629 gomp_get_target_fn_addr and gomp_target_fallback.
6630 (GOMP_target_41): New function.
6631 (gomp_target_data_fallback): New function.
6632 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6633 (GOMP_target_data_41): New function.
6634 (GOMP_target_update): Adjust gomp_update caller.
6635 (GOMP_target_update_41): New function.
6636 (gomp_exit_data, GOMP_target_enter_exit_data,
6637 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6638 omp_target_is_present, omp_target_memcpy,
6639 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6640 omp_target_associate_ptr, omp_target_disassociate_ptr,
6641 gomp_load_plugin_for_device): New functions.
6642 * task.c: Include gomp-constants.h. Include taskloop.c
6643 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6644 (gomp_task_handle_depend): New function.
6645 (GOMP_task): Use it. Add priority argument. Use
6646 gomp-constant.h constants instead of hardcoded numbers.
6647 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6648 (gomp_create_target_task): New function.
6649 (verify_children_queue, verify_taskgroup_queue,
6650 verify_task_queue): New functions.
6651 (gomp_task_run_pre): Call verify_*_queue functions.
6652 If an upcoming tied task is about to leave the sibling or
6653 taskgroup queues in an invalid state, adjust appropriately.
6654 Remove taskgroup argument. Add comments.
6655 (gomp_task_run_post_handle_dependers): Add comments.
6656 (gomp_task_run_post_remove_parent): Likewise.
6657 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6658 (GOMP_taskwait): Likewise. Add comments.
6659 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6660 problem such that the first non parent_depends_on task does not
6661 end up at the end of the children queue.
6662 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6663 GOMP_TASK_UNDEFERRED.
6664 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6665 * taskloop.c: New file.
6666 * testsuite/lib/libgomp.exp
6667 (check_effective_target_offload_device_nonshared_as): New proc.
6668 * testsuite/libgomp.c/affinity-2.c: New test.
6669 * testsuite/libgomp.c/doacross-1.c: New test.
6670 * testsuite/libgomp.c/doacross-2.c: New test.
6671 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6672 Add map clause to target.
6673 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6674 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6675 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6676 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6677 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6678 Likewise.
6679 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6680 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6681 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6682 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6683 not defined. Use those where needed.
6684 * testsuite/libgomp.c/for-4.c: New test.
6685 * testsuite/libgomp.c/for-5.c: New test.
6686 * testsuite/libgomp.c/for-6.c: New test.
6687 * testsuite/libgomp.c/linear-1.c: New test.
6688 * testsuite/libgomp.c/ordered-4.c: New test.
6689 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6690 only allowed on the loop iterator.
6691 * testsuite/libgomp.c/pr66199-3.c: New test.
6692 * testsuite/libgomp.c/pr66199-4.c: New test.
6693 * testsuite/libgomp.c/reduction-7.c: New test.
6694 * testsuite/libgomp.c/reduction-8.c: New test.
6695 * testsuite/libgomp.c/reduction-9.c: New test.
6696 * testsuite/libgomp.c/reduction-10.c: New test.
6697 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6698 map(tofrom:s).
6699 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6700 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6701 * testsuite/libgomp.c/target-11.c: New test.
6702 * testsuite/libgomp.c/target-12.c: New test.
6703 * testsuite/libgomp.c/target-13.c: New test.
6704 * testsuite/libgomp.c/target-14.c: New test.
6705 * testsuite/libgomp.c/target-15.c: New test.
6706 * testsuite/libgomp.c/target-16.c: New test.
6707 * testsuite/libgomp.c/target-17.c: New test.
6708 * testsuite/libgomp.c/target-18.c: New test.
6709 * testsuite/libgomp.c/target-19.c: New test.
6710 * testsuite/libgomp.c/target-20.c: New test.
6711 * testsuite/libgomp.c/target-21.c: New test.
6712 * testsuite/libgomp.c/target-22.c: New test.
6713 * testsuite/libgomp.c/target-23.c: New test.
6714 * testsuite/libgomp.c/target-24.c: New test.
6715 * testsuite/libgomp.c/target-25.c: New test.
6716 * testsuite/libgomp.c/target-26.c: New test.
6717 * testsuite/libgomp.c/target-27.c: New test.
6718 * testsuite/libgomp.c/taskloop-1.c: New test.
6719 * testsuite/libgomp.c/taskloop-2.c: New test.
6720 * testsuite/libgomp.c/taskloop-3.c: New test.
6721 * testsuite/libgomp.c/taskloop-4.c: New test.
6722 * testsuite/libgomp.c++/ctor-13.C: New test.
6723 * testsuite/libgomp.c++/doacross-1.C: New test.
6724 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6725 Replace offload_device with offload_device_nonshared_as.
6726 * testsuite/libgomp.c++/for-12.C: New test.
6727 * testsuite/libgomp.c++/for-13.C: New test.
6728 * testsuite/libgomp.c++/for-14.C: New test.
6729 * testsuite/libgomp.c++/linear-1.C: New test.
6730 * testsuite/libgomp.c++/member-1.C: New test.
6731 * testsuite/libgomp.c++/member-2.C: New test.
6732 * testsuite/libgomp.c++/member-3.C: New test.
6733 * testsuite/libgomp.c++/member-4.C: New test.
6734 * testsuite/libgomp.c++/member-5.C: New test.
6735 * testsuite/libgomp.c++/ordered-1.C: New test.
6736 * testsuite/libgomp.c++/reduction-5.C: New test.
6737 * testsuite/libgomp.c++/reduction-6.C: New test.
6738 * testsuite/libgomp.c++/reduction-7.C: New test.
6739 * testsuite/libgomp.c++/reduction-8.C: New test.
6740 * testsuite/libgomp.c++/reduction-9.C: New test.
6741 * testsuite/libgomp.c++/reduction-10.C: New test.
6742 * testsuite/libgomp.c++/reference-1.C: New test.
6743 * testsuite/libgomp.c++/simd14.C: New test.
6744 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6745 * testsuite/libgomp.c++/target-5.C: New test.
6746 * testsuite/libgomp.c++/target-6.C: New test.
6747 * testsuite/libgomp.c++/target-7.C: New test.
6748 * testsuite/libgomp.c++/target-8.C: New test.
6749 * testsuite/libgomp.c++/target-9.C: New test.
6750 * testsuite/libgomp.c++/target-10.C: New test.
6751 * testsuite/libgomp.c++/target-11.C: New test.
6752 * testsuite/libgomp.c++/target-12.C: New test.
6753 * testsuite/libgomp.c++/taskloop-1.C: New test.
6754 * testsuite/libgomp.c++/taskloop-2.C: New test.
6755 * testsuite/libgomp.c++/taskloop-3.C: New test.
6756 * testsuite/libgomp.c++/taskloop-4.C: New test.
6757 * testsuite/libgomp.c++/taskloop-5.C: New test.
6758 * testsuite/libgomp.c++/taskloop-6.C: New test.
6759 * testsuite/libgomp.c++/taskloop-7.C: New test.
6760 * testsuite/libgomp.c++/taskloop-8.C: New test.
6761 * testsuite/libgomp.c++/taskloop-9.C: New test.
6762 * testsuite/libgomp.fortran/affinity1.f90: New test.
6763 * testsuite/libgomp.fortran/affinity2.f90: New test.
6764
6765 2015-10-13 Tom de Vries <tom@codesourcery.com>
6766
6767 PR tree-optimization/67476
6768 * testsuite/libgomp.c/autopar-3.c: New test.
6769 * testsuite/libgomp.c/autopar-4.c: New test.
6770 * testsuite/libgomp.c/autopar-5.c: New test.
6771 * testsuite/libgomp.c/autopar-6.c: New test.
6772 * testsuite/libgomp.c/autopar-7.c: New test.
6773 * testsuite/libgomp.c/autopar-8.c: New test.
6774
6775 2015-10-12 James Norris <jnorris@codesourcery.com>
6776
6777 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6778 initializer.
6779
6780 2015-10-09 David Malcolm <dmalcolm@redhat.com>
6781
6782 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6783 using load_gcc_lib.
6784
6785 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6786
6787 * oacc-ptx.h: Remove file, moving its content into...
6788 * config/nvptx/fortran.c: ... here...
6789 * config/nvptx/oacc-init.c: ..., here...
6790 * config/nvptx/oacc-parallel.c: ..., and here.
6791 * config/nvptx/openacc.f90: New file.
6792 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6793 (link_ptx): Don't link in predefined bits of PTX code.
6794
6795 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6796 Bernd Schmidt <bernds@codesourcery.com>
6797
6798 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6799 (struct targ_ptx_obj): New.
6800 (nvptx_tdata): Move earlier, change data format.
6801 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6802 objects.
6803 (GOMP_OFFLOAD_load_image): Adjust.
6804
6805 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6806
6807 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6808 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6809 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6810 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6811 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6812 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6813 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6814 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6815 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6816 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6818 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6819 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6820 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6821 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6822 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6823 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6824 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6825 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6826 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6827 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6829 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6830 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6831 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6832 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6833 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6834 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6835 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6836 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6837 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6838 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6840 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6841 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6846 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6847 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6848 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6849 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6850 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6851 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6852 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6853 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6855 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6856 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6857 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6858 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6859 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6860 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6861 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6862 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6863 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6864 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6865 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6866 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6867 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6868 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6869 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6870
6871 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6872
6873 * oacc-init.c (acc_on_device): Force optimization level.
6874
6875 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6876
6877 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6878 (cuda_errlist): Delete.
6879 (cuda_error): Reimplement.
6880
6881 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6882
6883 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6884 array.
6885 * libgomp.map (GOACC_parallel_keyed): New.
6886 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6887 all callers.
6888 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6889 and take keyed varargs list. Adjust call to exec_func.
6890 (GOACC_parallel): Force host fallback.
6891 * libgomp_g.h (GOACC_parallel): Remove.
6892 (GOACC_parallel_keyed): Declare.
6893 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
6894 (struct targ_gn_descriptor): Replace name field with launch field.
6895 (nvptx_exec): Lose separate geometry args, take array. Process
6896 dynamic dimensions and adjust.
6897 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6898 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6899 data.
6900 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6901 passing.
6902 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6903 passing.
6904
6905 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6906
6907 PR libgomp/67141
6908 * oacc-int.h (goacc_host_init): Add declaration.
6909 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6910 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6911
6912 2015-09-08 Aditya Kumar <hiraditya@msn.com>
6913 Sebastian Pop <s.pop@samsung.com>
6914
6915 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
6916 match o/p.
6917 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6918 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6919 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6920 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6921 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6922
6923 2015-09-03 Jakub Jelinek <jakub@redhat.com>
6924
6925 * configure.tgt: Add missing ;; in between nvptx and rtems
6926 snippets.
6927
6928 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6929
6930 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6931 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6932 (gomp_thread_pool_reservoir): Add priority member.
6933 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6934 priority.
6935 (parse_thread_pools): Likewise.
6936 * team.c (gomp_team_start): Call configuration provided
6937 gomp_adjust_thread_attr(). Destroy thread attributes if
6938 necessary.
6939 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6940
6941 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6942
6943 * config/posix/pool.h: New.
6944 * config/rtems/pool.h: Likewise.
6945 * config/rtems/proc.c: Likewise.
6946 * libgomp.h (gomp_thread_destructor): Declare.
6947 * team.c: Include configuration provided "pool.h".
6948 (gomp_get_thread_pool): Define in configuration.
6949 (gomp_team_end): Call configuration defined
6950 gomp_release_thread_pool().
6951
6952 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6953
6954 * config/rtems/bar.c: New.
6955 * config/rtems/bar.h: Likewise.
6956 * config/rtems/mutex.c: Likewise.
6957 * config/rtems/mutex.h: Likewise.
6958 * config/rtems/sem.c: Likewise.
6959 * config/rtems/sem.h: Likewise.
6960 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6961 <sys/lock.h> header file.
6962 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6963 supported by Newlib.
6964 * configure: Regenerate.
6965
6966 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6967
6968 * team.c (gomp_new_thread_pool): Delete and move content to ...
6969 (gomp_get_thread_pool): ... new function. Allocate and
6970 initialize thread pool on demand.
6971 (get_last_team): Use gomp_get_thread_pool().
6972 (gomp_team_start): Delete thread pool initialization.
6973
6974 2015-09-03 Tom de Vries <tom@codesourcery.com>
6975
6976 PR tree-optimization/65637
6977 * testsuite/libgomp.c/autopar-2.c: New test.
6978
6979 2015-08-29 Tom de Vries <tom@codesourcery.com>
6980
6981 PR tree-optimization/46193
6982 * testsuite/libgomp.c/pr46193.c: New test.
6983
6984 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6985
6986 libgomp/
6987 * libgomp.map: Add 4.0.2 version.
6988 * target.c (offload_image_descr): Add version field.
6989 (gomp_load_image_to_device): Add version argument. Adjust plugin
6990 call. Improve load mismatch diagnostic.
6991 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6992 call.
6993 (GOMP_offload_regster): Make stub function, move bulk to ...
6994 (GOMP_offload_register_ver): ... here. Process version argument.
6995 (GOMP_offload_unregister): Make stub function, move bulk to ...
6996 (GOMP_offload_unregister_ver): ... here. Process version argument.
6997 (gomp_init_device): Process version field.
6998 (gomp_unload_device): Process version field.
6999 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7000 macros. Check plugin version.
7001 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7002 loader and unloader types.
7003 * oacc-host.c: Include gomp-constants.h.
7004 (host_version): New.
7005 (host_load_image, host_unload_image): Adjust.
7006 (host_dispatch): Add host_version.
7007 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7008 (GOMP_OFFLOAD_version): New.
7009 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7010 (GOMP_OFFLOAD_unload_image): Likewise.
7011 * plugin/plugin-host.c: Include gomp-constants.h.
7012 (GOMP_OFFLOAD_version): New.
7013 (GOMP_OFFLOAD_load_image): Add version arg.
7014 (GOMP_OFFLOAD_unload_image): Likewise.
7015
7016 2015-08-24 Tom de Vries <tom@codesourcery.com>
7017
7018 PR tree-optimization/65468
7019 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7020
7021 2015-08-24 Tom de Vries <tom@codesourcery.com>
7022
7023 PR tree-optimization/65468
7024 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7025
7026 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
7027
7028 PR libgomp/66761
7029 PR libgomp/67303
7030 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7031 (gomp_iter_guided_next): Idem.
7032 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7033 (gomp_iter_ull_guided_next): Idem.
7034 * config/linux/wait.h (do_spin): Idem.
7035
7036 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7037
7038 * libgomp-plugin.h (enum offload_target_type): Remove
7039 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7040 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7041 * openacc.h (enum acc_device_t): Likewise.
7042 * openacc_lib.h: Likewise.
7043 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7044 (acc_on_device): Just use __builtin_acc_on_device.
7045 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7046 of acc_on_device builtin.
7047 * plugin/plugin-host.h: Remove file.
7048 * plugin/plugin-host.c: Likewise, but salvage some content into...
7049 * oacc-host.c: ... this file.
7050 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7051 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7052 * Makefile.in: Regenerate.
7053 * configure: Likewise.
7054 * testsuite/lib/libgomp.exp
7055 (check_effective_target_openacc_host_nonshm_selected): Remove.
7056 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7057 ACC_DEVICE_TYPE=host_nonshm.
7058 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7059 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7060 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7061 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7062 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7063 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7064
7065 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7066 Jakub Jelinek <jakub@redhat.com>
7067
7068 * config/nvptx/affinity.c: New file.
7069 * config/nvptx/alloc.c: Likewise.
7070 * config/nvptx/bar.c: Likewise.
7071 * config/nvptx/barrier.c: Likewise.
7072 * config/nvptx/critical.c: Likewise.
7073 * config/nvptx/env.c: Likewise.
7074 * config/nvptx/error.c: Likewise.
7075 * config/nvptx/fortran.c: Likewise.
7076 * config/nvptx/iter.c: Likewise.
7077 * config/nvptx/iter_ull.c: Likewise.
7078 * config/nvptx/libgomp-plugin.c: Likewise.
7079 * config/nvptx/lock.c: Likewise.
7080 * config/nvptx/loop.c: Likewise.
7081 * config/nvptx/loop_ull.c: Likewise.
7082 * config/nvptx/mutex.c: Likewise.
7083 * config/nvptx/oacc-async.c: Likewise.
7084 * config/nvptx/oacc-cuda.c: Likewise.
7085 * config/nvptx/oacc-host.c: Likewise.
7086 * config/nvptx/oacc-init.c: Likewise.
7087 * config/nvptx/oacc-mem.c: Likewise.
7088 * config/nvptx/oacc-parallel.c: Likewise.
7089 * config/nvptx/oacc-plugin.c: Likewise.
7090 * config/nvptx/omp-lock.h: Likewise.
7091 * config/nvptx/ordered.c: Likewise.
7092 * config/nvptx/parallel.c: Likewise.
7093 * config/nvptx/proc.c: Likewise.
7094 * config/nvptx/ptrlock.c: Likewise.
7095 * config/nvptx/sections.c: Likewise.
7096 * config/nvptx/sem.c: Likewise.
7097 * config/nvptx/single.c: Likewise.
7098 * config/nvptx/splay-tree.c: Likewise.
7099 * config/nvptx/target.c: Likewise.
7100 * config/nvptx/task.c: Likewise.
7101 * config/nvptx/team.c: Likewise.
7102 * config/nvptx/time.c: Likewise.
7103 * config/nvptx/work.c: Likewise.
7104 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7105 * configure: Regenerate.
7106 * configure.tgt (config_path): Set to "nvptx" for target
7107 nvptx*-*-*.
7108
7109 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7110
7111 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7112
7113 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7114
7115 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7116 (cuda_errlist): Constify.
7117 (errmsg): Move into ...
7118 (cuda_error): ... here. Make smaller.
7119 (_XSTR, _STR): Delete.
7120 (cuda_synames): Delete.
7121 (verify_device_library): Delete.
7122 (nvptx_init): Don't call it.
7123
7124 2015-07-28 Tom de Vries <tom@codesourcery.com>
7125
7126 * testsuite/libgomp.c/uns-outer-4.c: New test.
7127
7128 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7129
7130 * testsuite/libgomp.c/pr66714.c: New test.
7131
7132 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7133
7134 PR libgomp/66950
7135 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7136 (fib_ref): New function.
7137 (fib): Correct corner cases in the recursion.
7138 (main): Replace the non-simd loop with fib_ref call.
7139 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7140 subroutine.
7141 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7142 for the last array element value. Replace the non-simd loop with
7143 fib_ref call. Remove redundant b_ref array. Remove the comparison
7144 of the last array element with according Fibonacci sequence element.
7145 (fib): Correct corner cases in the recursion.
7146
7147 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7148
7149 * target.c (gomp_offload_image_to_device): Rename to ...
7150 (gomp_load_image_to_device): ... here.
7151 (GOMP_offload_register): Adjust call.
7152 (gomp_init_device): Likewise.
7153 (gomp_unload_image_from_device): New. Broken out of ...
7154 (GOMP_offload_unregister): ... here. Call it.
7155 (gomp_unload_device): New.
7156 * libgomp.h (gomp_unload_device): Declare.
7157 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7158 mem maps.
7159
7160 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7161
7162 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7163 wait=-specific if.
7164 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7165 !=0 condition.
7166 (goacc_waits): Move !num_waits handling to ...
7167 (GOACC_wait): ... here, the only caller that might have zero waits.
7168
7169 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7170 (struct ptx_image_data): Move earlier, add fns field.
7171 (struct ptx_device): Add images and image_lock fields.
7172 (ptx_images, ptx_image_lock): Delete.
7173 (nvptx_open_device): Initialize images and image_lock fields.
7174 (nvptx_close_device): Destroy image_lock.
7175 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7176 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7177 fields.
7178
7179 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7180
7181 * target.c (GOMP_offload_register): Use int for device type arg.
7182 (GOMP_offload_unregister): Likewise.
7183
7184 * target.c (struct_offload_image_descr): Constify host_table.
7185 (gomp_offload_image_to_device): Likewise.
7186 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7187
7188 * libgomp.h (gomp_device_descr): Constify target data arguments.
7189 * target.c (struct offload_image_descr): Constify target_data.
7190 (gomp_offload_image_to_device): Likewise.
7191 (GOMP_offload_register): Likewise.
7192 (GOMP_offload_unregister): Likewise.
7193 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7194 GOMP_OFFLOAD_unload_image): Constify target data.
7195 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7196 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7197
7198 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7199
7200 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7201 Workaround driver library const error.
7202 (struct nvptx_tdata, nvptx_tdata_t): New.
7203 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7204 type.
7205
7206 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7207
7208 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7209 of EPS parameter from integer to real.
7210 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7211 type of EPS parameter from integer to real.
7212
7213 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7214
7215 * team.c (get_last_team): New.
7216 (gomp_new_team): Recycle last non-nested team if possible.
7217 (gomp_team_end): Move team work share list free lock destruction
7218 to ...
7219 (free_team): ... here.
7220
7221 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7222
7223 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7224 and ref from int to double. Replaced their comparison with
7225 an inequality of their difference and EPS.
7226 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7227 comparison of pri and a reference number with an inequality of their
7228 difference and EPS.
7229 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7230 the comparison of sum and sum_ref with an inequality of their
7231 difference and EPS.
7232 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7233 the comparison of pri and a reference number with an inequality of
7234 their difference and EPS.
7235
7236 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7237
7238 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7239 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7240 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7241 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7242 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7243 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7244 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7245 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7246 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7247 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7248 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7249 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7250 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7251 variables.
7252 (vec_mult): Likewise. Add #pragma omp taskwait.
7253 (main): Adjust caller.
7254 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7255 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7256 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7257 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7258 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7259 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7260 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7261 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7262 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7263 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7264 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7265 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7266 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7267 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7268 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7269 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7270 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7271 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7272 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7273 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7274 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7275 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7276 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7277 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7278 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7279 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7280 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7281 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7282 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7283 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7284 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7285 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7286 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7287 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7288 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7289 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7290 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7291 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7292 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7293 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7294 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7295 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7296 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7297 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7298 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7299 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7300 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7301 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7302 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7303 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7304 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7305 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7306 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7307 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7308 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7309 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7310 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7311 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7312 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7313 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7314 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7315 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7316 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7317 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7318 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7319 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7320 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7321 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7322 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7323 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7324 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7325 (vec_mult): Add !$omp taskwait.
7326 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7327 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7328 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7329 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7330 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7331 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7332 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7333 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7334 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7335 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7336 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7337 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7338 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7339 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7340 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7341 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7342 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7343 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7344 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7345 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7346 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7347 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7348 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7349 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7350 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7351 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7352 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7353 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7354 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7355 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7356 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7357 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7358 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7359 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7360 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7361 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7362 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7363 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7364 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7365 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7366 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7367 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7368 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7369 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7370 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7371 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7372 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7373 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7374 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7375 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7376 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7377 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7378 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7379 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7380 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7381 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7382 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7383 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7384 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7385 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7386 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7387 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7388 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7389 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7390 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7391 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7392 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7393
7394 2015-07-10 Tom de Vries <tom@codesourcery.com>
7395
7396 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7397 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7398
7399 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7400
7401 PR libgomp/65099
7402 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7403 in a 64-bit configuration.
7404 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7405 offloading testing if no such device is available.
7406 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7407 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7408
7409 2015-07-08 Tom de Vries <tom@codesourcery.com>
7410
7411 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7412 second call to f.
7413 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7414
7415 2015-07-07 Tom de Vries <tom@codesourcery.com>
7416
7417 PR tree-optimization/66642
7418 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7419 iteration count case.
7420 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7421 function, factor out of ...
7422 (main): ... here. Test low iteration count case.
7423
7424 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7425
7426 * libgomp.h (gomp_thread_pool): Comment last_team field.
7427
7428 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
7429
7430 * testsuite/libgomp.c++/pr66702-1.C: Require
7431 vect_simd_clones effective target.
7432 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7433
7434 2015-06-30 Tom de Vries <tom@codesourcery.com>
7435
7436 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7437 already set. Use DEFAULT_CFLAGS in dg-runtest.
7438 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7439 "-O2".
7440
7441 2015-06-30 Tom de Vries <tom@codesourcery.com>
7442
7443 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7444 already set. Use DEFAULT_CFLAGS in dg-runtest.
7445 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7446 * testsuite/libgomp.c++/pr64824.C: Same.
7447 * testsuite/libgomp.c++/pr64868.C: Same.
7448 * testsuite/libgomp.c++/pr66199-1.C: Same.
7449 * testsuite/libgomp.c++/pr66199-2.C: Same.
7450 * testsuite/libgomp.c++/target-2.C: Same.
7451 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7452 -std=<standard> option.
7453 * testsuite/libgomp.c++/udr-11.C: Same.
7454 * testsuite/libgomp.c++/udr-12.C: Same.
7455 * testsuite/libgomp.c++/udr-13.C: Same.
7456 * testsuite/libgomp.c++/udr-14.C: Same.
7457 * testsuite/libgomp.c++/udr-15.C: Same.
7458 * testsuite/libgomp.c++/udr-16.C: Same.
7459 * testsuite/libgomp.c++/udr-17.C: Same.
7460 * testsuite/libgomp.c++/udr-18.C: Same.
7461 * testsuite/libgomp.c++/udr-19.C: Same.
7462 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7463 * testsuite/libgomp.c++/simd-1.C: Same.
7464 * testsuite/libgomp.c++/simd-2.C: Same.
7465 * testsuite/libgomp.c++/simd-3.C: Same.
7466 * testsuite/libgomp.c++/simd-4.C: Same.
7467 * testsuite/libgomp.c++/simd-5.C: Same.
7468 * testsuite/libgomp.c++/simd-6.C: Same.
7469 * testsuite/libgomp.c++/simd-7.C: Same.
7470 * testsuite/libgomp.c++/simd-8.C: Same.
7471 * testsuite/libgomp.c++/simd-9.C: Same.
7472 * testsuite/libgomp.c++/simd10.C: Same.
7473 * testsuite/libgomp.c++/simd11.C: Same.
7474 * testsuite/libgomp.c++/simd12.C: Same.
7475 * testsuite/libgomp.c++/simd13.C: Same.
7476
7477 2015-06-30 Jakub Jelinek <jakub@redhat.com>
7478
7479 PR middle-end/66702
7480 * testsuite/libgomp.c++/pr66702-1.C: New test.
7481 * testsuite/libgomp.c++/pr66702-2.C: New test.
7482
7483 2015-06-30 Tom de Vries <tom@codesourcery.com>
7484
7485 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7486 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7487 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7488 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7489
7490 2015-06-30 Tom de Vries <tom@codesourcery.com>
7491
7492 PR tree-optimization/66652
7493 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7494 using restrict pointers.
7495 (main): Add arguments to calls to f.
7496 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7497
7498 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7499
7500 * configure.ac: Fix check for header <sys/sysctl.h>.
7501 * configure: Regenerate.
7502 * config.h.in: Likewise.
7503
7504 2015-06-23 Tom de Vries <tom@codesourcery.com>
7505
7506 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7507 abort.
7508 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7509
7510 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7511
7512 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7513 acc_device_nvidia.
7514
7515 PR libgomp/66518
7516 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7517 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7518
7519 2015-06-15 Tom de Vries <tom@codesourcery.com>
7520
7521 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7522 dg-additional-options for any remaining options.
7523 * testsuite/libgomp.c/atomic-2.c: Same.
7524 * testsuite/libgomp.c/atomic-4.c: Same.
7525 * testsuite/libgomp.c/atomic-5.c: Same.
7526 * testsuite/libgomp.c/atomic-6.c: Same.
7527 * testsuite/libgomp.c/autopar-1.c: Same.
7528 * testsuite/libgomp.c/copyin-1.c: Same.
7529 * testsuite/libgomp.c/copyin-2.c: Same.
7530 * testsuite/libgomp.c/copyin-3.c: Same.
7531 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7532 * testsuite/libgomp.c/nestedfn-5.c: Same.
7533 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7534 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7535 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7536 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7537 * testsuite/libgomp.c/pr32362-1.c: Same.
7538 * testsuite/libgomp.c/pr32362-2.c: Same.
7539 * testsuite/libgomp.c/pr32362-3.c: Same.
7540 * testsuite/libgomp.c/pr39591-1.c: Same.
7541 * testsuite/libgomp.c/pr39591-2.c: Same.
7542 * testsuite/libgomp.c/pr39591-3.c: Same.
7543 * testsuite/libgomp.c/pr58392.c: Same.
7544 * testsuite/libgomp.c/pr58756.c: Same.
7545 * testsuite/libgomp.c/simd-1.c: Same.
7546 * testsuite/libgomp.c/simd-10.c: Same.
7547 * testsuite/libgomp.c/simd-11.c: Same.
7548 * testsuite/libgomp.c/simd-12.c: Same.
7549 * testsuite/libgomp.c/simd-13.c: Same.
7550 * testsuite/libgomp.c/simd-14.c: Same.
7551 * testsuite/libgomp.c/simd-15.c: Same.
7552 * testsuite/libgomp.c/simd-2.c: Same.
7553 * testsuite/libgomp.c/simd-3.c: Same.
7554 * testsuite/libgomp.c/simd-4.c: Same.
7555 * testsuite/libgomp.c/simd-5.c: Same.
7556 * testsuite/libgomp.c/simd-6.c: Same.
7557 * testsuite/libgomp.c/simd-7.c: Same.
7558 * testsuite/libgomp.c/simd-8.c: Same.
7559 * testsuite/libgomp.c/simd-9.c: Same.
7560
7561 2015-06-15 Tom de Vries <tom@codesourcery.com>
7562
7563 * testsuite/libgomp.c/pr35625.c: Fix typo.
7564
7565 2015-06-15 Tom de Vries <tom@codesourcery.com>
7566
7567 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7568 in dg-options.
7569 * testsuite/libgomp.c/atomic-3.c: Same.
7570 * testsuite/libgomp.c/debug-1.c: Same.
7571 * testsuite/libgomp.c/nqueens-1.c: Same.
7572 * testsuite/libgomp.c/pr26171.c: Same.
7573 * testsuite/libgomp.c/pr48591.c: Same.
7574 * testsuite/libgomp.c/pr64824.c: Same.
7575 * testsuite/libgomp.c/pr64868.c: Same.
7576 * testsuite/libgomp.c/pr66133.c: Same.
7577 * testsuite/libgomp.c/pr66199-1.c: Same.
7578 * testsuite/libgomp.c/pr66199-2.c: Same.
7579 * testsuite/libgomp.c/target-8.c: Same.
7580
7581 2015-06-15 Tom de Vries <tom@codesourcery.com>
7582
7583 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7584 -std={gnu99,c99}.
7585 * testsuite/libgomp.c/for-1.c: Same.
7586 * testsuite/libgomp.c/for-2.c: Same.
7587 * testsuite/libgomp.c/for-3.c: Same.
7588 * testsuite/libgomp.c/pr35625.c: Same.
7589 * testsuite/libgomp.c/pr39154.c: Same.
7590 * testsuite/libgomp.c/simd-16.c: Same.
7591 * testsuite/libgomp.c/simd-17.c: Same.
7592
7593 2015-06-13 Tom de Vries <tom@codesourcery.com>
7594
7595 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7596
7597 2015-06-13 Tom de Vries <tom@codesourcery.com>
7598
7599 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7600 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7601 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7602 (N): Define.
7603 (main): Use N instead of hardcoded constants.
7604
7605 2015-06-05 Tom de Vries <tom@codesourcery.com>
7606
7607 merge from gomp4 branch:
7608 2015-05-28 Tom de Vries <tom@codesourcery.com>
7609
7610 PR tree-optimization/65443
7611 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7612 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7613 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7614
7615 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7616
7617 * testsuite/libgomp.graphite/bounds.c: Adjust for
7618 cleanup-tree-dump removal.
7619 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7620 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7621 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7622 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7623 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7624 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7625 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7626 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7627 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7628 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7629
7630 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
7631
7632 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7633 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7634 (futex_wake) [!__x86_64__]: Ditto.
7635
7636 2015-05-28 Julian Brown <julian@codesourcery.com>
7637
7638 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7639 function comment. Only call gomp_fatal if new argument is true.
7640 (acc_dev_num_out_of_range): New function.
7641 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7642 acc_dev_num_out_of_range as appropriate.
7643 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7644 (acc_get_device_num, acc_set_device_num): Update calls to
7645 resolve_device.
7646 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7647 output.
7648
7649 2015-05-28 Julian Brown <julian@codesourcery.com>
7650
7651 PR libgomp/65742
7652 * oacc-init.c (plugin/plugin-host.h): Include.
7653 (acc_on_device): Check whether we're in an offloaded region for
7654 host_nonshm
7655 plugin. Don't use __builtin_acc_on_device.
7656 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7657 nonshm_exec flag in thread-local data.
7658 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7659 data for host_nonshm plugin.
7660 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7661 for host_nonshm plugin.
7662 * plugin/plugin-host.h: New.
7663
7664 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7665
7666 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7667
7668 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7669
7670 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7671 Declare as int.
7672 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7673 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7674 Declare as int.
7675
7676 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
7677
7678 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
7679
7680 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7681
7682 * target.c (gomp_map_pointer): New function abstracting out
7683 GOMP_MAP_POINTER handling.
7684 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7685 gomp_map_pointer().
7686
7687 2015-05-19 Jakub Jelinek <jakub@redhat.com>
7688
7689 PR middle-end/66199
7690 * testsuite/libgomp.c/pr66199-1.c: New test.
7691 * testsuite/libgomp.c/pr66199-2.c: New test.
7692 * testsuite/libgomp.c++/pr66199-1.C: New test.
7693 * testsuite/libgomp.c++/pr66199-2.C: New test.
7694 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7695 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7696
7697 2015-05-19 Julian Brown <julian@codesourcery.com>
7698
7699 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7700 on cuInit failure.
7701
7702 2015-05-13 Jakub Jelinek <jakub@redhat.com>
7703
7704 PR middle-end/66133
7705 * testsuite/libgomp.c/pr66133.c: New test.
7706
7707 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7708
7709 * Makefile.in: Regenerated with automake-1.11.6.
7710 * aclocal.m4: Likewise.
7711 * config.h.in: Likewise.
7712 * configure: Likewise.
7713 * testsuite/Makefile.in: Likewise.
7714
7715 2015-05-08 Jason Merrill <jason@redhat.com>
7716
7717 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7718 _Complex.
7719
7720 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7721
7722 2015-05-06 Julian Brown <julian@codesourcery.com>
7723
7724 * oacc-init.c (acc_device_lock): Add explanatory comment.
7725 (resolve_device): Add comment about locking requirement.
7726 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7727 gomp_init_device and gomp_fini_device calls.
7728 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7729 (acc_get_device_num, acc_set_device_num): Add locking around
7730 resolve_device and gomp_init_device calls.
7731
7732 2015-05-06 Julian Brown <julian@codesourcery.com>
7733
7734 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7735 goacc_thread_lock on error paths.
7736 * oacc-mem.c (lookup_host): Remove locking from function. Note
7737 locking requirement for caller in function comment.
7738 (lookup_dev): Likewise.
7739 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7740 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7741 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7742 Add locking.
7743
7744 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7745
7746 PR testsuite/65205
7747 PR libgomp/65993
7748 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7749 don't expect "0x" prefix for "%p" format specifier, don't expect
7750 "(nil)" for NULL pointer.
7751 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7752 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7753 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7754 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7755 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7756 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7757 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7758 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7759 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7760 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7761 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7762 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7763 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7764 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7765 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7766 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7767 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7768 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7769 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7770 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7771 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7772 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7773 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7774 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7775 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7776 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7777 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7778 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7779 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7780 accurately specify what we're looking for.
7781 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7782 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7783 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7784 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7785 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7786
7787 2015-04-30 James Norris <jnorris@codesourcery.com>
7788
7789 PR testsuite/65205
7790 * testsuite/lib/libgomp.exp
7791 (check_effective_target_openacc_host_selected)
7792 (check_effective_target_openacc_host_nonshm_selected): New
7793 procedures.
7794 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7795 dg-shouldfail.
7796 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7797 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7798 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7799 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7800 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7801 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7802 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7803 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7804 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7805 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7806 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7807 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7808 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7809 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7810 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7811 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7812 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7813 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7814 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7815 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7816 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7817 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7818 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7819 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7820 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7821 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7822 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7823 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7824 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7825 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7826 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7827 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7828 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7829 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7830 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7831 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7832 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7833 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7834 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7835 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7836 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7837 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7838 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7839
7840 2015-04-08 Julian Brown <julian@codesourcery.com>
7841
7842 * libgomp.h (target_mem_desc: Remove mem_map field.
7843 (acc_dispatch_t): Remove open_device_func, close_device_func,
7844 get_device_num_func, set_device_num_func, target_data members.
7845 Change create_thread_data_func argument to device number instead of
7846 generic pointer.
7847 * oacc-async.c (assert.h): Include.
7848 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7849 (acc_wait_all, acc_wait_all_async): Use current host thread's
7850 active device, not base_dev.
7851 * oacc-cuda.c (acc_get_current_cuda_device)
7852 (acc_get_current_cuda_context, acc_get_cuda_stream)
7853 (acc_set_cuda_stream): Likewise.
7854 * oacc-host.c (host_dispatch): Don't set open_device_func,
7855 close_device_func, get_device_num_func or set_device_num_func.
7856 * oacc-init.c (base_dev, init_key): Remove.
7857 (cached_base_dev): New.
7858 (name_of_acc_device_t): New.
7859 (acc_init_1): Initialise default-numbered device, not zeroth.
7860 (acc_shutdown_1): Close all devices of a given type.
7861 (goacc_destroy_thread): Don't use base_dev.
7862 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7863 (goacc_attach_host_thread_to_device): New.
7864 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7865 (acc_get_num_devices): Don't use base_dev.
7866 (acc_set_device_type): Reimplement.
7867 (acc_get_device_type): Don't use base_dev.
7868 (acc_get_device_num): Tweak logic.
7869 (acc_set_device_num): Likewise.
7870 (acc_on_device): Use acc_get_device_type.
7871 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7872 (goacc_lazy_initialize): Reimplement with acc_init and
7873 goacc_attach_host_thread_to_device.
7874 * oacc-int.h (goacc_thread): Add base_dev field.
7875 (base_dev): Remove extern declaration.
7876 (goacc_attach_host_thread_to_device): Add prototype.
7877 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7878 base_dev.
7879 (acc_free): Likewise.
7880 (acc_memcpy_to_device): Likewise.
7881 (acc_memcpy_from_device): Likewise.
7882 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7883 goacc_lazy_initialize (throughout).
7884 (GOACC_parallel): Use tgt_offset to locate target functions.
7885 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7886 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7887 (gomp_load_plugin_for_device): Remove open_device, close_device,
7888 get_device_num, set_device_num openacc hook initialisation. Don't set
7889 openacc.target_data.
7890 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7891 (GOMP_OFFLOAD_openacc_close_device)
7892 (GOMP_OFFLOAD_openacc_get_device_num)
7893 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7894 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7895 to int.
7896 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7897 (instantiated_devices, ptx_dev_lock): New.
7898 (struct ptx_image_data): New.
7899 (ptx_devices, ptx_images, ptx_image_lock): New.
7900 (fini_streams_for_device): Reorder cuStreamDestroy call.
7901 (nvptx_get_num_devices): Remove forward declaration.
7902 (nvptx_init): Change return type to bool.
7903 (nvptx_fini): Remove.
7904 (nvptx_attach_host_thread_to_device): New.
7905 (nvptx_open_device): Return struct ptx_device* instead of void*.
7906 (nvptx_close_device): Change argument type to struct ptx_device*,
7907 return type to void.
7908 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7909 (kernel_target_data, kernel_host_table): Remove static globals.
7910 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7911 (GOMP_OFFLOAD_init_device): Reimplement.
7912 (GOMP_OFFLOAD_fini_device): Likewise.
7913 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7914 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7915 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7916 (GOMP_OFFLOAD_openacc_open_device)
7917 (GOMP_OFFLOAD_openacc_close_device)
7918 (GOMP_OFFLOAD_openacc_set_device_num)
7919 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7920 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7921 (device number).
7922
7923 testsuite/
7924 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7925
7926 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7927
7928 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7929 * libgomp.h (struct gomp_memory_mapping): Remove.
7930 (struct target_mem_desc): Change type of mem_map from
7931 gomp_memory_mapping * to splay_tree_s *.
7932 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7933 Add load_image_func, unload_image_func.
7934 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7935 Remove offload_regions_registered.
7936 (gomp_init_tables): Remove.
7937 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7938 to splay_tree_s *.
7939 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7940 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7941 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7942 offload_regions_registered.
7943 Initialize load_image_func, unload_image_func, mem_map.root.
7944 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7945 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7946 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7947 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7948 gomp_memory_mapping *. Use dev's lock and splay_tree.
7949 (lookup_dev): Use dev's lock.
7950 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7951 (acc_is_present): Likewise.
7952 (acc_map_data): Likewise.
7953 (acc_unmap_data): Likewise. Use dev's lock.
7954 (present_create_copy): Likewise.
7955 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7956 (update_dev_host): Likewise.
7957 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7958 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7959 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7960 (GOMP_OFFLOAD_get_table): Remove
7961 (GOMP_OFFLOAD_load_image): New function.
7962 (GOMP_OFFLOAD_unload_image): New function.
7963 * target.c (register_lock): New mutex for offload image registration.
7964 (num_devices): Do not guard with PLUGIN_SUPPORT.
7965 (gomp_realloc_unlock): New static function.
7966 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7967 before gomp_fatal.
7968 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7969 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7970 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7971 mem_map's.
7972 (gomp_unmap_vars): Likewise.
7973 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7974 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7975 (gomp_offload_image_to_device): New static function.
7976 (GOMP_offload_register): Add mutex lock.
7977 Call gomp_offload_image_to_device for all initialized devices.
7978 Replace gomp_realloc with gomp_realloc_unlock.
7979 (GOMP_offload_unregister): New function.
7980 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7981 get_table_func from the plugin with calls to init_device_func and
7982 gomp_offload_image_to_device.
7983 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7984 to splay_tree_s *.
7985 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7986 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7987 (GOMP_target_data): Do not call gomp_init_tables.
7988 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7989 (gomp_load_plugin_for_device): Replace register_image and get_table
7990 with load_image and unload_image in DLSYM ().
7991 (gomp_register_images_for_device): Remove function.
7992 (gomp_target_init): Do not initialize current_device.mem_map.*,
7993 current_device.offload_regions_registered.
7994 Remove call to gomp_register_images_for_device.
7995 Do not free offload_images and num_offload_images.
7996
7997 2015-03-30 Jakub Jelinek <jakub@redhat.com>
7998
7999 PR fortran/65597
8000 * testsuite/libgomp.fortran/pr65597.f90: New test.
8001
8002 2015-03-27 Tom de Vries <tom@codesourcery.com>
8003
8004 PR testsuite/65594
8005 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8006 (init, check): New function.
8007 (foo): Change return type to void.
8008 (main): Call init and check.
8009
8010 2015-03-27 Tom de Vries <tom@codesourcery.com>
8011
8012 PR testsuite/65594
8013 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8014 (foo): Use M for non-inner loops to scale down test-case.
8015
8016 2015-03-25 Kai Tietz <ktietz@redhat.com>
8017
8018 PR libgomp/64972
8019 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8020 (GOACC_data_start): Likewise.
8021 * target.c (gomp_map_vars): Likewise.
8022
8023 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
8024
8025 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8026 hppa*-*-hpux*.
8027
8028 2015-03-19 Jakub Jelinek <jakub@redhat.com>
8029
8030 * testsuite/libgomp.c/target-10.c: New test.
8031 * testsuite/libgomp.c++/target-4.C: New test.
8032
8033 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
8034
8035 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8036 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8037
8038 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
8039
8040 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8041 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8042 (pthread.h): Check for this header file.
8043 * configure: Regenerate.
8044
8045 2015-02-25 Tom de Vries <tom@codesourcery.com>
8046
8047 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8048 (check_reduction_op, check_reduction_macro, max, min):
8049 Declare.
8050 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8051 function.
8052 (main): Use new functions.
8053
8054 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
8055
8056 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8057 char * for variables holding dlerror return values.
8058 (DLSYM_OPT): Ditto.
8059
8060 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8061
8062 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8063
8064 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
8065 Cesar Philippidis <cesar@codesourcery.com>
8066
8067 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8068 GOACC_ctaid, and GOACC_nctaid routines.
8069
8070 2015-02-11 Jakub Jelinek <jakub@redhat.com>
8071
8072 PR c/64824
8073 * testsuite/libgomp.c/atomic-18.c: New test.
8074 * testsuite/libgomp.c++/atomic-16.C: New test.
8075
8076 2015-02-04 Jakub Jelinek <jakub@redhat.com>
8077
8078 PR c/64824
8079 PR c/64868
8080 * testsuite/libgomp.c/pr64824.c: New test.
8081 * testsuite/libgomp.c/pr64868.c: New test.
8082 * testsuite/libgomp.c++/pr64824.C: New test.
8083 * testsuite/libgomp.c++/pr64868.C: New test.
8084
8085 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
8086
8087 PR libgomp/64635
8088 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8089 Link with -lpthread.
8090 * config/aix/plugin-suffix.h: Delete.
8091
8092 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
8093
8094 PR libgomp/64635
8095 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8096 (*-*-darwin*): Use config_path "bsd darwin posix".
8097 (*-*-hpux*): Use config_path "hpux posix".
8098 * target.c: Add include of plugin-suffix.h and use
8099 SONAME_SUFFIX macro.
8100 * config/aix/plugin-suffix.h: New file.
8101 * config/darwin/plugin-suffix.h: New file.
8102 * config/hpux/plugin-suffix.h: New file.
8103 * config/posix/plugin-suffix.h: New file.
8104
8105 2015-01-23 Jakub Jelinek <jakub@redhat.com>
8106
8107 PR middle-end/64734
8108 * libgomp.c/pr64734.c: New test.
8109
8110 2015-01-23 Tom de Vries <tom@codesourcery.com>
8111
8112 PR libgomp/64672
8113 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8114
8115 2015-01-23 Tom de Vries <tom@codesourcery.com>
8116
8117 PR libgomp/64707
8118 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8119 dg-options.
8120
8121 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8122
8123 PR libgomp/64625
8124 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8125 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8126 formal parameter. Update all users.
8127 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8128 Document unused formal parameter.
8129
8130 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8131
8132 * oacc-parallel.c: Don't include <alloca.h>.
8133 (GOACC_parallel): Use gomp_alloca instead of alloca.
8134
8135 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8136
8137 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8138
8139 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8140 James Norris <jnorris@codesourcery.com>
8141 Tom de Vries <tom@codesourcery.com>
8142 Julian Brown <julian@codesourcery.com>
8143 Cesar Philippidis <cesar@codesourcery.com>
8144 Nathan Sidwell <nathan@codesourcery.com>
8145 Tobias Burnus <burnus@net-b.de>
8146
8147 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8148 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8149 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8150 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8151 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8152 Include $(top_srcdir)/plugin/Makefrag.am.
8153 (nodist_libsubinclude_HEADERS): Add openacc.h.
8154 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8155 openacc.f90, openacc.mod, openacc_kinds.mod.
8156 (omp_lib.mod): Generalize into...
8157 (%.mod): ... this new rule.
8158 (openacc_kinds.mod, openacc.mod): New rules.
8159 * plugin/configfrag.ac: New file.
8160 * configure.ac: Move plugin/offloading support into it. Include
8161 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8162 * plugin/Makefrag.am: New file.
8163 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8164 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8165 export.
8166 (libgomp-test-support.exp): New rule.
8167 (all-local): Depend on it.
8168 * Makefile.in: Regenerate.
8169 * testsuite/Makefile.in: Regenerate.
8170 * config.h.in: Likewise.
8171 * configure: Likewise.
8172 * configure.tgt: Harden shell syntax.
8173 * env.c: Include "oacc-int.h".
8174 (parse_acc_device_type): New function.
8175 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8176 variables.
8177 (initialize_env): Initialize those. Call
8178 goacc_runtime_initialize.
8179 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8180 (gomp_fatal): Call gomp_vfatal.
8181 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8182 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8183 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8184 (splay_tree_node, splay_tree, splay_tree_key)
8185 (struct target_mem_desc, struct splay_tree_key_s)
8186 (struct gomp_memory_mapping, struct acc_dispatch_t)
8187 (struct gomp_device_descr, gomp_acc_insert_pointer)
8188 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8189 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8190 (gomp_free_memmap, gomp_fini_device): New declarations.
8191 (gomp_vdebug, gomp_debug): New macros.
8192 Include "splay-tree.h".
8193 * libgomp.map (OACC_2.0): New symbol version. Use for
8194 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8195 acc_set_device_type_h_, acc_get_device_type,
8196 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8197 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8198 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8199 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8200 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8201 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8202 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8203 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8204 acc_copyin_array_h_, acc_present_or_copyin,
8205 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8206 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8207 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8208 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8209 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8210 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8211 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8212 acc_update_device, acc_update_device_32_h_,
8213 acc_update_device_64_h_, acc_update_device_array_h_,
8214 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8215 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8216 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8217 acc_is_present_64_h_, acc_is_present_array_h_,
8218 acc_memcpy_to_device, acc_memcpy_from_device,
8219 acc_get_current_cuda_device, acc_get_current_cuda_context,
8220 acc_get_cuda_stream, acc_set_cuda_stream.
8221 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8222 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8223 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8224 GOACC_get_num_threads.
8225 (GOMP_PLUGIN_1.0): New symbol version. Use for
8226 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8227 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8228 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8229 GOMP_PLUGIN_acc_thread.
8230 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8231 environment variable.
8232 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8233 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8234 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8235 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8236 (splay_tree_remove): New declarations.
8237 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8238 (splay_tree_remove, splay_tree_lookup): Move into...
8239 * splay-tree.c: ... this new file.
8240 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8241 (splay_tree_node, splay_tree, splay_tree_key)
8242 (struct target_mem_desc, struct splay_tree_key_s)
8243 (struct gomp_device_descr): Don't declare.
8244 (num_devices_openmp): New variable.
8245 (gomp_get_num_devices ): Use it.
8246 (gomp_init_targets_once): New function.
8247 (gomp_get_num_devices ): Use it.
8248 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8249 (gomp_fini_device, gomp_register_image_for_device): New functions.
8250 (gomp_map_vars): Add devaddrs parameter.
8251 (gomp_update): Add mm parameter.
8252 (gomp_init_device): Move most of it into...
8253 (gomp_init_tables): ... this new function.
8254 (gomp_register_images_for_device): Remove function.
8255 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8256 Make them hidden instead of static.
8257 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8258 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8259 (GOMP_target_end_data, GOMP_target_update)
8260 (gomp_load_plugin_for_device, gomp_target_init): Update for
8261 OpenACC changes.
8262 * oacc-async.c: New file.
8263 * oacc-cuda.c: Likewise.
8264 * oacc-host.c: Likewise.
8265 * oacc-init.c: Likewise.
8266 * oacc-int.h: Likewise.
8267 * oacc-mem.c: Likewise.
8268 * oacc-parallel.c: Likewise.
8269 * oacc-plugin.c: Likewise.
8270 * oacc-plugin.h: Likewise.
8271 * oacc-ptx.h: Likewise.
8272 * openacc.f90: Likewise.
8273 * openacc.h: Likewise.
8274 * openacc_lib.h: Likewise.
8275 * plugin/plugin-host.c: Likewise.
8276 * plugin/plugin-nvptx.c: Likewise.
8277 * libgomp-plugin.c: Likewise.
8278 * libgomp-plugin.h: Likewise.
8279 * libgomp_target.h: Remove file after merging content into the
8280 former file. Update all users.
8281 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8282 (offload_targets_s, offload_targets_s_openacc): New variables.
8283 (check_effective_target_openacc_nvidia_accel_present)
8284 (check_effective_target_openacc_nvidia_accel_selected): New
8285 procedures.
8286 (libgomp_init): Update for OpenACC changes.
8287 * testsuite/libgomp-test-support.exp.in: New file.
8288 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8289 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8290 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8291 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8292 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8293 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8294 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8295 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8296 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8297 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8298 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8299 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8300 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8301 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8302 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8303 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8304 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8305 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8306 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8307 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8308 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8309 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8310 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8311 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8312 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8313 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8314 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8315 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8316 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8317 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8318 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8319 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8320 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8321 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8322 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8323 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8324 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8325 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8326 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8327 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8328 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8329 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8330 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8331 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8332 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8333 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8334 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8335 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8336 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8337 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8338 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8339 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8340 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8341 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8342 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8343 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8344 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8345 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8346 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8347 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8348 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8349 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8350 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8351 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8352 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8353 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8354 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8355 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8356 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8357 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8358 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8359 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8360 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8361 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8362 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8363 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8364 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8365 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8366 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8367 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8368 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8369 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8370 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8371 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8372 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8373 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8374 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8375 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8376 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8377 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8378 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8379 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8380 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8381 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8382 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8383 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8384 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8385 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8386 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8387 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8388 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8389 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8390 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8391 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8392 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8393 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8394 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8395 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8396 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8397 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8398 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8399 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8400 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8401 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8402 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8403 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8404 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8405 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8406 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8407 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8408 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8409 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8410 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8411 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8412 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8413 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8414 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8415 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8416 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8417 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8418 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8419 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8420 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8421 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8422 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8423 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8424 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8425 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8426 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8427 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8428 Likewise.
8429 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8430 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8431 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8432 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8433 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8434 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8435 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8436 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8437 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8438 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8439 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8440 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8441 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8442 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8443 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8444 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8445 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8446 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8447 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8448 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8449 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8450 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8451 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8452 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8453 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8454 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8455 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8456 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8457 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8458 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8459 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8460 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8461 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8462 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8463 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8464 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8465 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8466 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8467 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8468 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8469 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8470 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8471 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8472 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8473 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8474 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8475 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8476 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8477 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8478 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8479 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8480 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8481 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8482 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8483 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8484 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8485 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8486 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8487 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8488 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8489
8490 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8491 Julian Brown <julian@codesourcery.com>
8492 David Malcolm <dmalcolm@redhat.com>
8493
8494 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8495 to "GNU Offloading and Multi Processing Runtime Library". Change
8496 all users.
8497 * configure: Regenerate.
8498 * libgomp.texi: Update.
8499
8500 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8501
8502 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8503 "$tgt_dir/lib32".
8504 * configure: Regenerate.
8505
8506 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8507 "intelmic" in $offload_targets.
8508
8509 2015-01-05 Jakub Jelinek <jakub@redhat.com>
8510
8511 Update copyright years.
8512
8513 * libgomp.texi: Bump @copying's copyright year.
8514
8515 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8516
8517 * testsuite/lib/libgomp.exp: Load target-utils.exp.
8518 Move load of target-supports.exp earlier.
8519
8520 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8521
8522 * testsuite/libgomp.c/target-9.c: New test.
8523
8524 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8525
8526 * config.h.in: Regenerate.
8527 * configure: Regenerate.
8528 * configure.ac: Add GCC_CHECK_EMUTLS.
8529 * libgomp.h: Add check for USE_EMUTLS: this case
8530 is equal to HAVE_TLS.
8531 * team.c: Likewise.
8532
8533 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
8534
8535 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8536
8537 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8538 Ilya Verbin <ilya.verbin@intel.com>
8539
8540 * testsuite/libgomp.c/target-critical-1.c: New test.
8541
8542 2014-11-26 Jakub Jelinek <jakub@redhat.com>
8543
8544 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
8545 to dg-options unless expensive testing is on.
8546 (TESTITERS): Define to N if not defined.
8547 (main): Use TESTITERS instead of N.
8548 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8549 dg-additional-options depending on whether expensive testing is on.
8550 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8551 Decrease N to 100000 and CHUNKSZ to 10000.
8552
8553 2014-11-24 Jakub Jelinek <jakub@redhat.com>
8554
8555 PR fortran/63938
8556 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8557 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
8558
8559 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
8560
8561 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8562
8563 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8564
8565 PR bootstrap/63784
8566 * configure: Regenerated.
8567
8568 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
8569
8570 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8571 vect_simd_clones effective target.
8572 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8573
8574 2014-11-14 Jakub Jelinek <jakub@redhat.com>
8575
8576 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8577 of 32 as block_size.
8578 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8579 instead of 32 as block_size.
8580
8581 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8582 Ilya Verbin <ilya.verbin@intel.com>
8583
8584 * Makefile.in: Regenerate.
8585 * configure: Regenerate.
8586 * configure.ac: Set up offload_additional_options,
8587 offload_additional_lib_paths and offload_targets.
8588 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8589 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8590 * testsuite/Makefile.in: Regenerate.
8591 * testsuite/lib/libgomp.exp (libgomp_init): Append
8592 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8593 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8594 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8595
8596 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8597 Ilya Verbin <ilya.verbin@intel.com>
8598 Kirill Yukhin <kirill.yukhin@intel.com>
8599 Ilya Tocar <ilya.tocar@intel.com>
8600
8601 * testsuite/lib/libgomp.exp
8602 (check_effective_target_offload_device): New.
8603 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8604 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8605 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8606 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8607 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8608 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8609 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8610 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8611 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8612 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8613 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8614 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8615 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8616 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8617 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8618 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8619 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8620 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8621 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8622 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8623 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8624 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8625 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8626 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8627 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8628 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8629 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8630 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8631 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8632 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8633 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8634 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8635 * testsuite/libgomp.c/target-7.c: Fix test.
8636 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8637 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8638 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8639 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8640 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8641 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8642 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8643 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8644 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8645 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8646 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8647 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8648 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8649 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8650 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8651 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8652 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8653 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8654 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8655 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8656 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8657 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8658 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8659 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8660 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8661 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8662 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8663 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8664 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8665 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8666 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8667
8668 2014-11-13 Jakub Jelinek <jakub@redhat.com>
8669 Ilya Verbin <ilya.verbin@intel.com>
8670 Thomas Schwinge <thomas@codesourcery.com>
8671 Andrey Turetskiy <andrey.turetskiy@intel.com>
8672
8673 * libgomp.map (GOMP_4.0.1): New symbol version.
8674 Add GOMP_offload_register.
8675 * libgomp_target.h: New file.
8676 * splay-tree.h: New file.
8677 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8678 (gomp_target_init): New forward declaration.
8679 (gomp_is_initialized): New static variable.
8680 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8681 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8682 New structures.
8683 (offload_images, num_offload_images, devices, num_devices): New static
8684 variables.
8685 (splay_compare): New static function.
8686 (struct gomp_device_descr): New structure.
8687 (gomp_get_num_devices): Call gomp_target_init.
8688 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8689 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8690 (GOMP_offload_register): New function.
8691 (GOMP_target): Arrange for host callback to be performed in a separate
8692 initial thread and contention group, inheriting ICVs from
8693 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8694 Add device initialization and lookup for target function in splay tree.
8695 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8696 (GOMP_target_end_data): Call gomp_unmap_vars.
8697 (GOMP_target_update): Add device initialization and call gomp_update.
8698 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8699 (gomp_target_init): New static functions.
8700
8701 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8702 Thomas Schwinge <thomas@codesourcery.com>
8703 Ilya Verbin <ilya.verbin@intel.com>
8704 Andrey Turetskiy <andrey.turetskiy@intel.com>
8705
8706 * config.h.in: Regenerate.
8707 * configure: Regenerate.
8708 * configure.ac: Check for libdl, required for plugin support.
8709 (PLUGIN_SUPPORT): Define if plugins are supported.
8710 (enable_offload_targets): Support Intel MIC targets.
8711 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8712
8713 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8714
8715 PR target/63610
8716 * configure: Regenerate.
8717
8718 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8719
8720 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8721
8722 2014-10-06 Marek Polacek <polacek@redhat.com>
8723
8724 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8725 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8726 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8727 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8728
8729 2014-10-06 Marek Polacek <polacek@redhat.com>
8730
8731 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8732 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8733 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8734 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8735 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8736 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8737 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8738 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8739 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8740 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8741 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8742 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8743 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8744 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8745 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8746 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8747 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8748 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8749 declarations.
8750
8751 2014-10-03 Jakub Jelinek <jakub@redhat.com>
8752
8753 PR libgomp/61200
8754 * testsuite/libgomp.c/pr61200.c: New test.
8755
8756 2014-09-18 Jakub Jelinek <jakub@redhat.com>
8757
8758 PR c++/63248
8759 * testsuite/libgomp.c++/pr63248.C: New test.
8760
8761 2014-08-04 Jakub Jelinek <jakub@redhat.com>
8762
8763 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8764 is not zero, but taskgroup->children is NULL and there are
8765 any task->children, schedule those instead of waiting.
8766 * testsuite/libgomp.c/depend-6.c: New test.
8767 * testsuite/libgomp.c/depend-7.c: New test.
8768 * testsuite/libgomp.c/depend-8.c: New test.
8769 * testsuite/libgomp.c/depend-9.c: New test.
8770 * testsuite/libgomp.c/depend-10.c: New test.
8771
8772 2014-08-01 Jakub Jelinek <jakub@redhat.com>
8773
8774 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8775 (struct gomp_taskwait): New type.
8776 (struct gomp_task): Add taskwait and parent_depends_on, remove
8777 in_taskwait and taskwait_sem fields.
8778 (gomp_finish_task): Don't destroy taskwait_sem.
8779 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8780 taskwait and parent_depends_on.
8781 (GOMP_task): For if (0) tasks with depend clause that depend on
8782 earlier tasks don't defer them, instead call
8783 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8784 Initialize redundant_out field, for redundant out entries just
8785 move them at the end of linked list instead of removing them
8786 completely, and set redundant_out flag instead of redundant.
8787 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8788 that task.
8789 (gomp_task_run_post_handle_dependers): If parent is in
8790 gomp_task_maybe_wait_for_dependencies and newly runnable task
8791 is not parent_depends_on, queue it in parent->children linked
8792 list after all runnable tasks with parent_depends_on set.
8793 Adjust for addition of taskwait indirection.
8794 (gomp_task_run_post_remove_parent): If parent is in
8795 gomp_task_maybe_wait_for_dependencies and task to be removed
8796 is parent_depends_on, decrement n_depend and if needed awake
8797 parent. Adjust for addition of taskwait indirection.
8798 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8799 (gomp_task_maybe_wait_for_dependencies): New function.
8800 * testsuite/libgomp.c/depend-5.c: New test.
8801
8802 2014-07-13 Tobias Burnus <burnus@net-b.de>
8803
8804 * testsuite/libgomp.fortran/pr34020.f90: Make compile
8805 with TS 18508/Fortran 2015.
8806
8807 2014-07-06 Marek Polacek <polacek@redhat.com>
8808
8809 PR c/6940
8810 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8811
8812 2014-07-03 Jakub Jelinek <jakub@redhat.com>
8813
8814 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8815 matches regex $lang_source_re, add $lang_include_flags to options.
8816 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8817 * testsuite/libgomp.c++/c++.exp: Likewise.
8818 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8819 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8820 ALWAYS_CFLAGS.
8821 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8822
8823 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8824
8825 * testsuite/libgomp.fortran/fortran.exp: Explain
8826 gfortran-dg-runtest usage.
8827
8828 2014-06-25 Jakub Jelinek <jakub@redhat.com>
8829
8830 * testsuite/libgomp.fortran/simd5.f90: New test.
8831 * testsuite/libgomp.fortran/simd6.f90: New test.
8832 * testsuite/libgomp.fortran/simd7.f90: New test.
8833
8834 2014-06-24 Jakub Jelinek <jakub@redhat.com>
8835
8836 * testsuite/libgomp.c/for-2.c: Define SC to static for
8837 #pragma omp for simd testing.
8838 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8839 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8840 SC macro.
8841 * testsuite/libgomp.c/simd-14.c: New test.
8842 * testsuite/libgomp.c/simd-15.c: New test.
8843 * testsuite/libgomp.c/simd-16.c: New test.
8844 * testsuite/libgomp.c/simd-17.c: New test.
8845 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8846 #pragma omp for simd testing.
8847 * testsuite/libgomp.c++/simd10.C: New test.
8848 * testsuite/libgomp.c++/simd11.C: New test.
8849 * testsuite/libgomp.c++/simd12.C: New test.
8850 * testsuite/libgomp.c++/simd13.C: New test.
8851
8852 * testsuite/libgomp.fortran/aligned1.f03: New test.
8853 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8854 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8855 tasks with !$omp parallel !$omp single.
8856 * testsuite/libgomp.fortran/target8.f90: New test.
8857 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8858 not to use trim in the combiner, instead call elemental function.
8859 (fn): New elemental function.
8860 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8861 Make elemental.
8862 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8863 omp_in): Likewise.
8864 * testsuite/libgomp.fortran/udr12.f90: New test.
8865 * testsuite/libgomp.fortran/udr13.f90: New test.
8866 * testsuite/libgomp.fortran/udr14.f90: New test.
8867 * testsuite/libgomp.fortran/udr15.f90: New test.
8868
8869 2014-06-18 Jakub Jelinek <jakub@redhat.com>
8870
8871 * omp_lib.f90.in (openmp_version): Set to 201307.
8872 * omp_lib.h.in (openmp_version): Likewise.
8873 * testsuite/libgomp.c/target-8.c: New test.
8874 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8875 and inbranch clauses.
8876 * testsuite/libgomp.fortran/depend-3.f90: New test.
8877 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8878 openmp_version.
8879 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8880 * testsuite/libgomp.fortran/target1.f90: New test.
8881 * testsuite/libgomp.fortran/target2.f90: New test.
8882 * testsuite/libgomp.fortran/target3.f90: New test.
8883 * testsuite/libgomp.fortran/target4.f90: New test.
8884 * testsuite/libgomp.fortran/target5.f90: New test.
8885 * testsuite/libgomp.fortran/target6.f90: New test.
8886 * testsuite/libgomp.fortran/target7.f90: New test.
8887
8888 2014-06-10 Jakub Jelinek <jakub@redhat.com>
8889
8890 PR fortran/60928
8891 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8892 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8893 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8894 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8895 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8896 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8897 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8898 * testsuite/libgomp.fortran/associate1.f90: New test.
8899 * testsuite/libgomp.fortran/associate2.f90: New test.
8900 * testsuite/libgomp.fortran/procptr1.f90: New test.
8901
8902 2014-06-06 Jakub Jelinek <jakub@redhat.com>
8903
8904 * testsuite/libgomp.fortran/simd1.f90: New test.
8905 * testsuite/libgomp.fortran/udr1.f90: New test.
8906 * testsuite/libgomp.fortran/udr2.f90: New test.
8907 * testsuite/libgomp.fortran/udr3.f90: New test.
8908 * testsuite/libgomp.fortran/udr4.f90: New test.
8909 * testsuite/libgomp.fortran/udr5.f90: New test.
8910 * testsuite/libgomp.fortran/udr6.f90: New test.
8911 * testsuite/libgomp.fortran/udr7.f90: New test.
8912 * testsuite/libgomp.fortran/udr8.f90: New test.
8913 * testsuite/libgomp.fortran/udr9.f90: New test.
8914 * testsuite/libgomp.fortran/udr10.f90: New test.
8915 * testsuite/libgomp.fortran/udr11.f90: New test.
8916
8917 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
8918
8919 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8920 vect_simd_clones effective target.
8921 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8922
8923 2014-05-21 Jakub Jelinek <jakub@redhat.com>
8924
8925 PR middle-end/61252
8926 * testsuite/libgomp.c++/simd-9.C: New test.
8927
8928 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
8929
8930 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8931 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8932 texts according to their @menu entry positions.
8933
8934 2014-05-11 Jakub Jelinek <jakub@redhat.com>
8935
8936 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8937 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8938 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8939 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8940 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8941 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8942 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8943 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8944 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8945 * testsuite/libgomp.fortran/depend-1.f90: New test.
8946 * testsuite/libgomp.fortran/depend-2.f90: New test.
8947 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8948 * testsuite/libgomp.fortran/simd1.f90: New test.
8949 * testsuite/libgomp.fortran/simd2.f90: New test.
8950 * testsuite/libgomp.fortran/simd3.f90: New test.
8951 * testsuite/libgomp.fortran/simd4.f90: New test.
8952 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8953
8954 2014-05-02 Jakub Jelinek <jakub@redhat.com>
8955
8956 * testsuite/libgomp.c/simd-10.c: New test.
8957 * testsuite/libgomp.c/simd-11.c: New test.
8958 * testsuite/libgomp.c/simd-12.c: New test.
8959 * testsuite/libgomp.c/simd-13.c: New test.
8960
8961 2014-04-24 Jakub Jelinek <jakub@redhat.com>
8962
8963 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8964 atomic type clauses in any order and optional comma in between.
8965 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8966 * testsuite/libgomp.c/atomic-17.c: Likewise.
8967
8968 * testsuite/libgomp.c/simd-7.c: New test.
8969 * testsuite/libgomp.c/simd-8.c: New test.
8970 * testsuite/libgomp.c/simd-9.c: New test.
8971 * testsuite/libgomp.c/loop-16.c: New test.
8972
8973 2014-04-02 Richard Henderson <rth@redhat.com>
8974
8975 * config/linux/futex.h (futex_wait): Get error value from errno.
8976 (futex_wake): Likewise.
8977
8978 2014-03-25 Jakub Jelinek <jakub@redhat.com>
8979
8980 PR c++/60331
8981 * testsuite/libgomp.c++/udr-11.C: New test.
8982 * testsuite/libgomp.c++/udr-12.C: New test.
8983 * testsuite/libgomp.c++/udr-13.C: New test.
8984 * testsuite/libgomp.c++/udr-14.C: New test.
8985 * testsuite/libgomp.c++/udr-15.C: New test.
8986 * testsuite/libgomp.c++/udr-16.C: New test.
8987 * testsuite/libgomp.c++/udr-17.C: New test.
8988 * testsuite/libgomp.c++/udr-18.C: New test.
8989 * testsuite/libgomp.c++/udr-19.C: New test.
8990
8991 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8992
8993 Update copyright years
8994
8995 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8996
8997 * hashtab.h: Use the standard form for the copyright notice.
8998
8999 2014-01-02 Tobias Burnus <burnus@net-b.de>
9000
9001 * libgomp.texi: Bump @copying's copyright year.
9002
9003 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
9004
9005 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
9006 alloca () with __builtin_alloca ().
9007 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9008 * testsuite/libgomp.c/lock-3.c: Likewise.
9009 * testsuite/libgomp.c/pr48591.c: Likewise.
9010
9011 2013-12-17 Jakub Jelinek <jakub@redhat.com>
9012
9013 PR testsuite/59534
9014 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9015 comparisons.
9016
9017 2013-12-16 Jakub Jelinek <jakub@redhat.com>
9018
9019 PR libgomp/58756
9020 * testsuite/libgomp.c/pr58756.c: New test.
9021
9022 2013-12-12 Jakub Jelinek <jakub@redhat.com>
9023
9024 PR libgomp/59467
9025 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9026 !$omp parallel.
9027
9028 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
9029
9030 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9031 ALWAYS_CFLAGS.
9032 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9033 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9034 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9035 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9036 Likewise.
9037
9038 * libgomp_g.h: Include <stddef.h> for size_t.
9039
9040 * libgomp.spec.in: Update comment about libgomp's dependencies.
9041 * configure.ac: Likewise.
9042 * configure: Regenerate.
9043
9044 2013-10-16 Tobias Burnus <burnus@net-b.de>
9045
9046 * libgomp.texi: (Runtime Library Routines): Update references for
9047 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9048 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9049 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9050 (Environment Variables): Update references for OpenMP 4.0. Add
9051 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9052 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9053 order.
9054
9055 2013-10-14 Jakub Jelinek <jakub@redhat.com>
9056
9057 * env.c (parse_bind_var): Initialize value to avoid
9058 (false positive) warning.
9059
9060 2013-10-12 Jakub Jelinek <jakub@redhat.com>
9061
9062 PR libgomp/58691
9063 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9064 to check variable.
9065 (gomp_init_num_threads): Move i variable declaration into
9066 #ifdef CPU_ALLOC_SIZE block.
9067 * config/linux/affinity.c (gomp_affinity_init_level): Test
9068 gomp_places_list_len == 0 rather than gomp_places_list == 0
9069 when checking for topology reading error.
9070 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9071 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9072 gomp_places_list, only parse env var and always return false.
9073 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9074 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9075 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9076 and either of these variables were parsed correctly into a places
9077 list.
9078
9079 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9080 Jakub Jelinek <jakub@redhat.com>
9081
9082 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9083 of 5 loopfn matches.
9084 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9085 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9086 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9087 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9088 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9089 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9090 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9091 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9092
9093 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
9094
9095 * Makefile.am (omp_lib.mod): Streamline rule.
9096 * Makefile.in: Regenerate.
9097
9098 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9099 exceptions.
9100
9101 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9102 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9103 * testsuite/libgomp.fortran/lib2.f: Likewise.
9104 * testsuite/libgomp.fortran/lib3.f: Likewise.
9105
9106 * configure.ac: Typo fix.
9107 * configure: Regenerate.
9108
9109 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9110 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9111
9112 * omp.h.in: Don't touch the user's namespace.
9113
9114 2013-10-11 Jakub Jelinek <jakub@redhat.com>
9115 Tobias Burnus <burnus@net-b.de>
9116 Richard Henderson <rth@redhat.com>
9117
9118 * target.c: New file.
9119 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9120 * Makefile.in: Regenerated.
9121 * libgomp_g.h (GOMP_task): Add depend argument.
9122 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9123 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9124 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9125 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9126 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9127 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9128 GOMP_taskgroup_start, GOMP_taskgroup_end,
9129 GOMP_parallel_sections): New prototypes.
9130 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9131 (omp_is_initial_device_): New function.
9132 (ULP, STR1, STR2, ialias_redirect): Removed.
9133 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9134 omp_set_default_device_8_, omp_get_default_device_,
9135 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9136 functions.
9137 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9138 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9139 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9140 @@GOMP_4.0.
9141 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9142 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9143 omp_set_default_device, omp_set_default_device_,
9144 omp_set_default_device_8_, omp_get_default_device,
9145 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9146 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9147 omp_get_team_num_): Export @@OMP_4.0.
9148 * team.c (struct gomp_thread_start_data): Add place field.
9149 (gomp_thread_start): Clear thr->thread_pool and
9150 thr->task before returning. Use gomp_team_barrier_wait_final
9151 instead of gomp_team_barrier_wait. Initialize thr->place.
9152 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9153 team_cancelled and task_queued_count fields.
9154 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9155 before calling pthread_exit.
9156 (gomp_free_thread): No longer static. Use
9157 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9158 (gomp_team_start): Add flags argument. Set
9159 thr->thread_pool->threads_busy to nthreads immediately after creating
9160 new pool. Use gomp_managed_threads_lock instead of
9161 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9162 (gomp_team_end): Use gomp_managed_threads_lock instead of
9163 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9164 of gomp_team_barrier_wait. If team->team_cancelled, call
9165 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
9166 rather than thr->ts.work_share.
9167 (initialize_team): Don't call gomp_sem_init here.
9168 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9169 caller.
9170 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9171 * env.c (gomp_global_icv): Add default_device_var, target_data and
9172 bind_var initializers.
9173 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9174 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9175 gomp_places_list_len): New variables.
9176 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9177 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9178 sized places.
9179 (gomp_cancel_var): New global variable.
9180 (parse_int): New function.
9181 (handle_omp_display_env): New function.
9182 (initialize_env): Use it. Initialize default_device_var.
9183 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9184 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9185 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9186 been successfully parsed (and call gomp_init_affinity in that case).
9187 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9188 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9189 omp_get_team_num, omp_is_initial_device): New functions.
9190 * libgomp.h: Include stdlib.h.
9191 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9192 Define.
9193 (struct target_mem_desc): Forward declare.
9194 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9195 and thread_limit_var fields.
9196 (gomp_get_num_devices): New prototype.
9197 (gomp_cancel_var): New extern decl.
9198 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9199 team_cancelled and task_queued_count fields. Add comments about
9200 task_{,queued_,running_}count.
9201 (gomp_cancel_kind): New enum.
9202 (gomp_work_share_end_cancel): New prototype.
9203 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9204 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9205 and depend fields.
9206 (struct gomp_taskgroup): New type.
9207 (struct gomp_task_depend_entry,
9208 struct gomp_dependers_vec): New types.
9209 (gomp_finish_task): Free depend_hash if non-NULL.
9210 (struct gomp_team_state): Add place_partition_off
9211 and place_partition_len fields.
9212 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9213 gomp_places_list_len): New extern decls.
9214 (struct gomp_thread): Add place field.
9215 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9216 (gomp_init_thread_affinity): Add place argument.
9217 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9218 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9219 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9220 gomp_affinity_init_level, gomp_affinity_print_place): New
9221 prototypes.
9222 (gomp_team_start): Add flags argument.
9223 (gomp_thread_limit_var, gomp_remaining_threads_count,
9224 gomp_remaining_threads_lock): Remove.
9225 (gomp_managed_threads_lock): New variable.
9226 (struct gomp_thread_pool): Add threads_busy field.
9227 (gomp_free_thread): New prototype.
9228 * task.c: Include hashtab.h.
9229 (hash_entry_type): New typedef.
9230 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9231 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9232 copy_ctors_done and taskgroup fields.
9233 (GOMP_task): Add depend argument, handle depend clauses. If
9234 gomp_team_barrier_cancelled or if it's taskgroup has been
9235 cancelled, don't queue or start new tasks. Set copy_ctors_done
9236 field if needed. Initialize taskgroup field. If copy_ctors_done
9237 and already cancelled, don't discard the task. If taskgroup is
9238 non-NULL, enqueue the task into taskgroup queue. Increment
9239 num_children field in taskgroup. Increment task_queued_count.
9240 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9241 gomp_task_run_post_remove_taskgroup): New inline functions.
9242 (gomp_task_run_post_handle_depend_hash,
9243 gomp_task_run_post_handle_dependers,
9244 gomp_task_run_post_handle_depend): New functions.
9245 (GOMP_taskwait): Use them. If more than one new tasks
9246 have been queued, wake other threads if needed.
9247 (gomp_barrier_handle_tasks): Likewise. If
9248 gomp_team_barrier_cancelled, don't start any new tasks, just free
9249 all tasks.
9250 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9251 * omp_lib.f90.in
9252 (omp_proc_bind_kind, omp_proc_bind_false,
9253 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9254 omp_proc_bind_spread): New params.
9255 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9256 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9257 omp_get_team_num, omp_is_initial_device): New interfaces.
9258 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9259 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9260 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9261 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9262 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9263 useless use omp_lib_kinds.
9264 * omp.h.in (omp_proc_bind_t): New typedef.
9265 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9266 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9267 omp_get_team_num, omp_is_initial_device): New prototypes.
9268 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9269 through to gomp_team_start.
9270 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9271 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9272 Adjust gomp_parallel_loop_start callers.
9273 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9274 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9275 GOMP_loop_end_cancel): New functions.
9276 (GOMP_parallel_end): Add ialias_redirect.
9277 * hashtab.h: New file.
9278 * libgomp.texi (Environment Variables): Minor cleanup,
9279 update section refs to OpenMP 4.0rc2.
9280 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9281 environment variables.
9282 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9283 team->work_shares_to_free to thr->ts.work_share before calling
9284 free_work_share.
9285 (gomp_work_share_end_cancel): New function.
9286 * config/linux/proc.c: Include errno.h.
9287 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9288 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9289 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9290 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9291 gomp_cpuset_size is sizeof (cpu_set_t).
9292 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9293 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9294 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9295 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9296 contain any logical CPUs.
9297 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9298 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9299 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9300 pthread_getaffinity_np. Check gomp_places_list instead of
9301 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9302 * config/linux/bar.c (gomp_barrier_wait_end,
9303 gomp_barrier_wait_last): Use BAR_* defines.
9304 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9305 from state where needed. Set work_share_cancelled to 0 on last
9306 thread.
9307 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9308 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9309 functions.
9310 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9311 Add cpusetsize argument.
9312 (gomp_cpuset_size, gomp_cpusetp): Declare.
9313 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9314 (affinity_counter): Remove.
9315 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9316 if CPU_ALLOC_SIZE isn't defined.
9317 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9318 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9319 bind current thread to the first place.
9320 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9321 pthread_setaffinity_np to gomp_places_list[place].
9322 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9323 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9324 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9325 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9326 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9327 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9328 (gomp_barrier_t): Add awaited_final field.
9329 (gomp_barrier_init): Initialize awaited_final field.
9330 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9331 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9332 prototypes.
9333 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9334 defines.
9335 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9336 gomp_team_barrier_cancelled): New inline functions.
9337 (gomp_barrier_last_thread,
9338 gomp_team_barrier_set_task_pending,
9339 gomp_team_barrier_clear_task_pending,
9340 gomp_team_barrier_set_waiting_for_tasks,
9341 gomp_team_barrier_waiting_for_tasks,
9342 gomp_team_barrier_done): Use BAR_* defines.
9343 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9344 (gomp_barrier_wait_end): Use BAR_* defines.
9345 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9346 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9347 Use BAR_* defines.
9348 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9349 gomp_team_barrier_cancel): New functions.
9350 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9351 argument.
9352 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9353 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9354 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9355 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9356 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9357 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9358 (gomp_barrier_t): Add cancellable field.
9359 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9360 gomp_team_barrier_cancel): New prototypes.
9361 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9362 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9363 gomp_team_barrier_cancelled): New inline functions.
9364 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9365 gomp_team_barrier_set_task_pending,
9366 gomp_team_barrier_clear_task_pending,
9367 gomp_team_barrier_set_waiting_for_tasks,
9368 gomp_team_barrier_waiting_for_tasks,
9369 gomp_team_barrier_done): Use BAR_* defines.
9370 * barrier.c (GOMP_barrier_cancel): New function.
9371 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9372 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9373 omp_proc_bind_spread): New params.
9374 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9375 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9376 omp_get_team_num, omp_is_initial_device): New externals.
9377 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9378 New functions.
9379 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9380 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9381 infinity. If not nested, just return minimum of max_num_threads
9382 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9383 to the returned value. Otherwise, don't update atomically
9384 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9385 (GOMP_parallel_end): Adjust for thread_limit now being in
9386 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9387 infinity. Adjust threads_busy in the pool rather than
9388 gomp_remaining_threads_count. Remember team->nthreads and call
9389 gomp_team_end before adjusting threads_busy, if not nested
9390 afterwards, just set it to 1 non-atomically. Add ialias.
9391 (GOMP_parallel_start): Adjust gomp_team_start caller.
9392 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9393 * testsuite/libgomp.c/affinity-1.c: New test.
9394 * testsuite/libgomp.c/atomic-15.c: New test.
9395 * testsuite/libgomp.c/atomic-16.c: New test.
9396 * testsuite/libgomp.c/atomic-17.c: New test.
9397 * testsuite/libgomp.c/cancel-for-1.c: New test.
9398 * testsuite/libgomp.c/cancel-for-2.c: New test.
9399 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9400 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9401 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9402 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9403 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9404 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9405 * testsuite/libgomp.c/depend-1.c: New test.
9406 * testsuite/libgomp.c/depend-2.c: New test.
9407 * testsuite/libgomp.c/depend-3.c: New test.
9408 * testsuite/libgomp.c/depend-4.c: New test.
9409 * testsuite/libgomp.c/for-1.c: New test.
9410 * testsuite/libgomp.c/for-1.h: New file.
9411 * testsuite/libgomp.c/for-2.c: New test.
9412 * testsuite/libgomp.c/for-2.h: New file.
9413 * testsuite/libgomp.c/for-3.c: New test.
9414 * testsuite/libgomp.c/pr58392.c: New test.
9415 * testsuite/libgomp.c/simd-1.c: New test.
9416 * testsuite/libgomp.c/simd-2.c: New test.
9417 * testsuite/libgomp.c/simd-3.c: New test.
9418 * testsuite/libgomp.c/simd-4.c: New test.
9419 * testsuite/libgomp.c/simd-5.c: New test.
9420 * testsuite/libgomp.c/simd-6.c: New test.
9421 * testsuite/libgomp.c/target-1.c: New test.
9422 * testsuite/libgomp.c/target-2.c: New test.
9423 * testsuite/libgomp.c/target-3.c: New test.
9424 * testsuite/libgomp.c/target-4.c: New test.
9425 * testsuite/libgomp.c/target-5.c: New test.
9426 * testsuite/libgomp.c/target-6.c: New test.
9427 * testsuite/libgomp.c/target-7.c: New test.
9428 * testsuite/libgomp.c/taskgroup-1.c: New test.
9429 * testsuite/libgomp.c/thread-limit-1.c: New test.
9430 * testsuite/libgomp.c/thread-limit-2.c: New test.
9431 * testsuite/libgomp.c/thread-limit-3.c: New test.
9432 * testsuite/libgomp.c/udr-1.c: New test.
9433 * testsuite/libgomp.c/udr-2.c: New test.
9434 * testsuite/libgomp.c/udr-3.c: New test.
9435 * testsuite/libgomp.c++/affinity-1.C: New test.
9436 * testsuite/libgomp.c++/atomic-10.C: New test.
9437 * testsuite/libgomp.c++/atomic-11.C: New test.
9438 * testsuite/libgomp.c++/atomic-12.C: New test.
9439 * testsuite/libgomp.c++/atomic-13.C: New test.
9440 * testsuite/libgomp.c++/atomic-14.C: New test.
9441 * testsuite/libgomp.c++/atomic-15.C: New test.
9442 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9443 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9444 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9445 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9446 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9447 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9448 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9449 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9450 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9451 * testsuite/libgomp.c++/cancel-test.h: New file.
9452 * testsuite/libgomp.c++/for-9.C: New test.
9453 * testsuite/libgomp.c++/for-10.C: New test.
9454 * testsuite/libgomp.c++/for-11.C: New test.
9455 * testsuite/libgomp.c++/simd-1.C: New test.
9456 * testsuite/libgomp.c++/simd-2.C: New test.
9457 * testsuite/libgomp.c++/simd-3.C: New test.
9458 * testsuite/libgomp.c++/simd-4.C: New test.
9459 * testsuite/libgomp.c++/simd-5.C: New test.
9460 * testsuite/libgomp.c++/simd-6.C: New test.
9461 * testsuite/libgomp.c++/simd-7.C: New test.
9462 * testsuite/libgomp.c++/simd-8.C: New test.
9463 * testsuite/libgomp.c++/target-1.C: New test.
9464 * testsuite/libgomp.c++/target-2.C: New test.
9465 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9466 * testsuite/libgomp.c++/target-3.C: New test.
9467 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9468 * testsuite/libgomp.c++/udr-1.C: New test.
9469 * testsuite/libgomp.c++/udr-2.C: New test.
9470 * testsuite/libgomp.c++/udr-3.C: New test.
9471 * testsuite/libgomp.c++/udr-4.C: New test.
9472 * testsuite/libgomp.c++/udr-5.C: New test.
9473 * testsuite/libgomp.c++/udr-6.C: New test.
9474 * testsuite/libgomp.c++/udr-7.C: New test.
9475 * testsuite/libgomp.c++/udr-8.C: New test.
9476 * testsuite/libgomp.c++/udr-9.C: New test.
9477
9478 2013-09-20 Jakub Jelinek <jakub@redhat.com>
9479
9480 PR testsuite/57605
9481 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9482 ALWAYS_CFLAGS.
9483
9484 2013-09-20 Alan Modra <amodra@gmail.com>
9485
9486 * configure: Regenerate.
9487
9488 2013-09-19 Jakub Jelinek <jakub@redhat.com>
9489
9490 * testsuite/libgomp.c/sections-2.c: New test.
9491
9492 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9493
9494 * testsuite/libgomp.fortran/strassen.f90:
9495 Add dg-skip-if aarch64_tiny.
9496
9497 2013-06-20 Iain Sandoe <iain@codesourcery.com>
9498 Cesar Philippidis <cesar@codesourcery.com>
9499
9500 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9501 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9502 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9503 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9504 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9505 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9506 Use dg-runtest rather than gfortran-dg-runtest.
9507
9508 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9509
9510 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9511 Linux-based x86 systems to cover all GNU systems.
9512 * testsuite/libgomp.c/lock-3.c: Likewise.
9513 * testsuite/libgomp.c/pr48591.c: Likewise.
9514
9515 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9516
9517 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9518 GNU/Hurd, as done for Linux-based systems.
9519
9520 * config/posix/ptrlock.h: Fix comment.
9521
9522 2013-05-27 Tobias Burnus <burnus@net-b.de>
9523
9524 PR fortran/57423
9525 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9526 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9527 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9528 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9529 omp_destroy_nest_lock): Correct arguments to match the one in
9530 the OpenMP spec.
9531 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9532 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9533 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9534 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9535
9536 2013-05-16 Jakub Jelinek <jakub@redhat.com>
9537
9538 * testsuite/libgomp.c/loop-13.c: New test.
9539 * testsuite/libgomp.c/loop-14.c: New test.
9540 * testsuite/libgomp.c/loop-15.c: New test.
9541 * testsuite/libgomp.c++/loop-13.C: New test.
9542 * testsuite/libgomp.c++/loop-14.C: New test.
9543 * testsuite/libgomp.c++/loop-15.C: New test.
9544
9545 2013-02-06 Jakub Jelinek <jakub@redhat.com>
9546
9547 PR middle-end/56217
9548 * testsuite/libgomp.c++/pr56217.C: New test.
9549
9550 2013-02-01 Alan Modra <amodra@gmail.com>
9551
9552 * task.c (GOMP_task, GOMP_taskwait): Comment.
9553
9554 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9555 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9556
9557 PR libgomp/55561
9558 * config/linux/wait.h (do_spin): Use atomic load for addr.
9559 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9560 for intptr and ptrlock.
9561 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9562 for ptrlock.
9563
9564 2013-01-22 Alan Modra <amodra@gmail.com>
9565
9566 PR libgomp/51376
9567 PR libgomp/56073
9568 * task.c (GOMP_task): Revert 2011-12-09 change.
9569 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9570 barrier to read task->children..
9571 (gomp_barrier_handle_tasks): ..and matching atomic store with
9572 release barrier here when setting parent->children to NULL.
9573
9574 2013-01-16 Jakub Jelinek <jakub@redhat.com>
9575 Tobias Burnus <burnus@net-b.de>
9576
9577 PR driver/55884
9578 * testsuite/libgomp.fortran/fortran.exp: Use
9579 -fintrinsic-modules-path= instead of
9580 -fintrinsic-modules-path.
9581
9582 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9583
9584 Update copyright years.
9585
9586 2012-12-19 Tobias Burnus <burnus@net-b.de>
9587
9588 * testsuite/libgomp.fortran/fortran.exp: Set
9589 -fintrinsic-modules-path.
9590
9591 2012-12-19 Tobias Burnus <burnus@net-b.de>
9592
9593 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9594 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9595
9596 2012-11-21 Jakub Jelinek <jakub@redhat.com>
9597
9598 PR libgomp/55411
9599 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9600 if pool had any threads_used.
9601
9602 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9603
9604 * testsuite/libgomp.c++/pr24455.C: Use
9605 -Wl,-undefined,dynamic_lookup on darwin.
9606
9607 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
9608
9609 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9610
9611 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9612
9613 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9614
9615 2012-10-23 Ian Bolton <ian.bolton@arm.com>
9616 Jim MacArthur <jim.macarthur@arm.com>
9617 Marcus Shawcroft <marcus.shawcroft@arm.com>
9618 Nigel Stephens <nigel.stephens@arm.com>
9619 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9620 Richard Earnshaw <rearnsha@arm.com>
9621 Sofiane Naci <sofiane.naci@arm.com>
9622 Stephen Thomas <stephen.thomas@arm.com>
9623 Tejas Belagod <tejas.belagod@arm.com>
9624 Yufeng Zhang <yufeng.zhang@arm.com>
9625
9626 * configure.tgt: Add AArch64.
9627
9628 2012-10-04 Jason Merrill <jason@redhat.com>
9629
9630 * testsuite/libgomp.c++/tls-init1.C: New.
9631
9632 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
9633
9634 * configure: Regenerated.
9635
9636 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9637
9638 * config/linux/mips/futex.h (sys_futex0): Change to static
9639 function with noinline, nomips16 attributes under MIPS16. Adjust
9640 asm statement to place 'li v0,SYS_futex' immediately before
9641 syscall insn.
9642
9643 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9644
9645 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9646 conflict with index.html on case-insensitive file systems.
9647
9648 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
9649
9650 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9651 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9652
9653 2012-07-02 Richard Guenther <rguenther@suse.de>
9654 Michael Matz <matz@suse.de>
9655 Tobias Grosser <tobias@grosser.es>
9656 Sebastian Pop <sebpop@gmail.com>
9657
9658 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9659 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9660 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9661 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9662
9663 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9664
9665 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9666
9667 2012-06-22 Richard Guenther <rguenther@suse.de>
9668
9669 Merge from graphite branch
9670 2012-01-13 Tobias Grosser <tobias@grosser.es>
9671
9672 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9673 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9674
9675 2012-06-07 Jakub Jelinek <jakub@redhat.com>
9676
9677 PR middle-end/53580
9678 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9679 use GOMP_barrier () call instead.
9680 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9681 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9682 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9683 call GOMP_barrier instead.
9684 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9685
9686 2012-06-06 Jakub Jelinek <jakub@redhat.com>
9687
9688 PR libgomp/52993
9689 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9690 argument to memset call.
9691
9692 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9693
9694 * configure: Regenerated.
9695
9696 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9697
9698 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9699
9700 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9701
9702 PR bootstrap/52812
9703 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9704
9705 2012-03-22 Jakub Jelinek <jakub@redhat.com>
9706
9707 PR middle-end/52547
9708 * testsuite/libgomp.c/pr52547.c: New test.
9709
9710 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9711
9712 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9713
9714 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9715
9716 * configure.tgt (mips-sgi-irix6*): Remove.
9717
9718 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9719
9720 * configure.tgt (alpha*-dec-osf*): Remove.
9721
9722 * config/osf/sem.h: Remove.
9723 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9724
9725 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9726
9727 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9728
9729 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9730
9731 PR libstdc++/52188
9732 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9733 Remove ENABLE_SYMVERS_SOL2.
9734 * configure: Regenerate.
9735 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9736 (PREPROCESS): New variable.
9737 (libgomp.ver): New target.
9738 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9739 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9740 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9741 Use libgomp.ver.
9742 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9743 * Makefile.in: Regenerate.
9744
9745 2012-02-14 Walter Lee <walt@tilera.com>
9746
9747 * configure.tgt: Handle tilegx and tilepro.
9748 * config/linux/tile/futex.h: New file.
9749
9750 2012-02-08 Richard Guenther <rguenther@suse.de>
9751
9752 PR tree-optimization/46886
9753 * testsuite/libgomp.c/pr46886.c: New testcase.
9754
9755 2012-01-25 Matthias Klose <doko@ubuntu.com>
9756
9757 * config/linux/arm: Remove empty directory.
9758 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9759
9760 2011-12-09 Alan Modra <amodra@gmail.com>
9761
9762 PR libgomp/51376
9763 * task.c (GOMP_taskwait): Don't access task->children outside of
9764 task_lock mutex region.
9765 (GOMP_task): Likewise.
9766
9767 2011-12-06 Jakub Jelinek <jakub@redhat.com>
9768
9769 PR libgomp/51132
9770 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9771 to file scope.
9772 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9773 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9774 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9775 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9776 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9777
9778 2011-12-02 Alan Modra <amodra@gmail.com>
9779
9780 * config/linux/affinity.c: Use atomic rather than sync builtin.
9781 * config/linux/lock.c: Likewise.
9782 * config/linux/ptrlock.h: Likewise.
9783 * config/linux/ptrlock.c: Likewise.
9784 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9785 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9786 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9787 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9788 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9789 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9790 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9791 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9792 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9793 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9794
9795 2011-11-30 Alan Modra <amodra@gmail.com>
9796
9797 PR libgomp/51298
9798 * config/linux/bar.h: Use atomic rather than sync builtins.
9799 * config/linux/bar.c: Likewise. Add missing acquire
9800 synchronisation on generation field.
9801 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9802 double unlock.
9803
9804 2011-11-30 Alan Modra <amodra@gmail.com>
9805
9806 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9807 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9808 * config/linux/mutex.h: Use atomic rather than sync builtins.
9809 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9810 * config/linux/omp-lock.h: Comment fix.
9811 * config/linux/arm/mutex.h: Delete.
9812 * config/linux/powerpc/mutex.h: Delete.
9813 * config/linux/ia64/mutex.h: Delete.
9814 * config/linux/mips/mutex.h: Delete.
9815
9816 2011-11-30 Alan Modra <amodra@gmail.com>
9817
9818 PR libgomp/51249
9819 * config/linux/sem.h: Rewrite.
9820 * config/linux/sem.c: Rewrite.
9821
9822 2011-11-28 Richard Henderson <rth@redhat.com>
9823
9824 * libgomp.h (enum memmodel): New.
9825
9826 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
9827
9828 * configure: Regenerate.
9829
9830 2011-10-10 Matthias Klose <doko@ubuntu.com>
9831
9832 * config/posix95: Remove empty directory.
9833
9834 2011-08-26 Jakub Jelinek <jakub@redhat.com>
9835
9836 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9837
9838 2011-08-19 Jakub Jelinek <jakub@redhat.com>
9839
9840 PR fortran/49792
9841 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9842 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9843
9844 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9845
9846 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9847
9848 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9849
9850 PR libgomp/49965
9851 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9852
9853 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
9854
9855 * config/linux/proc.h: New.
9856 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9857 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9858 (gomp_init_num_threads): Update call to cpuset_popcount.
9859 (get_num_procs): Ditto.
9860 * config/linux/affinity.c (gomp_init_affinity): Call
9861 gomp_cpuset_popcount.
9862
9863 2011-08-02 Jakub Jelinek <jakub@redhat.com>
9864
9865 PR fortran/42041
9866 PR fortran/46752
9867 * omp.h.in (omp_in_final): New prototype.
9868 * omp_lib.f90.in (omp_in_final): New interface.
9869 (omp_integer_kind, omp_logical_kind): Remove
9870 and replace all its uses in the module with 4.
9871 (openmp_version): Change to 201107.
9872 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9873 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9874 kind for the parameters.
9875 (omp_in_final): New external.
9876 (openmp_version): Change to 201107.
9877 * task.c (omp_in_final): New function.
9878 (gomp_init_task): Initialize final_task.
9879 (GOMP_task): Remove unused attribute from flags. Handle final
9880 tasks.
9881 (GOMP_taskyield): New function.
9882 (omp_in_final): Return true if if (false) or final (true) task
9883 or descendant of final (true).
9884 * fortran.c (omp_in_final_): New function.
9885 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9886 (GOMP_3.0): Export GOMP_taskyield.
9887 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9888 variables.
9889 (parse_unsigned_long_list): New function.
9890 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9891 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9892 even if parse_affinity returned false.
9893 * config/linux/affinity.c (gomp_init_affinity): Handle
9894 gomp_cpu_affinity_len == 0.
9895 * libgomp_g.h (GOMP_taskyield): New prototype.
9896 * libgomp.h (struct gomp_task): Add final_task field.
9897 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9898 * team.c (gomp_team_start): Override new task's nthreads_var icv
9899 if list form OMP_NUM_THREADS has been used and it has value for
9900 the new nesting level.
9901
9902 * testsuite/libgomp.c/atomic-11.c: New test.
9903 * testsuite/libgomp.c/atomic-12.c: New test.
9904 * testsuite/libgomp.c/atomic-13.c: New test.
9905 * testsuite/libgomp.c/atomic-14.c: New test.
9906 * testsuite/libgomp.c/reduction-6.c: New test.
9907 * testsuite/libgomp.c/task-5.c: New test.
9908 * testsuite/libgomp.c++/atomic-2.C: New test.
9909 * testsuite/libgomp.c++/atomic-3.C: New test.
9910 * testsuite/libgomp.c++/atomic-4.C: New test.
9911 * testsuite/libgomp.c++/atomic-5.C: New test.
9912 * testsuite/libgomp.c++/atomic-6.C: New test.
9913 * testsuite/libgomp.c++/atomic-7.C: New test.
9914 * testsuite/libgomp.c++/atomic-8.C: New test.
9915 * testsuite/libgomp.c++/atomic-9.C: New test.
9916 * testsuite/libgomp.c++/task-8.C: New test.
9917 * testsuite/libgomp.c++/reduction-4.C: New test.
9918 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9919 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9920 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9921 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9922 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9923 * testsuite/libgomp.fortran/pointer1.f90: New test.
9924 * testsuite/libgomp.fortran/pointer2.f90: New test.
9925 * testsuite/libgomp.fortran/task4.f90: New test.
9926
9927 2011-08-02 Tobias Burnus <burnus@net-b.de>
9928
9929 * libgomp.texi: Update OpenMP spec references to 3.1.
9930 (omp_in_final,OMP_PROC_BIND): New sections.
9931 (OMP_NUM_THREADS): Document that the value can be now a list.
9932 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9933
9934 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9935
9936 * config/linux/x86/futex.h: Check __x86_64__ instead of
9937 __LP64__.
9938
9939 2011-07-29 Jakub Jelinek <jakub@redhat.com>
9940
9941 PR middle-end/49897
9942 PR middle-end/49898
9943 * testsuite/libgomp.c/pr49897-1.c: New test.
9944 * testsuite/libgomp.c/pr49897-2.c: New test.
9945 * testsuite/libgomp.c/pr49898-1.c: New test.
9946 * testsuite/libgomp.c/pr49898-2.c: New test.
9947
9948 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9949
9950 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9951 for ia32 instead of ilp32.
9952
9953 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9954 * testsuite/libgomp.c/atomic-6.c: Likewise.
9955
9956 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9957
9958 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9959 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9960
9961 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9962
9963 PR libgomp/45351
9964 * config/osf/sem.h: New file.
9965 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9966
9967 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9968
9969 PR target/49541
9970 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9971 ldflags.
9972
9973 2011-07-15 Jakub Jelinek <jakub@redhat.com>
9974
9975 * config/linux/wait.h (do_spin): New inline, largely copied
9976 from do_wait, just don't do futex_wait here, instead return true if
9977 it should be done.
9978 (do_wait): Implement using do_spin.
9979 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9980 to prototype.
9981 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9982 __sync_bool_compare_and_swap, pass the oldval to
9983 gomp_mutex_lock_slow.
9984 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9985 If all mutex contenders are just spinning and not sleeping, don't
9986 change state to 2 unnecessarily. Optimize the loop when state has
9987 already become 2 to use just one atomic operation per loop instead
9988 of two.
9989 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9990 to prototype.
9991 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9992 __sync_bool_compare_and_swap, pass the oldval to
9993 gomp_mutex_lock_slow.
9994
9995 2011-06-22 Jakub Jelinek <jakub@redhat.com>
9996
9997 PR libgomp/49490
9998 * iter.c (gomp_iter_static_next): For chunk size 0
9999 only use n ceil/ nthreads size for the first
10000 n % nthreads threads in the team instead of
10001 all threads except for the last few ones which
10002 get less work or none at all.
10003 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10004 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10005 chunk argument, set run_sched_modifier to 0 for static
10006 resp. 1 for other kinds. If chunk argument is 0
10007 and not static, set value to 1.
10008
10009 2011-05-19 Jakub Jelinek <jakub@redhat.com>
10010
10011 PR c++/49043
10012 * testsuite/libgomp.c++/pr49043.C: New test.
10013
10014 PR c++/48869
10015 * testsuite/libgomp.c++/pr48869.C: New test.
10016
10017 2011-05-06 Jakub Jelinek <jakub@redhat.com>
10018
10019 PR fortran/48894
10020 * fortran.c: Include limits.h.
10021 (TO_INT): Define.
10022 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10023 *set.
10024 (omp_set_num_threads_8_, omp_set_schedule_8_,
10025 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10026 omp_get_team_size_8_): Use TO_INT macro.
10027 * testsuite/libgomp.fortran/pr48894.f90: New test.
10028
10029 2011-04-13 Jakub Jelinek <jakub@redhat.com>
10030
10031 PR middle-end/48591
10032 * testsuite/libgomp.c/pr48591.c: New test.
10033
10034 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10035
10036 PR bootstrap/48135
10037 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10038 * configure: Regenerate.
10039
10040 2011-02-27 Jakub Jelinek <jakub@redhat.com>
10041
10042 PR fortran/47886
10043 * testsuite/libgomp.fortran/task3.f90: New test.
10044
10045 2011-02-24 Tobias Burnus <burnus@net-b.de>
10046
10047 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10048
10049 2011-02-23 Jakub Jelinek <jakub@redhat.com>
10050
10051 PR libgomp/47854
10052 * libgomp.texi (omp_get_wtime): Don't say time in the past
10053 must be Unix Epoch.
10054
10055 2011-02-18 Jakub Jelinek <jakub@redhat.com>
10056
10057 PR libgomp/47804
10058 * testsuite/libgomp.fortran/fortran.exp: Check for both
10059 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10060 but $blddir != "", still append ${blddir}/${lang_library_path}
10061 to ld_library_path.
10062
10063 2011-02-16 Tobias Burnus <burnus@net-b.de>
10064
10065 PR libgomp/47758
10066 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10067 of libquadmath.a before adding its libpath to ldflags.
10068
10069 2011-02-14 Jakub Jelinek <jakub@redhat.com>
10070
10071 PR libgomp/47731
10072 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10073 to FUTEX_WAIT futex syscall.
10074 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10075
10076 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10077
10078 * configure: Regenerate.
10079
10080 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
10081
10082 PR libstdc++/36104
10083 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10084
10085 2011-01-16 Gerald Pfeifer
10086
10087 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10088
10089 2010-12-14 Jakub Jelinek <jakub@redhat.com>
10090
10091 PR fortran/46874
10092 * libgomp.fortran/allocatable6.f90: New test.
10093
10094 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10095
10096 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10097 * configure: Regenerate.
10098
10099 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10100
10101 PR target/40125
10102 PR lto/46695
10103 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10104 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10105 * aclocal.m4: Regenerate.
10106 * configure: Regenerate.
10107 * Makefile.in: Regenerate.
10108 * testsuite/Makefile.in: Regenerate.
10109
10110 2010-12-02 Jakub Jelinek <jakub@redhat.com>
10111
10112 PR fortran/46753
10113 * libgomp.fortran/pr46753.f90: New test.
10114
10115 PR libgomp/43706
10116 * env.c (initialize_env): Default to spin count 300000
10117 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10118 is specified.
10119
10120 PR libgomp/45240
10121 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10122 at the end if sync builtins aren't supported.
10123
10124 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10125
10126 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10127
10128 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10129
10130 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10131
10132 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10133
10134 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10135
10136 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10137 Tobias Burnus <burnus@net-b.de>
10138
10139 PR fortran/32049
10140 * configure.ac:
10141 * configure: Regenerate.
10142
10143 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10144
10145 * config/linux/futex.h: New.
10146 * config/linux/arm/mutex.h: New.
10147 * configure.tgt (arm*-*-linux*): Add config path.
10148
10149 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10150
10151 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10152
10153 2010-09-23 Tobias Burnus <burnus@net-b.de>
10154
10155 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10156 Change Fortran datatype to LOGICAL.
10157 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10158 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10159
10160 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10161
10162 * configure: Regenerate.
10163
10164 2010-07-26 Jakub Jelinek <jakub@redhat.com>
10165
10166 * libgomp.texi: Add function keyword to a couple of Fortran
10167 interfaces, use integer instead of int for Fortran.
10168
10169 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
10170
10171 * libgomp.texi: Fix spelling and pasto problems throughout.
10172 Adjust prototypes to match code.
10173
10174 2010-07-24 Tobias Burnus <burnus@net-b.de>
10175
10176 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10177 silence -fwhole-file warning.
10178
10179 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10180
10181 * configure.tgt (*-*-solaris2.[56]*): Removed.
10182
10183 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10184
10185 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10186 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10187 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10188 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10189 targetting solaris2*.
10190 * configure: Regenerate.
10191 * config.h.in: Regenerate.
10192
10193 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10194 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10195 Add libgomp_version_dep.
10196 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10197 versioning.
10198 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10199 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10200 * Makefile.in: Regenerate.
10201
10202 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10203 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10204 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10205 to common block, protected by
10206 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10207
10208 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10209
10210 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10211
10212 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10213
10214 PR bootstrap/43170
10215 * configure: Regenerate.
10216
10217 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10218
10219 PR other/43620
10220 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10221 * configure: Regenerate.
10222 * Makefile.in: Regenerate.
10223 * testsuite/Makefile.in: Regenerate.
10224
10225 2010-04-26 Jakub Jelinek <jakub@redhat.com>
10226
10227 PR c/43893
10228 * testsuite/libgomp.c/pr43893.c: New test.
10229 * testsuite/libgomp.c++/pr43893.C: New test.
10230
10231 2010-04-21 Jakub Jelinek <jakub@redhat.com>
10232
10233 PR middle-end/43570
10234 * testsuite/libgomp.fortran/vla8.f90: New test.
10235
10236 2010-04-20 Jakub Jelinek <jakub@redhat.com>
10237
10238 PR libgomp/43706
10239 * config/linux/affinity.c (gomp_init_affinity): Decrease
10240 gomp_available_cpus if affinity mask confines the process to fewer
10241 CPUs.
10242 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10243 non-NULL, just return gomp_available_cpus.
10244
10245 PR libgomp/43569
10246 * sections.c (gomp_sections_init): Initialize ws->mode.
10247
10248 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
10249
10250 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10251 not unused bar variable.
10252 * configure: Regenerate.
10253
10254 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10255
10256 * Makefile.in: Regenerate.
10257 * aclocal.m4: Regenerate.
10258 * testsuite/Makefile.in: Regenerate.
10259
10260 2010-03-22 Jakub Jelinek <jakub@redhat.com>
10261
10262 PR libgomp/42942
10263 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10264 (initialize_env): Adjust callers.
10265 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10266 when the argument is 0.
10267
10268 * testsuite/libgomp.c/pr42942.c: New test.
10269
10270 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10271
10272 PR middle-end/42644
10273 PR middle-end/42130
10274 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10275 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10276
10277 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10278
10279 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10280 * testsuite/libgomp.c++/task-6.C: Likewise.
10281
10282 2010-01-28 Steve Ellcey <sje@cup.hp.com>
10283
10284 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10285
10286 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
10287
10288 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10289 * configure: Regenerate.
10290
10291 2010-01-26 Jakub Jelinek <jakub@redhat.com>
10292
10293 PR fortran/42866
10294 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10295
10296 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
10297
10298 * configure.ac: Test for executability of GFORTRAN.
10299 * configure: Regenerate.
10300
10301 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10302
10303 * configure: Regenerate.
10304
10305 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10306
10307 PR libgomp/42602
10308 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10309
10310 2010-01-03 Richard Guenther <rguenther@suse.de>
10311
10312 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10313
10314 2009-12-23 Sebastian Pop <sebpop@gmail.com>
10315
10316 * testsuite/libgomp.graphite/pr4118.c: New.
10317
10318 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10319
10320 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10321 for darwin, protect the test with require-effective-target tls_runtime.
10322 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10323
10324 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10325
10326 PR target/41605
10327 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10328 link spec %s substitutions for static libraries.
10329
10330 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10331
10332 PR testsuite/42135
10333 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10334
10335 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10336
10337 * Makefile.in: Regenerate.
10338 * configure: Regenerate.
10339 * testsuite/Makefile.in: Regenerate.
10340
10341 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10342
10343 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10344 settings for LC_ALL and LANG.
10345
10346 2009-11-25 Jakub Jelinek <jakub@redhat.com>
10347
10348 PR fortran/42162
10349 * testsuite/libgomp.fortran/pr42162.f90: New test.
10350
10351 2009-11-13 Jakub Jelinek <jakub@redhat.com>
10352
10353 PR middle-end/42029
10354 * testsuite/libgomp.c/pr42029.c: New test.
10355
10356 2009-10-26 Jakub Jelinek <jakub@redhat.com>
10357
10358 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10359 *s. Accept ld version without text in ()s.
10360 * configure: Regenerated.
10361
10362 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
10363
10364 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10365
10366 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10367
10368 PR libgomp/41418
10369 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10370 or a hyphen (happens with fortran language disabled).
10371 * configure: Regenerate.
10372
10373 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10374
10375 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10376 use sed script portable to Solaris /bin/sed for extracting ld
10377 version.
10378 * configure: Regenerate.
10379
10380 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
10381
10382 * testsuite/libgomp.graphite/bounds.c: New test.
10383
10384 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10385
10386 * Makefile.am (libgomp_la_LINK): New.
10387 * Makefile.in: Regenerate.
10388
10389 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10390
10391 * configure.ac (AC_PREREQ): Bump to 2.64.
10392
10393 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10394
10395 * Makefile.am (install-html, install-pdf): Remove.
10396 * Makefile.in: Regenerate.
10397
10398 * Makefile.in: Regenerate.
10399 * aclocal.m4: Regenerate.
10400 * config.h.in: Regenerate.
10401 * configure: Regenerate.
10402 * testsuite/Makefile.in: Regenerate.
10403
10404 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10405
10406 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10407 * Makefile.in: Regenerate.
10408
10409 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10410
10411 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10412 * Makefile.in: Regenerate.
10413
10414 2009-08-19 Tobias Burnus <burnus@net-b.de>
10415
10416 PR fortran/41102
10417 omp_lib.h.in: Fix -std=f95 errors.
10418
10419 2009-08-14 David Edelsohn <edelsohn@gnu.org>
10420
10421 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10422 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10423 * testsuite/libgomp.graphite/graphite.exp: New.
10424
10425 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10426
10427 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10428 only build.
10429
10430 2009-08-04 David Daney <ddaney@caviumnetworks.com>
10431
10432 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10433 needed memory barrier semantics.
10434 * config/linux/mips/mutex.h: New file.
10435
10436 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10437
10438 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10439
10440 2009-07-16 Joseph Myers <joseph@codesourcery.com>
10441
10442 * configure: Regenerate.
10443
10444 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10445
10446 PR testsuite/40699
10447 PR testsuite/40707
10448 PR testsuite/40709
10449 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10450 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10451 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10452
10453 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10454
10455 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10456 options when choosing a multilib.
10457
10458 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10459
10460 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10461 ld_library_path. Use add_path. Add just find_libgcc_s to
10462 ld_library_path, not every libgcc multilib directory.
10463 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10464 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10465 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10466 Use add_path.
10467 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10468
10469 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10470
10471 * Makefile.am (LTLDFLAGS): Define.
10472 (LINK): Define.
10473 * Makefile.in: Regenerate.
10474
10475 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10476
10477 PR fortran/39718
10478 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10479 libgfortranbegin, check existence of libgfortran.a instead of
10480 libgfortranbegin.a.
10481
10482 2009-05-20 Jakub Jelinek <jakub@redhat.com>
10483
10484 PR libgomp/40174
10485 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10486 (gomp_free_pool_helper): Likewise.
10487
10488 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10489 Jakub Jelinek <jakub@redhat.com>
10490
10491 PR fortran/35423
10492 * testsuite/libgomp.fortran/workshare2.f90: New test.
10493
10494 2009-04-09 Nick Clifton <nickc@redhat.com>
10495
10496 * iter.c: Change copyright header to refer to version 3 of the
10497 GNU General Public License with version 3.1 of the GCC Runtime
10498 Library Exception and to point readers at the COPYING3 and
10499 COPYING3.RUNTIME files and the FSF's license web page.
10500 * alloc.c: Likewise.
10501 * barrier.c: Likewise.
10502 * config/bsd/proc.c: Likewise.
10503 * config/linux/affinity.c: Likewise.
10504 * config/linux/alpha/futex.h: Likewise.
10505 * config/linux/bar.c: Likewise.
10506 * config/linux/bar.h: Likewise.
10507 * config/linux/ia64/futex.h: Likewise.
10508 * config/linux/ia64/mutex.h: Likewise.
10509 * config/linux/lock.c: Likewise.
10510 * config/linux/mips/futex.h: Likewise.
10511 * config/linux/mutex.c: Likewise.
10512 * config/linux/mutex.h: Likewise.
10513 * config/linux/powerpc/futex.h: Likewise.
10514 * config/linux/proc.c: Likewise.
10515 * config/linux/ptrlock.c: Likewise.
10516 * config/linux/ptrlock.h: Likewise.
10517 * config/linux/s390/futex.h: Likewise.
10518 * config/linux/sem.c: Likewise.
10519 * config/linux/sem.h: Likewise.
10520 * config/linux/sparc/futex.h: Likewise.
10521 * config/linux/wait.h: Likewise.
10522 * config/linux/x86/futex.h: Likewise.
10523 * config/mingw32/proc.c: Likewise.
10524 * config/mingw32/time.c: Likewise.
10525 * config/posix/affinity.c: Likewise.
10526 * config/posix/bar.c: Likewise.
10527 * config/posix/bar.h: Likewise.
10528 * config/posix/lock.c: Likewise.
10529 * config/posix/mutex.h: Likewise.
10530 * config/posix/proc.c: Likewise.
10531 * config/posix/ptrlock.h: Likewise.
10532 * config/posix/sem.c: Likewise.
10533 * config/posix/sem.h: Likewise.
10534 * config/posix/time.c: Likewise.
10535 * config/posix95/lock.c: Likewise.
10536 * critical.c: Likewise.
10537 * env.c: Likewise.
10538 * error.c: Likewise.
10539 * fortran.c: Likewise.
10540 * iter_ull.c: Likewise.
10541 * libgomp.h: Likewise.
10542 * libgomp_f.h.in: Likewise.
10543 * libgomp_g.h: Likewise.
10544 * loop.c: Likewise.
10545 * loop_ull.c: Likewise.
10546 * omp.h.in: Likewise.
10547 * omp_lib.f90.in: Likewise.
10548 * omp_lib.h.in: Likewise.
10549 * ordered.c: Likewise.
10550 * parallel.c: Likewise.
10551 * sections.c: Likewise.
10552 * single.c: Likewise.
10553 * task.c: Likewise.
10554 * team.c: Likewise.
10555 * work.c: Likewise.
10556
10557 2009-04-09 Jakub Jelinek <jakub@redhat.com>
10558
10559 * testsuite/config/default.exp: Change copyright header to refer to
10560 version 3 of the GNU General Public License and to point readers
10561 at the COPYING3 file and the FSF's license web page.
10562
10563 2009-04-08 Jakub Jelinek <jakub@redhat.com>
10564
10565 PR middle-end/39573
10566 * libgomp.c++/pr39573.C: New test.
10567
10568 2009-04-01 Jakub Jelinek <jakub@redhat.com>
10569
10570 PR other/39591
10571 * testsuite/libgomp.c/pr39591-1.c: New test.
10572 * testsuite/libgomp.c/pr39591-2.c: New test.
10573 * testsuite/libgomp.c/pr39591-3.c: New test.
10574
10575 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
10576
10577 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10578 * testsuite/libgomp.c/atomic-6.c: Ditto.
10579
10580 2009-03-23 Jakub Jelinek <jakub@redhat.com>
10581
10582 PR c/39495
10583 * testsuite/libgomp.c/loop-12.c: New test.
10584 * testsuite/libgomp.c/loop-11.c: New test.
10585 * testsuite/libgomp.c++/loop-11.C: New test.
10586 * testsuite/libgomp.c++/loop-12.C: New test.
10587 * testsuite/libgomp.c++/for-8.C: New test.
10588
10589 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10590
10591 * configure: Regenerate.
10592
10593 2009-02-11 Jakub Jelinek <jakub@redhat.com>
10594
10595 PR middle-end/39154
10596 * testsuite/libgomp.c/pr39154.c: New test.
10597
10598 2009-01-30 Ian Lance Taylor <iant@google.com>
10599
10600 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10601 libgomp_ld_is_gold. Get gold version number.
10602 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10603 * configure: Rebuild.
10604
10605 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10606
10607 * testsuite/lib/libgomp.exp: Add -B option for targets that
10608 use libgfortran.a%s in their specs.
10609
10610 2009-01-07 Jakub Jelinek <jakub@redhat.com>
10611
10612 PR libgomp/38086
10613 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10614 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10615 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10616 * configure: Regenerated.
10617 * config.h.in: Likewise.
10618
10619 2008-12-28 Jakub Jelinek <jakub@redhat.com>
10620
10621 PR c++/38650
10622 * testsuite/libgomp.c/pr38650.c: New test.
10623 * testsuite/libgomp.c++/pr38650.C: New test.
10624
10625 2008-12-27 Jakub Jelinek <jakub@redhat.com>
10626
10627 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10628
10629 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
10630
10631 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10632
10633 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10634
10635 * configure: Regenerate.
10636
10637 2008-12-08 Jakub Jelinek <jakub@redhat.com>
10638
10639 PR middle-end/36802
10640 * testsuite/libgomp.c/pr36802-1.c: New test.
10641 * testsuite/libgomp.c/pr36802-2.c: New test.
10642 * testsuite/libgomp.c/pr36802-3.c: New test.
10643
10644 2008-12-01 Janis Johnson <janis187@us.ibm.com>
10645
10646 PR libgomp/38270
10647 * config/linux/powerpc/mutex.h: New.
10648
10649 2008-12-01 Jakub Jelinek <jakub@redhat.com>
10650
10651 PR c++/38257
10652 * testsuite/libgomp.c++/for-7.C: New test.
10653
10654 PR c++/38348
10655 * testsuite/libgomp.c++/for-6.C: New test.
10656
10657 2008-11-26 Janis Johnson <janis187@us.ibm.com>
10658
10659 PR testsuite/28870
10660 * testsuite/lib/libgomp.exp: Include new timeout library files.
10661 (libgomp_target_compile): Set timeout value from new proc.
10662
10663 2008-11-13 Steve Ellcey <sje@cup.hp.com>
10664
10665 PR libgomp/37938
10666 * config/linux/ia64/mutex.h: New.
10667
10668 2008-11-04 Tobias Burnus <burnus@net-b.de>
10669
10670 PR libgomp/37935
10671 * libgomp.texi (Runtime library routines, environment variables):
10672 Update for OpenMP version 3.0.
10673
10674 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10675 Steve Ellcey <sje@cup.hp.com>
10676
10677 * configure: Regenerate for new libtool.
10678 * Makefile.in: Ditto.
10679 * testsuite/Makefile.in: Ditto.
10680
10681 2008-09-19 Jakub Jelinek <jakub@redhat.com>
10682 Andreas Tobler <a.tobler@schweiz.org>
10683
10684 * config/bsd/proc.c: New file.
10685 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
10686 * configure.ac: Check for header <sys/sysctl.h>
10687 * configure: Regenerate.
10688 * config.h.in: Likewise.
10689
10690 2008-09-05 Janis Johnson <janis187@us.ibm.com>
10691
10692 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10693
10694 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10695
10696 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10697 * Makefile.in: Regenerated.
10698 * testsuite/Makefile.in: Regenerated.
10699
10700 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
10701
10702 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
10703 depend on blddir if blddir exists.
10704 (libgomp_target_compile): Likewise.
10705 * testsuite/libgomp.c++/c++.exp: Likewise.
10706 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10707
10708 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10709
10710 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10711 Do not list GPL as Invariant Section.
10712
10713 2008-07-28 Ilie Garbacea <ilie@mips.com>
10714 Chao-ying Fu <fu@mips.com>
10715
10716 * configure.tgt: Enable futex for MIPS.
10717 * config/linux/mips/futex.h: New file.
10718
10719 2008-07-16 Jakub Jelinek <jakub@redhat.com>
10720
10721 * team.c (gomp_team_end): Free team immediately if it has
10722 just one thread.
10723
10724 2008-07-08 David Edelsohn <edelsohn@gnu.org>
10725
10726 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10727 * testsuite/libgomp.fortran/fortran.exp: Same.
10728 * testsuite/libgomp.c/c.exp: Same.
10729 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10730 directory to library path first.
10731
10732 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10733
10734 * env.c (parse_stacksize): Add cast to avoid warning.
10735 (parse_spincount): Likewise.
10736
10737 2008-06-27 Jakub Jelinek <jakub@redhat.com>
10738
10739 * testsuite/libgomp.c/loop-10.c: New test.
10740 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10741 * libgomp.c++/loop-6.C (main): Likewise.
10742
10743 PR debug/36617
10744 * testsuite/libgomp.c/debug-1.c: New test.
10745
10746 2008-06-19 Jakub Jelinek <jakub@redhat.com>
10747
10748 * testsuite/libgomp.c/nqueens-1.c: New test.
10749
10750 PR c++/36523
10751 * testsuite/libgomp.c++/task-7.C: New function.
10752
10753 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10754
10755 * configure: Regenerate.
10756
10757 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10758
10759 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10760 mutex when HAVE_SYNC_BUILTINS isn't defined.
10761
10762 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10763
10764 * libgomp.texi (omp_test_lock): Fix typo.
10765
10766 2008-06-12 Tobias Burnus <burnus@net-b.de>
10767
10768 * omp_lib.f90.in: Add "implicit none".
10769
10770 2008-06-12 Jakub Jelinek <jakub@redhat.com>
10771
10772 PR middle-end/36506
10773 * testsuite/libgomp.c/reduction-5.c: New test.
10774
10775 2008-06-11 Jakub Jelinek <jakub@redhat.com>
10776
10777 * libgomp.h (struct gomp_task): Add in_tied_task field.
10778 * task.c (gomp_init_task): Initialize it.
10779 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10780 unconditionally. Don't call gomp_team_barrier_wake if
10781 current task is implicit or if(0) from implicit and number of
10782 running tasks is equal to nthreads - 1.
10783
10784 PR libgomp/36471
10785 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10786 omp_get_team_size_8): Fix pastos.
10787
10788 PR libgomp/36469
10789 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10790 * configure: Regenerated.
10791 * config.h.in: Regenerated.
10792 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10793 defined.
10794
10795 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10796
10797 PR bootstrap/36452
10798 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10799 (GOMP_loop_ull_dynamic_start): Likewise.
10800 (GOMP_loop_ull_guided_start): Likewise.
10801 (GOMP_loop_ull_ordered_static_start): Likewise.
10802 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10803 (GOMP_loop_ull_ordered_guided_start): Likewise.
10804
10805 2008-06-06 Jakub Jelinek <jakub@redhat.com>
10806 Richard Henderson <rth@redhat.com>
10807 Ulrich Drepper <drepper@redhat.com>
10808 Jakob Blomer <jakob.blomer@ira.uka.de>
10809
10810 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10811 Substitute also OMP_*LOCK_25*.
10812 * configure: Regenerated.
10813 * config.h.in: Regenerated.
10814 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10815 ptrlock.c and task.c.
10816 * Makefile.in: Regenerated.
10817 * testsuite/Makefile.in: Regenerated.
10818 * task.c: New file.
10819 * loop_ull.c: New file.
10820 * iter_ull.c: New file.
10821 * libgomp.h: Include ptrlock.h.
10822 (enum gomp_task_kind): New type.
10823 (struct gomp_team): Add task_lock, task_queue, task_count,
10824 task_running_count, single_count fields. Add
10825 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10826 Remove work_share_lock, generation_mask,
10827 oldest_live_gen, num_live_gen and init_work_shares fields, add
10828 work work_share_list_alloc, work_share_list_free and work_share_chunk
10829 fields. Change work_shares from pointer to pointers into an array.
10830 Change ordered_release field into gomp_sem_t ** from flexible array
10831 member. Add implicit_task and initial_work_shares fields.
10832 Move close to the end of the struct.
10833 (struct gomp_team_state): Add single_count, last_work_share,
10834 active_level and level fields, remove work_share_generation.
10835 (gomp_barrier_handle_tasks): New prototype.
10836 (gomp_finish_task): New inline function.
10837 (struct gomp_work_share): Move chunk_size, end, incr into
10838 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10839 next_ll fields. Reshuffle fields. Add next_alloc,
10840 next_ws, next_free and inline_ordered_team_ids fields, change
10841 ordered_team_ids into pointer from flexible array member.
10842 Add mode field. Put lock and next into a different cache line
10843 from most of the write-once fields.
10844 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10845 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10846 gomp_iter_ull_guided_next): New prototypes.
10847 (gomp_new_icv): New prototype.
10848 (struct gomp_thread): Add thread_pool and task fields.
10849 (struct gomp_thread_pool): New type.
10850 (gomp_new_team): New prototype.
10851 (gomp_team_start): Change type of last argument.
10852 (gomp_new_work_share): Removed.
10853 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10854 (gomp_work_share_init_done): New static inline.
10855 (gomp_throttled_spin_count_var, gomp_available_cpus,
10856 gomp_managed_threads): New extern decls.
10857 (gomp_init_task): New prototype.
10858 (gomp_spin_count_var): New extern var decl.
10859 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10860 or no alias support, or if not PIC.
10861 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10862 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10863 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10864 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10865 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10866 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10867 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10868 gomp_test_nest_lock_25): New prototypes.
10869 (omp_lock_symver, strong_alias): Define.
10870 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10871 decls.
10872 (gomp_end_task): New.
10873 (struct gomp_task_icv, gomp_global_icv): New.
10874 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10875 (struct gomp_task): New.
10876 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10877 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10878 (gomp_icv): New.
10879 (gomp_schedule_type): Reorder enum to match
10880 omp_sched_t.
10881 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10882 fields.
10883 (gomp_thread_start): Add gomp_team_barrier_wait call.
10884 For non-nested case remove clearing of docked thread thr fields.
10885 Use pool fields instead of global gomp_* variables. Use
10886 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10887 Create tasks for each member thread.
10888 (free_team): Only destroy team barrier, task_lock here and free it.
10889 (gomp_free_thread): Free last_team if non-NULL.
10890 (gomp_team_end): Call gomp_team_barrier_wait instead of
10891 gomp_barrier_wait. For nested case call one extra
10892 gomp_barrier_wait. Move here some destruction from free_team.
10893 Call free_team on pool->last_team if any, rather than freeing
10894 current team. Destroy work_share_list_free_lock ifndef
10895 HAVE_SYNC_BUILTINS.
10896 (gomp_new_icv): New function.
10897 (gomp_threads, gomp_threads_size, gomp_threads_used,
10898 gomp_threads_dock): Removed.
10899 (gomp_thread_destructor): New variable.
10900 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10901 functions.
10902 (gomp_team_start): Create new pool if current thread doesn't have
10903 one. Use pool fields instead of global gomp_* variables.
10904 Initialize thread_pool field for new threads. Clear single_count.
10905 Change last argument from ws to team, don't create
10906 new team, set ts.work_share to &team->work_shares[0] and clear
10907 ts.last_work_share. Don't clear ts.work_share_generation.
10908 If number of threads changed, adjust atomically gomp_managed_threads.
10909 Use gomp_init_task instead of gomp_new_task,
10910 set thr->task to the corresponding implicit_task array entry.
10911 Create tasks for each member thread. Initialize ts.level.
10912 (initialize_team): Call pthread_key_create on
10913 gomp_thread_destructor.
10914 (team_destructor): New function.
10915 (new_team): Removed.
10916 (gomp_new_team): New function.
10917 (free_team): Free gomp_work_share blocks chained through next_alloc,
10918 instead of freeing work_shares and destroying work_share_lock.
10919 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10920 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10921 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10922 of gomp_barrier_wait.
10923 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10924 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10925 if gomp_work_share_start returned true. Don't unlock ws->lock.
10926 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10927 of gomp_barrier_wait.
10928 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10929 gomp_work_share_init_done if gomp_work_share_start returned true.
10930 Don't unlock ws->lock.
10931 * work.c: Include stddef.h.
10932 (free_work_share): Use work_share_list_free_lock instead
10933 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10934 Call gomp_fini_work_share and then either free ws if orphaned, or
10935 put it into work_share_list_free list of the current team.
10936 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10937 functions.
10938 (gomp_work_share_start, gomp_work_share_end,
10939 gomp_work_share_end_nowait): Rewritten.
10940 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10941 (openmp_version): Set to 200805.
10942 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10943 omp_sched_guided, omp_sched_auto): New parameters.
10944 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10945 omp_set_max_active_levels, omp_get_max_active_levels,
10946 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10947 omp_get_active_level): New interfaces.
10948 * omp_lib.h.in (openmp_version): Set to 200805.
10949 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10950 omp_sched_guided, omp_sched_auto): New parameters.
10951 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10952 omp_set_max_active_levels, omp_get_max_active_levels,
10953 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10954 omp_get_active_level): New externals.
10955 * loop.c: Include limits.h.
10956 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10957 GFS_AUTO.
10958 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10959 Likewise. Use gomp_icv.
10960 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10961 ts.static_trip here.
10962 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10963 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10964 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10965 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10966 don't unlock ws->lock, otherwise lock it.
10967 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10968 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10969 (gomp_parallel_loop_start): Call gomp_new_team instead of
10970 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10971 Adjust gomp_team_start caller. Pass 0 as second argument to
10972 gomp_resolve_num_threads.
10973 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10974 If adding ws->chunk_size nthreads + 1 times after end won't
10975 overflow, set ws->mode to 1.
10976 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10977 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10978 GOMP_loop_ull_ordered_static_start,
10979 GOMP_loop_ull_ordered_dynamic_start,
10980 GOMP_loop_ull_ordered_guided_start,
10981 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10982 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10983 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10984 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10985 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10986 prototypes.
10987 * libgomp.map: Export lock routines also @@OMP_2.0.
10988 (GOMP_loop_ordered_dynamic_first,
10989 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10990 GOMP_loop_ordered_static_first): Remove.
10991 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10992 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10993 GOMP_loop_ull_ordered_dynamic_next,
10994 GOMP_loop_ull_ordered_dynamic_start,
10995 GOMP_loop_ull_ordered_guided_next,
10996 GOMP_loop_ull_ordered_guided_start,
10997 GOMP_loop_ull_ordered_runtime_next,
10998 GOMP_loop_ull_ordered_runtime_start,
10999 GOMP_loop_ull_ordered_static_next,
11000 GOMP_loop_ull_ordered_static_start,
11001 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11002 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11003 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11004 (omp_set_schedule, omp_get_schedule,
11005 omp_get_thread_limit, omp_set_max_active_levels,
11006 omp_get_max_active_levels, omp_get_level,
11007 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11008 omp_set_schedule_, omp_set_schedule_8_,
11009 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11010 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11011 omp_get_max_active_levels_, omp_get_level_,
11012 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11013 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11014 New exports @@OMP_3.0.
11015 * omp.h.in (omp_sched_t): New type.
11016 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11017 omp_set_max_active_levels, omp_get_max_active_levels,
11018 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11019 omp_get_active_level): New prototypes.
11020 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11021 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11022 gomp_thread_limit_var, gomp_remaining_threads_count,
11023 gomp_remaining_threads_lock): New variables.
11024 (parse_spincount): New function.
11025 (initialize_env): Call gomp_init_num_threads unconditionally.
11026 Initialize gomp_available_cpus. Call parse_spincount,
11027 initialize gomp_{,throttled_}spin_count_var
11028 depending on presence and value of OMP_WAIT_POLICY and
11029 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11030 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11031 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11032 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11033 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11034 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11035 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11036 (gomp_global_icv): New.
11037 (parse_schedule): Use it. Parse "auto".
11038 (omp_set_num_threads): Use gomp_icv.
11039 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11040 Likewise.
11041 (omp_get_max_threads): Move from parallel.c.
11042 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11043 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11044 add ialias.
11045 (parse_stacksize, parse_wait_policy): New functions.
11046 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11047 both wrappers for compatibility and new locks.
11048 (omp_set_schedule, omp_get_schedule,
11049 omp_get_thread_limit, omp_set_max_active_levels,
11050 omp_get_max_active_levels, omp_get_level,
11051 omp_get_ancestor_thread_num, omp_get_team_size,
11052 omp_get_active_level): New ialias_redirect.
11053 (omp_set_schedule_, omp_set_schedule_8_,
11054 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11055 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11056 omp_get_max_active_levels_, omp_get_level_,
11057 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11058 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11059 New functions.
11060 * parallel.c: Include limits.h.
11061 (gomp_resolve_num_threads): Add count argument. Rewritten.
11062 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11063 argument to gomp_team_start. Pass 0 as second argument to
11064 gomp_resolve_num_threads.
11065 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11066 if gomp_thread_limit_var != ULONG_MAX.
11067 (omp_in_parallel): Implement using ts.active_level.
11068 (omp_get_max_threads): Move to env.c.
11069 (omp_get_level, omp_get_ancestor_thread_num,
11070 omp_get_team_size, omp_get_active_level): New functions,
11071 add ialias.
11072 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11073 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11074 gomp_iter_dynamic_next instead of the _locked variant and don't take
11075 lock around it, otherwise acquire it before calling
11076 gomp_iter_dynamic_next_locked.
11077 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11078 gomp_iter_dynamic_next instead of the _locked variant and don't take
11079 lock around it.
11080 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11081 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11082 Adjust gomp_team_start caller. Pass count as second argument to
11083 gomp_resolve_num_threads, don't adjust num_threads after the call.
11084 Use gomp_icv.
11085 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11086 ws->chunk_size by incr.
11087 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11088 code.
11089 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11090 types.
11091 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11092 (omp_check_defines): Check even the compat defines.
11093 * config/linux/ptrlock.c: New file.
11094 * config/linux/ptrlock.h: New file.
11095 * config/linux/wait.h: New file.
11096 * config/posix/ptrlock.c: New file.
11097 * config/posix/ptrlock.h: New file.
11098 * config/linux/bar.h (gomp_team_barrier_wait,
11099 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11100 (gomp_team_barrier_set_task_pending,
11101 gomp_team_barrier_clear_task_pending,
11102 gomp_team_barrier_set_waiting_for_tasks,
11103 gomp_team_barrier_waiting_for_tasks,
11104 gomp_team_barrier_done): New inlines.
11105 (gomp_barrier_t): Rewritten.
11106 (gomp_barrier_state_t): New typedef.
11107 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11108 gomp_barrier_wait_start): Rewritten.
11109 (gomp_barrier_wait_end): Change second argument to
11110 gomp_barrier_state_t.
11111 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11112 inlines.
11113 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11114 futex.h.
11115 (gomp_barrier_wait_end): Rewritten.
11116 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11117 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11118 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11119 (gomp_barrier_state_t): New typedef.
11120 (gomp_team_barrier_wait,
11121 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11122 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11123 into the return value. Return gomp_barrier_state_t.
11124 (gomp_team_barrier_set_task_pending,
11125 gomp_team_barrier_clear_task_pending,
11126 gomp_team_barrier_set_waiting_for_tasks,
11127 gomp_team_barrier_waiting_for_tasks,
11128 gomp_team_barrier_done): New inlines.
11129 (gomp_barrier_wait_end): Change second argument to
11130 gomp_barrier_state_t.
11131 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11132 inlines.
11133 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11134 (gomp_barrier_wait_end): Change second argument to
11135 gomp_barrier_state_t.
11136 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11137 gomp_team_barrier_wake): New functions.
11138 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11139 futex.h.
11140 (gomp_futex_wake, gomp_futex_wait): New variables.
11141 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11142 * config/linux/lock.c: Rewrite to make locks task owned,
11143 for backwards compatibility provide the old entrypoints
11144 if symbol versioning. Include wait.h instead of libgomp.h and
11145 futex.h.
11146 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11147 * config/posix95/lock.c: Rewrite to make locks task owned,
11148 for backwards compatibility provide the old entrypoints
11149 if symbol versioning.
11150 * config/posix/lock.c: Rewrite to make locks task owned,
11151 for backwards compatibility provide the old entrypoints
11152 if symbol versioning.
11153 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11154 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11155 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11156 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11157 (sys_futex0): Return error code.
11158 (futex_wake, futex_wait): If ENOSYS was returned, clear
11159 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11160 (cpu_relax, atomic_write_barrier): New static inlines.
11161 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11162 (futex_wake, futex_wait): If ENOSYS was returned, clear
11163 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11164 (cpu_relax, atomic_write_barrier): New static inlines.
11165 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11166 (sys_futex0): Return error code.
11167 (futex_wake, futex_wait): If ENOSYS was returned, clear
11168 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11169 (cpu_relax, atomic_write_barrier): New static inlines.
11170 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11171 (sys_futex0): Return error code.
11172 (futex_wake, futex_wait): If ENOSYS was returned, clear
11173 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11174 (cpu_relax, atomic_write_barrier): New static inlines.
11175 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11176 (sys_futex0): Return error code.
11177 (futex_wake, futex_wait): If ENOSYS was returned, clear
11178 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11179 (cpu_relax, atomic_write_barrier): New static inlines.
11180 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11181 (sys_futex0): Return error code.
11182 (futex_wake, futex_wait): If ENOSYS was returned, clear
11183 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11184 (cpu_relax, atomic_write_barrier): New static inlines.
11185 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11186 futex.h.
11187 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11188 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11189 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11190 types.
11191 (omp_nest_lock_t): Change owner into void *, add lock field.
11192 * config/posix95/omp-lock.h: Include semaphore.h.
11193 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11194 (omp_lock_t): Use sem_t instead of mutex if semaphores
11195 aren't broken.
11196 (omp_nest_lock_t): Likewise. Change owner to void *.
11197 * config/posix/omp-lock.h: Include semaphore.h.
11198 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11199 (omp_lock_t): Use sem_t instead of mutex if semaphores
11200 aren't broken.
11201 (omp_nest_lock_t): Likewise. Add owner field.
11202
11203 2008-06-06 Jakub Jelinek <jakub@redhat.com>
11204
11205 * testsuite/libgomp.c/collapse-1.c: New test.
11206 * testsuite/libgomp.c/collapse-2.c: New test.
11207 * testsuite/libgomp.c/collapse-3.c: New test.
11208 * testsuite/libgomp.c/icv-1.c: New test.
11209 * testsuite/libgomp.c/icv-2.c: New test.
11210 * testsuite/libgomp.c/lib-2.c: New test.
11211 * testsuite/libgomp.c/lock-1.c: New test.
11212 * testsuite/libgomp.c/lock-2.c: New test.
11213 * testsuite/libgomp.c/lock-3.c: New test.
11214 * testsuite/libgomp.c/loop-4.c: New test.
11215 * testsuite/libgomp.c/loop-5.c: New test.
11216 * testsuite/libgomp.c/loop-6.c: New test.
11217 * testsuite/libgomp.c/loop-7.c: New test.
11218 * testsuite/libgomp.c/loop-8.c: New test.
11219 * testsuite/libgomp.c/loop-9.c: New test.
11220 * testsuite/libgomp.c/nested-3.c: New test.
11221 * testsuite/libgomp.c/nestedfn-6.c: New test.
11222 * testsuite/libgomp.c/sort-1.c: New test.
11223 * testsuite/libgomp.c/task-1.c: New test.
11224 * testsuite/libgomp.c/task-2.c: New test.
11225 * testsuite/libgomp.c/task-3.c: New test.
11226 * testsuite/libgomp.c/task-4.c: New test.
11227 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11228 to C++ testsuite default compiler options.
11229 * testsuite/libgomp.c++/collapse-1.C: New test.
11230 * testsuite/libgomp.c++/collapse-2.C: New test.
11231 * testsuite/libgomp.c++/ctor-10.C: New test.
11232 * testsuite/libgomp.c++/for-1.C: New test.
11233 * testsuite/libgomp.c++/for-2.C: New test.
11234 * testsuite/libgomp.c++/for-3.C: New test.
11235 * testsuite/libgomp.c++/for-4.C: New test.
11236 * testsuite/libgomp.c++/for-5.C: New test.
11237 * testsuite/libgomp.c++/loop-8.C: New test.
11238 * testsuite/libgomp.c++/loop-9.C: New test.
11239 * testsuite/libgomp.c++/loop-10.C: New test.
11240 * testsuite/libgomp.c++/task-1.C: New test.
11241 * testsuite/libgomp.c++/task-2.C: New test.
11242 * testsuite/libgomp.c++/task-3.C: New test.
11243 * testsuite/libgomp.c++/task-4.C: New test.
11244 * testsuite/libgomp.c++/task-5.C: New test.
11245 * testsuite/libgomp.c++/task-6.C: New test.
11246 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11247 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11248 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11249 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11250 * testsuite/libgomp.fortran/collapse1.f90: New test.
11251 * testsuite/libgomp.fortran/collapse2.f90: New test.
11252 * testsuite/libgomp.fortran/collapse3.f90: New test.
11253 * testsuite/libgomp.fortran/collapse4.f90: New test.
11254 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11255 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11256 * testsuite/libgomp.fortran/lib4.f90: New test.
11257 * testsuite/libgomp.fortran/lock-1.f90: New test.
11258 * testsuite/libgomp.fortran/lock-2.f90: New test.
11259 * testsuite/libgomp.fortran/nested1.f90: New test.
11260 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11261 * testsuite/libgomp.fortran/strassen.f90: New test.
11262 * testsuite/libgomp.fortran/tabs1.f90: New test.
11263 * testsuite/libgomp.fortran/tabs2.f: New test.
11264 * testsuite/libgomp.fortran/task1.f90: New test.
11265 * testsuite/libgomp.fortran/task2.f90: New test.
11266 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11267 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11268 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11269 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11270 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11271
11272 2008-05-23 Jakub Jelinek <jakub@redhat.com>
11273
11274 PR c++/36308
11275 * testsuite/libgomp.c++/ctor-11.C: New test.
11276 * testsuite/libgomp.c++/ctor-12.C: New test.
11277
11278 2008-05-15 Janis Johnson <janis187@us.ibm.com>
11279
11280 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11281
11282 2008-05-07 Jakub Jelinek <jakub@redhat.com>
11283
11284 PR middle-end/36106
11285 * testsuite/libgomp.c/atomic-5.c: New test.
11286 * testsuite/libgomp.c/atomic-6.c: New test.
11287 * testsuite/libgomp.c/autopar-1.c: New test.
11288
11289 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11290
11291 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11292 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11293 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11294 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11295 * configure: Regenerate.
11296 * Makefile.in, testsuite/Makefile.in: Likewise.
11297
11298 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
11299
11300 PR bootstrap/35457
11301 * aclocal.m4: Regenerate.
11302 * configure: Regenerate.
11303
11304 2008-03-18 Jakub Jelinek <jakub@redhat.com>
11305
11306 PR middle-end/35611
11307 * testsuite/libgomp.c/atomic-4.c: New test.
11308
11309 PR libgomp/35625
11310 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11311 (gomp_iter_guided_next): Likewise.
11312 * testsuite/libgomp.c/pr35625.c: New test.
11313
11314 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11315
11316 * aclocal.m4: Regenerate.
11317 * configure: Likewise.
11318 * Makefile.in: Likewise.
11319 * testsuite/Makefile.in: Likewise.
11320
11321 2008-03-13 Jakub Jelinek <jakub@redhat.com>
11322
11323 PR middle-end/35185
11324 * testsuite/libgomp.c++/pr35185.C: New test.
11325
11326 2008-03-12 Jakub Jelinek <jakub@redhat.com>
11327
11328 PR middle-end/35549
11329 * testsuite/libgomp.c/pr35549.c: New test.
11330
11331 2008-03-06 Jakub Jelinek <jakub@redhat.com>
11332
11333 * testsuite/libgomp.c/atomic-3.c: New test.
11334
11335 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11336
11337 PR fortran/33197
11338 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
11339 .F08 file suffixes.
11340
11341 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11342
11343 PR libgomp/33131
11344 * configure.ac: Add ACX_HEADER_STRING.
11345 * env.c: Include strings.h.
11346 * aclocal.m4: Regenerate.
11347 * config.h.in: Regenerate.
11348 * configure: Regenerate.
11349 * Makefile.in: Regenerate.
11350 * testsuite/Makefile.in: Regenerate.
11351
11352 2008-02-15 Jakub Jelinek <jakub@redhat.com>
11353
11354 PR middle-end/35196
11355 * testsuite/libgomp.c/pr35196.c: New test.
11356
11357 PR middle-end/35130
11358 * testsuite/libgomp.fortran/pr35130.f90: New test.
11359 * testsuite/libgomp.c/pr35130.c: New test.
11360
11361 2008-01-25 Jakub Jelinek <jakub@redhat.com>
11362
11363 PR middle-end/33880
11364 * testsuite/libgomp.c/pr33880.c: New test.
11365 * testsuite/libgomp.fortran/pr33880.f90: New test.
11366
11367 2008-01-24 David Edelsohn <edelsohn@gnu.org>
11368
11369 * configure: Regenerate.
11370
11371 2008-01-08 Jakub Jelinek <jakub@redhat.com>
11372
11373 * configure.ac: Move futex checking into ../config/futex.m4.
11374 * configure: Rebuilt.
11375 * aclocal.m4: Rebuilt.
11376 * Makefile.in: Rebuilt.
11377
11378 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11379 2007-10-15 ../config/tls.m4 change.
11380
11381 2007-12-19 Jakub Jelinek <jakub@redhat.com>
11382
11383 PR c++/34513
11384 * testsuite/libgomp.c/pr34513.c: New test.
11385 * testsuite/libgomp.c++/pr34513.C: New test.
11386
11387 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11388
11389 PR target/32765
11390 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11391
11392 2007-12-04 Jakub Jelinek <jakub@redhat.com>
11393
11394 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11395
11396 2007-12-03 Jakub Jelinek <jakub@redhat.com>
11397
11398 * testsuite/libgomp.c/private-1.c: New test.
11399
11400 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11401 Paolo Bonzini <bonzini@gnu.org>
11402
11403 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11404 instead of 'VPATH ='.
11405 * Makefile.in: Regenerate.
11406
11407 2007-11-23 Matthias Klose <doko@ubuntu.com>
11408
11409 * configure.ac: Adjust makeinfo version check.
11410 * configure: Regenerate.
11411
11412 2007-11-10 Jakub Jelinek <jakub@redhat.com>
11413
11414 PR fortran/34020
11415 * testsuite/libgomp.fortran/pr34020.f90: New test.
11416
11417 2007-11-06 Jakub Jelinek <jakub@redhat.com>
11418
11419 PR c++/33894
11420 * testsuite/libgomp.c++/atomic-1.C: New test.
11421
11422 2007-10-25 Jakub Jelinek <jakub@redhat.com>
11423
11424 PR libgomp/33275
11425 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11426 Make x and y integers rather than (implicit) reals. Add private (j)
11427 clause to the last omp parallel.
11428
11429 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11430
11431 * configure: Regenerate following changes to ../config/tls.m4.
11432
11433 2007-09-28 Jakub Jelinek <jakub@redhat.com>
11434
11435 * testsuite/libgomp.fortran/stack.f90: New test.
11436
11437 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11438
11439 * config/mingw32/proc.c: New file.
11440
11441 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
11442
11443 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11444 (main): Use __get_cpuid to get i386 target fetaures.
11445 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11446 (main): Use __get_cpuid to get x86_64 target fetaures.
11447
11448 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11449
11450 PR target/32765
11451 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11452 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11453
11454 2007-07-12 Jakub Jelinek <jakub@redhat.com>
11455
11456 PR fortran/32550
11457 * testsuite/libgomp.fortran/pr32550.f90: New test.
11458 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11459
11460 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11461
11462 * aclocal.m4: Regenerated.
11463
11464 2007-07-05 Tobias Burnus <burnus@net-b.de>
11465
11466 PR fortran/32359
11467 * testsuite/libgomp.fortran/pr32359.f90: New.
11468
11469 2007-07-02 Jakub Jelinek <jakub@redhat.com>
11470
11471 PR libgomp/32468
11472 * sections.c (GOMP_parallel_sections_start): Only decrease
11473 number of threads to COUNT if dyn_var is true.
11474 * testsuite/libgomp.c/pr32468.c: New test.
11475
11476 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11477
11478 PR libgomp/26308
11479 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11480
11481 2007-06-21 Jakub Jelinek <jakub@redhat.com>
11482
11483 PR middle-end/32362
11484 * testsuite/libgomp.c/pr32362-1.c: New test.
11485 * testsuite/libgomp.c/pr32362-2.c: New test.
11486 * testsuite/libgomp.c/pr32362-3.c: New test.
11487
11488 2007-06-07 Jakub Jelinek <jakub@redhat.com>
11489
11490 * team.c (gomp_team_start): Fix setting up thread_attr
11491 stack size.
11492
11493 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
11494
11495 * configure: Regenerate.
11496
11497 2007-05-23 Steve Ellcey <sje@cup.hp.com>
11498
11499 * Makefile.in: Regenerate.
11500 * configure: Regenerate.
11501 * aclocal.m4: Regenerate.
11502 * testsuite/Makefile.in: Regenerate.
11503
11504 2007-05-04 Jakub Jelinek <jakub@redhat.com>
11505
11506 * config/linux/proc.c: New file.
11507
11508 PR libgomp/28482
11509 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11510
11511 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
11512
11513 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11514
11515 2007-04-16 Matthias Klose <doko@debian.org>
11516
11517 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11518 flags if not building with -m64.
11519 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11520 flag for i?86-*-* targets, if current target matches -m64.
11521
11522 2007-04-14 Steve Ellcey <sje@cup.hp.com>
11523
11524 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11525 * Makefile.in: Regenerate.
11526
11527 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11528
11529 PR testsuite/31369
11530 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11531 ld_library_path.
11532 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11533
11534 2007-04-04 Jakub Jelinek <jakub@redhat.com>
11535
11536 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11537 decls.
11538 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11539 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11540 (parse_affinity): New function.
11541 (initialize_env): Call it and gomp_init_affinity.
11542 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11543 create new pthread_attr_t and call gomp_init_thread_affinity
11544 on it for each thread before passing the attribute to pthread_create.
11545 * config/linux/affinity.c: New file.
11546 * config/posix/affinity.c: New file.
11547 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11548 * configure: Rebuilt.
11549 * config.h.in: Rebuilt.
11550 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11551 * Makefile.in: Rebuilt.
11552
11553 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11554
11555 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11556 *-*-darwin*.
11557 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11558 and use it if found.
11559
11560 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
11561
11562 * testsuite/config/default.exp: New file.
11563 * testsuite/lib/libgomp.exp: New file.
11564 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11565 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11566 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11567 (libgomp_load): Remove.
11568 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11569 always_ld_library_path, not ld_library_path. Set additional_flags
11570 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11571 (target_compile): Do not call libgomp_init. Append lang_library_path
11572 and lang_link_flags to options.
11573 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11574 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11575 here.
11576 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11577 always_ld_library_path. Set LD_LIBRARY_PATH here.
11578 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11579 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11580 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11581 CX8 flag.
11582 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11583 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11584 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11585 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11586 * testsuite/libgomp.c/atomic-10.c: Ditto.
11587
11588 2007-03-21 Jakub Jelinek <jakub@redhat.com>
11589
11590 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11591 dg-final cleanup-modules line.
11592 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11593 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11594 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11595 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11596 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11597 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11598 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11599
11600 2007-03-18 Andreas Schwab <schwab@suse.de>
11601
11602 * acinclude.m4: Adjust regular expression for ld version
11603 extraction.
11604 * configure: Regenerate.
11605
11606 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11607
11608 * Makefile.am: Add install-pdf target as copied from
11609 automake v1.10 rules.
11610 * Makefile.in: Regenerate
11611
11612 2007-02-07 Jakub Jelinek <jakub@redhat.com>
11613
11614 PR libgomp/28486
11615 * configure: Regenerate.
11616
11617 PR c++/30703
11618 * testsuite/libgomp.c++/pr30703.C: New test.
11619
11620 2007-02-02 Jakub Jelinek <jakub@redhat.com>
11621
11622 Revert:
11623 2006-07-05 Eric Christopher <echristo@apple.com>
11624 * configure.ac: Depend addition of -pthread on host OS.
11625 * configure: Regenerate.
11626
11627 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11628
11629 * libgomp.texi: Fix spacing after abbreviations.
11630
11631 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
11632
11633 PR libgomp/30546
11634 * configure.ac: Add check for makeinfo
11635 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
11636 if an appropriate version of makeinfo is found.
11637 * aclocal.m4: Regenerated.
11638 * configure: Regenerated.
11639 * Makefile.in: Regenerated.
11640 * testsuite/Makefile.in: Regenerated.
11641
11642 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
11643
11644 PR libgomp/30540
11645 * libgomp.texi: More about implementation-dependent settings.
11646
11647 2007-01-26 Tobias Burnus <burnus@net-b.de>
11648
11649 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11650
11651 2007-01-24 Jakub Jelinek <jakub@redhat.com>
11652
11653 PR middle-end/30494
11654 * testsuite/libgomp.c/pr30494.c: New test.
11655
11656 2007-01-15 Tom Tromey <tromey@redhat.com>
11657
11658 * configure: Rebuilt.
11659 * configure.ac: Fixed comment.
11660
11661 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
11662
11663 * libgomp.texi: Document implementation specific default values of
11664 environment variables.
11665
11666 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
11667
11668 PR libgomp/28209
11669 * libgomp.texi: New file.
11670 * configure.ac: Add --enable-generated-files-in-srcdir option.
11671 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11672 files to srcdir.
11673 * Makefile.in: Regenerated.
11674 * config.h.in: Regenerated.
11675 * testsuite/Makefile.in: Regenerated.
11676 * NOTES: Removed.
11677
11678 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
11679
11680 PR libgomp/29949
11681 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11682
11683 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11684
11685 * configure: Regenerate.
11686
11687 2006-12-04 Jakub Jelinek <jakub@redhat.com>
11688
11689 PR libgomp/29947
11690 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11691 start if there shouldn't be any loop iterations.
11692 (gomp_loop_ordered_static_start): Remove start == end test.
11693 * testsuite/libgomp.c/pr29947-1.c: New test.
11694 * testsuite/libgomp.c/pr29947-2.c: New test.
11695
11696 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11697
11698 * configure.tgt: Force initial-exec TLS model on Linux only.
11699
11700 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11701
11702 * configure: Regenerated.
11703
11704 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
11705
11706 * env.c (parse_schedule): Reject out of range values.
11707 (parse_unsigned_long): Reject out of range, negative or zero values.
11708
11709 2006-10-29 Jakub Jelinek <jakub@redhat.com>
11710
11711 PR fortran/29629
11712 * testsuite/libgomp.fortran/pr29629.f90: New test.
11713
11714 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11715
11716 PR libgomp/29494
11717 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11718 * config/posix95: New directory.
11719 * config/posix95/omp-lock.h: New file.
11720 * config/posix95/lock.c: Likewise.
11721
11722 2006-10-14 Geoffrey Keating <geoffk@apple.com>
11723
11724 * aclocal.m4: Regenerate.
11725 * configure: Regenerate.
11726
11727 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11728
11729 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11730 '<' to '<='.
11731
11732 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11733
11734 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11735 test.
11736 * configure: Regenerate.
11737 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11738
11739 2006-09-26 Jakub Jelinek <jakub@redhat.com>
11740
11741 PR middle-end/25261
11742 PR middle-end/28790
11743 * testsuite/libgomp.c/nestedfn-4.c: New test.
11744 * testsuite/libgomp.c/nestedfn-5.c: New test.
11745 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11746
11747 PR fortran/29097
11748 * testsuite/libgomp.fortran/condinc1.f: New test.
11749 * testsuite/libgomp.fortran/condinc2.f: New test.
11750 * testsuite/libgomp.fortran/condinc3.f90: New test.
11751 * testsuite/libgomp.fortran/condinc4.f90: New test.
11752 * testsuite/libgomp.fortran/condinc1.inc: New file.
11753
11754 2006-09-18 Tom Tromey <tromey@redhat.com>
11755
11756 * configure: Rebuilt.
11757
11758 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11759
11760 PR c/28768
11761 PR preprocessor/14634
11762 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11763 to AC_DEFINE.
11764 * configure: Regenerate.
11765
11766 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11767
11768 * testsuite/libgomp.fortran/reduction3.f90: Change
11769 -2147483648 to -huge(i)-1 to avoid overflow.
11770 * testsuite/libgomp.fortran/reduction4.f90: Change
11771 Z'ffffffff' to not(0) to avoid overflow.
11772
11773 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11774
11775 PR libgomp/25938
11776 * Makefile.am (libsubincludedir): New.
11777 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11778 * Makefile.in: Regenerate.
11779
11780 2006-08-17 Jakub Jelinek <jakub@redhat.com>
11781
11782 PR libgomp/28725
11783 * env.c: Include ctype.h.
11784 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11785 leading and/or trailing whitespace and compare strings case
11786 insensitively.
11787
11788 2006-07-16 Jakub Jelinek <jakub@redhat.com>
11789
11790 PR fortran/28390
11791 * testsuite/libgomp.fortran/pr28390.f: New test.
11792
11793 2006-07-05 Eric Christopher <echristo@apple.com>
11794
11795 * configure.ac: Depend addition of -pthread on host OS.
11796 * configure: Regenerate.
11797
11798 2006-06-21 Jakub Jelinek <jakub@redhat.com>
11799
11800 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11801 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11802 defined.
11803
11804 2006-06-20 Jakub Jelinek <jakub@redhat.com>
11805
11806 PR libgomp/26175
11807 PR libgomp/26477
11808 * configure.ac: If neither --enable-linux-futex nor
11809 --disable-linux-futex is passed, determine the default by checking
11810 for compiling and/or running against NPTL. With --enable-linux-futex,
11811 check if SYS_gettid and SYS_futex are defined.
11812 * configure: Rebuilt.
11813
11814 2006-06-14 Richard Henderson <rth@redhat.com>
11815
11816 PR libgomp/28008
11817 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11818 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11819
11820 2006-06-09 Richard Henderson <rth@redhat.com>
11821
11822 * env.c (gomp_nthreads_var): Change to unsigned long.
11823 (gomp_run_sched_chunk): Likewise.
11824 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11825 (initialize_env): Initialize gomp_thread_attr.
11826 * libgomp.h (gomp_nthreads_var): Update decl.
11827 (gomp_run_sched_chunk): Likewise.
11828 (gomp_thread_attr): Declare.
11829 * team.c (gomp_thread_attr): Export.
11830 (initialize_team): Don't initialize it.
11831
11832 2006-06-09 Jakub Jelinek <jakub@redhat.com>
11833
11834 PR fortran/27916
11835 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11836 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11837
11838 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11839
11840 * config/mingw32/time.c: New file.
11841 * configure.tgt: Use it.
11842
11843 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11844
11845 * Makefile.am: Add install-html target. Add install-html to .PHONY
11846 * Makefile.in: Regenerate.
11847
11848 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11849
11850 PR libgomp/27612
11851 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11852 * testsuite/libgomp.c/critical-1.c: Likewise.
11853 * testsuite/libgomp.c/loop-1.c: Likewise.
11854 * testsuite/libgomp.c/loop-2.c: Likewise.
11855 * testsuite/libgomp.c/single-1.c: Likewise.
11856 * testsuite/libgomp.c/ordered-1.c: Likewise.
11857 * testsuite/libgomp.c/ordered-2.c: Likewise.
11858
11859 2006-05-15 Jakub Jelinek <jakub@redhat.com>
11860
11861 PR middle-end/27416
11862 * libgomp.fortran/pr27416-1.f90: New test.
11863
11864 2006-05-03 Jakub Jelinek <jakub@redhat.com>
11865
11866 PR fortran/27395
11867 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11868 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11869
11870 2006-05-02 Jakub Jelinek <jakub@redhat.com>
11871
11872 PR c++/26943
11873 * testsuite/libgomp.c/pr26943-1.c: New test.
11874 * testsuite/libgomp.c/pr26943-2.c: New test.
11875 * testsuite/libgomp.c/pr26943-3.c: New test.
11876 * testsuite/libgomp.c/pr26943-4.c: New test.
11877 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11878 * testsuite/libgomp.c++/pr26943.C: New test.
11879
11880 2006-05-02 Jakub Jelinek <jakub@redhat.com>
11881
11882 PR middle-end/27337
11883 * testsuite/libgomp.c++/pr27337.C: New test.
11884
11885 2006-04-26 Jakub Jelinek <jakub@redhat.com>
11886
11887 PR c/26171
11888 * testsuite/libgomp.c/pr26171.c: New test.
11889
11890 2006-04-25 Richard Henderson <rth@redhat.com>
11891
11892 PR libgomp/25865
11893 * configure.ac: Use GCC_CHECK_TLS.
11894 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11895 * Makefile.in, aclocal.m4, configure: Regenerate.
11896
11897 2006-04-10 Matthias Klose <doko@debian.org>
11898
11899 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11900 directory names containing underscores.
11901
11902 2006-03-21 Jakub Jelinek <jakub@redhat.com>
11903
11904 PR c++/26691
11905 * testsuite/libgomp.c++/pr26691.C: New test.
11906
11907 2006-03-13 Jakub Jelinek <jakub@redhat.com>
11908
11909 * testsuite/libgomp.fortran/retval2.f90: New test.
11910
11911 2006-03-09 Diego Novillo <dnovillo@redhat.com>
11912
11913 * testsuite/libgomp.c++: New directory.
11914
11915 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
11916
11917 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11918 * config/posix/sem.c: Implement the above.
11919
11920 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11921
11922 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11923 define HAVE_BROKEN_POSIX_SEMAPHORES.
11924 * configure: Rebuilt.
11925 * config.h.in: Rebuilt.
11926
11927 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11928
11929 PR bootstrap/26161
11930 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11931 for the other pthread check.
11932 * configure: Regenerate.
11933 * config.h.in: Regenerate.
11934
11935 2006-02-15 Jakub Jelinek <jakub@redhat.com>
11936
11937 PR libgomp/25938
11938 PR libgomp/25984
11939 * Makefile.am (fincludedir): New variable.
11940 (nodist_include_HEADERS): Remove Fortran files.
11941 (nodist_finclude_HEADERS): New variable.
11942 * Makefile.in: Regenerated.
11943
11944 2006-02-13 Jakub Jelinek <jakub@redhat.com>
11945
11946 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11947 Remove tests for returning assumed character length arrays.
11948
11949 2006-02-12 Roger Sayle <roger@eyesopen.com>
11950 John David Anglin <dave@hiauly1.hia.nrc.ca>
11951
11952 PR libgomp/25936
11953 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
11954
11955 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11956
11957 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11958
11959 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11960
11961 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11962 part of LD_LIBRARY_PATH manually.
11963
11964 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11965
11966 PR libgomp/25852
11967 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11968 libgomp_init.
11969
11970 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
11971
11972 PR libgomp/25884
11973 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11974 * configure.ac (PERL): Don't set.
11975 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11976 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11977 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11978 * omp.h.in: Wrap the new configure substitutions with @ characters.
11979 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11980 * aclocal.m4, configure, Makefile.in: Regenerate.
11981 * mkomp_h.pl: Delete.
11982
11983 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
11984
11985 PR libgomp/25259
11986 * configure.ac: Use GCC_HEADER_STDINT.
11987 * libgomp.h: Include gstdint.h.
11988 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11989 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11990
11991 2006-01-24 Richard Henderson <rth@redhat.com>
11992
11993 PR libgomp/25942
11994 * configure.ac: Add AM_MAINTAINER_MODE.
11995 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11996
11997 2006-01-24 Diego Novillo <dnovillo@redhat.com>
11998
11999 * Makefile.in: Regenerate.
12000 * testsuite/Makefile.in: Regenerate.
12001 * aclocal.m4: Regenerate.
12002
12003 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
12004
12005 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12006 Solaris.
12007 * configure.ac: Add check for loadavg.h.
12008 (link_gomp): Adjust comment.
12009 * configure: Regenerate.
12010 * config.h.in: Regenerate.
12011
12012 2006-01-21 Steve Ellcey <sje@cup.hp.com>
12013
12014 PR libgomp/25877
12015 * configure.ac: Remove check for alloca.h.
12016 * configure: Regenerate.
12017 * config.h.in: Regenerate.
12018 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12019 * team.c: Remove use of alloca.h.
12020 Call gomp_alloca instead of alloca.
12021
12022 2006-01-20 Steve Ellcey <sje@cup.hp.com>
12023
12024 PR libgomp/25877
12025 * team.c: Add include of alloca.h.
12026 * configure.ac: Add check for alloca.h.
12027 * configure: Regenerate.
12028 * config.h.in: Regenerate.
12029
12030 2006-01-17 Jakub Jelinek <jakub@redhat.com>
12031
12032 PR fortran/25219
12033 * testsuite/libgomp.fortran/pr25219.f90: New test.
12034
12035 2005-12-05 Uros Bizjak <uros@kss-loka.si>
12036
12037 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12038 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12039 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12040 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12041 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12042 testsuite/libgomp.fortran/threadprivate1.f90,
12043 testsuite/libgomp.fortran/threadprivate2.f90,
12044 testsuite/libgomp.fortran/threadprivate3.f90,
12045 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12046 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12047 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12048 effective-target to TLS runtime.
12049
12050 * testsuite/libgomp.fortran/pr25162.f: Require
12051 effective-target TLS runtime.
12052
12053 2005-12-01 Jakub Jelinek <jakub@redhat.com>
12054
12055 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12056 * testsuite/libgomp.c/nestedfn-3.c: New test.
12057
12058 2005-11-30 Jakub Jelinek <jakub@redhat.com>
12059
12060 PR fortran/25162
12061 * testsuite/libgomp.fortran/pr25162.f: New test.
12062
12063 2005-11-28 Jakub Jelinek <jakub@redhat.com>
12064
12065 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12066 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12067
12068 2005-11-25 Jakub Jelinek <jakub@redhat.com>
12069
12070 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12071 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12072 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12073 single.c, team.c, work.c, config/linux/alpha/futex.h,
12074 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12075 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12076 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12077 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12078 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12079 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12080 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12081 FSF address.
12082
12083 2005-11-18 Jakub Jelinek <jakub@redhat.com>
12084
12085 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12086 to nodist_noinst_HEADERS.
12087 * Makefile.in: Rebuilt.
12088
12089 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12090 add integer count field.
12091 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12092 omp_nest_lock_t type change.
12093 (omp_init_nest_lock): Likewise. Initialize count to 0.
12094 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12095 Increment count.
12096 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12097 Decrement count.
12098 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12099 Increment count if successful and return the new nesting level.
12100 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12101 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12102 * testsuite/libgomp.c/lib-1.c: New test.
12103 * testsuite/libgomp.fortran/lib1.f90: New test.
12104 * testsuite/libgomp.fortran/lib2.f: New test.
12105 * testsuite/libgomp.fortran/lib3.f: New test.
12106
12107 2005-11-17 Richard Henderson <rth@redhat.com>
12108
12109 PR 24845
12110 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12111 * configure.ac (link_gomp): New. Substitute it.
12112 (AC_CONFIG_FILES): Add libgomp.spec.
12113 * libgomp.spec.in: New file.
12114 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12115 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12116
12117 2005-11-18 Jakub Jelinek <jakub@redhat.com>
12118
12119 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12120 reduction(-:var) behaving the same as reduction(+:var).
12121 * testsuite/libgomp.c/reduction-4.c: New test.
12122
12123 2005-11-15 Uros Bizjak <uros@kss-loka.si>
12124
12125 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12126 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12127 testsuite/libgomp.c/copyin-3.c,
12128 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12129 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12130 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12131 testsuite/libgomp.c++/pr24455.C,
12132 testsuite/libgomp.fortran/threadprivate1.f90,
12133 testsuite/libgomp.fortran/threadprivate2.f90,
12134 testsuite/libgomp.fortran/threadprivate3.f90,
12135 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12136 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12137 testsuite/libgomp.fortran/omp_parse3.f90: Require
12138 effective-target TLS.
12139
12140 2005-11-14 Diego Novillo <dnovillo@redhat.com>
12141
12142 * HEADER: Remove.
12143
12144 2005-11-13 Jakub Jelinek <jakub@redhat.com>
12145
12146 PR libgomp/24797
12147 * team.c (initialize_team): Pass NULL rather than free as
12148 pthread_key_create destructor. Initialize thread specific data
12149 pointer in initial thread to a static local variable rather than
12150 malloced memory.
12151
12152 2005-11-11 Uros Bizjak <uros@kss-loka.si>
12153
12154 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12155 its location to ld_library_path.
12156
12157 2005-11-10 Diego Novillo <dnovillo@redhat.com>
12158
12159 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12160
12161 2005-11-10 Diego Novillo <dnovillo@redhat.com>
12162
12163 * testsuite/libgomp.c: Rename from libgomp.dg.
12164
12165 2005-11-09 Diego Novillo <dnovillo@redhat.com>
12166
12167 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12168 threadprivate variable 'i'.
12169
12170 2005-11-09 Jakub Jelinek <jakub@redhat.com>
12171
12172 * config/linux/s390/futex.h: New file.
12173 * configure.tgt: Use it.
12174
12175 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12176 before the parallel.
12177
12178 2005-11-08 Jakub Jelinek <jakub@redhat.com>
12179
12180 PR c++/24734
12181 * testsuite/libgomp.c++/master-1.C: New test.
12182
12183 2005-11-07 Jakub Jelinek <jakub@redhat.com>
12184
12185 * testsuite/libgomp.dg/copyin-3.c: New test.
12186
12187 2005-11-07 Jakub Jelinek <jakub@redhat.com>
12188
12189 * testsuite/libgomp.fortran/retval1.f90: New test.
12190 * testsuite/libgomp.fortran/vla7.f90: New test.
12191
12192 2005-11-06 Jakub Jelinek <jakub@redhat.com>
12193
12194 * testsuite/libgomp.fortran/vla2.f90: New test.
12195 * testsuite/libgomp.fortran/vla3.f90: New test.
12196 * testsuite/libgomp.fortran/vla4.f90: New test.
12197 * testsuite/libgomp.fortran/vla5.f90: New test.
12198 * testsuite/libgomp.fortran/vla6.f90: New test.
12199
12200 2005-11-01 Jakub Jelinek <jakub@redhat.com>
12201
12202 * config/linux/sparc/futex.h: New file.
12203 * configure.tgt: Use it.
12204 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12205
12206 * critical.c: Include stdlib.h.
12207 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12208 ignoring return value.
12209 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12210 LIBGOMP_CHECK_SYNC_BUILTINS check.
12211 * configure: Rebuilt.
12212
12213 2005-10-31 Jakub Jelinek <jakub@redhat.com>
12214
12215 * testsuite/libgomp.fortran/vla1.f90: New test.
12216
12217 2005-10-31 Richard Henderson <rth@redhat.com>
12218
12219 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12220 setting 's' in different threads.
12221
12222 2005-10-31 Jakub Jelinek <jakub@redhat.com>
12223
12224 * libgomp.h (attribute_hidden, ialias): Define.
12225 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12226 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12227 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12228 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12229 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12230 omp_test_lock, omp_test_nest_lock): Likewise.
12231 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12232 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12233 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12234 omp_test_lock, omp_test_nest_lock): Likewise.
12235 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12236 omp_get_dynamic, omp_get_nested): Likewise.
12237 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12238 omp_get_thread_num, omp_in_parallel): Likewise.
12239 * fortran.c (ialias_redirect): Define.
12240 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12241 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12242 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12243 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12244 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12245 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12246 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12247 omp_get_wtime): Add ialias_redirect.
12248
12249 2005-10-30 Jakub Jelinek <jakub@redhat.com>
12250
12251 * fortran.c: Include stdlib.h.
12252
12253 2005-10-29 Jakub Jelinek <jakub@redhat.com>
12254
12255 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12256 * Makefile.in: Regenerated.
12257
12258 2005-10-28 Jakub Jelinek <jakub@redhat.com>
12259
12260 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12261 * libgomp_f.h.in (omp_check_defines): New function.
12262 * env.c: Include libgomp_f.h.
12263 (initialize_env): Call omp_check_defines.
12264
12265 * testsuite/libgomp.dg/copyin-2.c: New test.
12266 * testsuite/libgomp.c++/copyin-2.C: New test.
12267 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12268
12269 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12270 * testsuite/libgomp.fortran/sharing2.f90: New test.
12271
12272 * testsuite/libgomp.dg/copyin-1.c: New test.
12273 * testsuite/libgomp.c++/copyin-1.C: New test.
12274
12275 2005-10-26 Jakub Jelinek <jakub@redhat.com>
12276
12277 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12278
12279 * testsuite/libgomp.fortran/workshare1.f90: New test.
12280
12281 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12282 only test.
12283 * libgomp.fortran/sharing1.f90: New test.
12284
12285 2005-10-24 Jakub Jelinek <jakub@redhat.com>
12286
12287 PR c++/24502
12288 * testsuite/libgomp.c++/loop-7.C: New test.
12289
12290 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12291
12292 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12293 * testsuite/libgomp.fortran/reduction6.f90: New test.
12294 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12295
12296 2005-10-23 Richard Henderson <rth@redhat.com>
12297
12298 * testsuite/libgomp.c++/ctor-1.C: New.
12299 * testsuite/libgomp.c++/ctor-2.C: New.
12300 * testsuite/libgomp.c++/ctor-3.C: New.
12301 * testsuite/libgomp.c++/ctor-4.C: New.
12302 * testsuite/libgomp.c++/ctor-5.C: New.
12303 * testsuite/libgomp.c++/ctor-6.C: New.
12304 * testsuite/libgomp.c++/ctor-7.C: New.
12305 * testsuite/libgomp.c++/ctor-8.C: New.
12306 * testsuite/libgomp.c++/ctor-9.C: New.
12307
12308 2005-10-21 Diego Novillo <dnovillo@redhat.com>
12309
12310 PR 24455
12311 * testsuite/libgomp.c++/pr24455-1.C: New test.
12312 * testsuite/libgomp.c++/pr24455.C: New test.
12313 * testsuite/libgomp.dg/pr24455-1.c: New test.
12314 * testsuite/libgomp.dg/pr24455.c: New test.
12315
12316 2005-10-20 Richard Henderson <rth@redhat.com>
12317
12318 * testsuite/libgomp.c++/loop-6.C: New.
12319 * testsuite/libgomp.dg/loop-3.c: New.
12320
12321 2005-10-20 Jakub Jelinek <jakub@redhat.com>
12322
12323 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12324 explicitly private.
12325 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12326 explicitly shared.
12327
12328 2005-10-19 Diego Novillo <dnovillo@redhat.com>
12329
12330 * testsuite/libgomp.fortran/jacobi.f: New test.
12331
12332 2005-10-19 Richard Henderson <rth@redhat.com>
12333
12334 * configure.tgt (i?86-linux): Default to with_arch instead of
12335 CFLAGS. Add -mtune to match target_cpu.
12336 (x86_64-linux): Tune to i686.
12337
12338 * fortran.c (omp_test_nest_lock_): Fix typo.
12339
12340 2005-10-19 Jakub Jelinek <jakub@redhat.com>
12341
12342 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12343 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12344 * testsuite/libgomp.dg/ordered-3.c: New test.
12345
12346 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12347 Remove volatile keyword.
12348
12349 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12350 in COMMON block to avoid warnings on 64-bit targets.
12351
12352 2005-10-18 Diego Novillo <dnovillo@redhat.com>
12353
12354 * testsuite/libgomp.dg/shared-3.c: New test.
12355
12356 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12357
12358 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12359 * testsuite/libgomp.fortran/reduction5.f90: New test.
12360
12361 2005-10-18 Jakub Jelinek <jakub@redhat.com>
12362
12363 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12364 dg-options.
12365 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12366 flush loop now that __sync_synchronize has proper memory barrier.
12367 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12368 Add -ffixed-form to dg-options.
12369
12370 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12371
12372 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12373 from subdirectories.
12374 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12375 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12376 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12377 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12378 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12379 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12380 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12381 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12382 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12383 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12384 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12385 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12386 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12387 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12388 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12389 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12390 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12391 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12392 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12393 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12394 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12395 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12396 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12397 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12398 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12399
12400 2005-10-17 Jakub Jelinek <jakub@redhat.com>
12401
12402 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12403 lang_library_path exists. Use find instead of glob to gather tests.
12404 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12405
12406 2005-10-17 Diego Novillo <dnovillo@redhat.com>
12407
12408 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12409 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12410 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12411 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12412 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12413 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12414 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12415 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12416 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12417 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12418 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12419 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12420 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12421
12422 2005-10-15 Jakub Jelinek <jakub@redhat.com>
12423
12424 * testsuite/libgomp.dg/vla-1.c: New test.
12425
12426 * testsuite/libgomp.fortran/reference2.f90: New test.
12427
12428 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12429 declaration of omp_get_thread_num.
12430 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12431 use omp_lib.
12432
12433 * testsuite/libgomp.fortran/reduction1.f90: New test.
12434 * testsuite/libgomp.fortran/reduction2.f90: New test.
12435 * testsuite/libgomp.fortran/reduction3.f90: New test.
12436 * testsuite/libgomp.fortran/reduction4.f90: New test.
12437
12438 2005-10-13 Richard Henderson <rth@redhat.com>
12439
12440 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12441 * Makefile.in: Regenerate.
12442 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12443 * libgomp.h: Include bar.h.
12444 (struct gomp_barrier): Remove.
12445 (struct gomp_team): Add barrier. Replace master_barrier with
12446 master_release. Replace threads with ordered_release.
12447 (struct gomp_thread): Replace barrier with release.
12448 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12449 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12450 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12451 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12452 (GOMP_single_copy_end): Likewise.
12453 * team.c (gomp_threads_dock): New.
12454 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12455 (gomp_thread_start): Use gomp_barrier_wait.
12456 (new_team, free_team): Update for gomp_team changes.
12457 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12458 (gomp_team_end): Use gomp_barrier_wait.
12459 (initialize_team): Update for gomp_thread changes.
12460 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12461 (gomp_work_share_end_nowait): Use atomic ops when available.
12462 * config/linux/bar.c, config/linux/bar.h: New files.
12463 * config/posix/bar.c, config/posix/bar.h: New files.
12464
12465 2005-10-13 Jakub Jelinek <jakub@redhat.com>
12466
12467 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12468 * testsuite/libgomp.dg/single-2.c: New test.
12469
12470 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12471 lang_link_flags): Unset, so that they aren't inherited from previously
12472 sourced *.exp.
12473
12474 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12475
12476 2005-10-12 Richard Henderson <rth@redhat.com>
12477
12478 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12479 (libgomp_init): Use lang_test_file, lang_library_path, and
12480 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12481
12482 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12483 (lang_test_file, lang_link_flags): New.
12484 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12485
12486 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12487 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12488 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12489 testsuite/libgomp.c++/parallel-1.C,
12490 testsuite/libgomp.c++/reduction-1.C,
12491 testsuite/libgomp.c++/reduction-2.C,
12492 testsuite/libgomp.c++/reduction-3.C,
12493 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12494 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12495 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12496 New files, largely cribbed from the C testsuite.
12497
12498 2005-10-12 Jakub Jelinek <jakub@redhat.com>
12499
12500 * testsuite/libgomp.fortran/character1.f90: New test.
12501 * testsuite/libgomp.fortran/character2.f90: New test.
12502
12503 * testsuite/libgomp.dg/nested-1.c: New test.
12504 * testsuite/libgomp.dg/nested-2.c: New test.
12505 * testsuite/libgomp.fortran/do1.f90: New test.
12506 * testsuite/libgomp.fortran/do2.f90: New test.
12507
12508 * testsuite/libgomp.fortran/reference1.f90: New test.
12509
12510 2005-10-11 Jakub Jelinek <jakub@redhat.com>
12511
12512 * testsuite/libgomp.dg/reduction-1.c: New test.
12513 * testsuite/libgomp.dg/reduction-2.c: New test.
12514 * testsuite/libgomp.dg/reduction-3.c: New test.
12515
12516 2005-10-10 Jakub Jelinek <jakub@redhat.com>
12517
12518 * testsuite/libgomp.dg/atomic-1.c: New test.
12519 * testsuite/libgomp.dg/atomic-2.c: New test.
12520
12521 2005-10-09 Richard Henderson <rth@redhat.com>
12522
12523 * critical.c (atomic_lock): New.
12524 (initialize_critical): Initialize it.
12525 (GOMP_atomic_start, GOMP_atomic_end): New.
12526 * libgomp.map: Export them.
12527 * libgomp_g.h: Declare them.
12528
12529 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12530
12531 2005-10-02 Richard Henderson <rth@redhat.com>
12532
12533 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12534 to XCFLAGS instead of CFLAGS.
12535
12536 2005-09-30 Richard Henderson <rth@redhat.com>
12537
12538 * configure.ac: Determine whether -pthread or -lpthread is needed.
12539 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
12540 * Makefile.in, configure: Rebuild.
12541
12542 2005-09-28 Richard Henderson <rth@redhat.com>
12543
12544 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12545 * testsuite/libgomp.dg/omp-single-3.c: New test.
12546
12547 2005-09-28 Diego Novillo <dnovillo@redhat.com>
12548
12549 * testsuite/libgomp.dg/omp-single-2.c: New test.
12550 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12551
12552 2005-09-27 Richard Henderson <rth@redhat.com>
12553
12554 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12555 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12556
12557 2005-09-27 Jakub Jelinek <jakub@redhat.com>
12558
12559 * testsuite/libgomp.dg/omp-loop03.c: New test.
12560
12561 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12562
12563 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12564
12565 2005-09-27 Diego Novillo <dnovillo@redhat.com>
12566
12567 * testsuite/libgomp.dg/omp-single-1.c: New test.
12568 * testsuite/libgomp.dg/shared-1.c: Return 0.
12569 Add prototype for abort.
12570 * testsuite/libgomp.dg/shared-2.c: Likewise.
12571
12572 2005-09-26 Jakub Jelinek <jakub@redhat.com>
12573
12574 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12575 constructs.
12576
12577 2005-09-26 Diego Novillo <dnovillo@redhat.com>
12578
12579 * testsuite/libgomp.dg/shared-1.c: New test.
12580 * testsuite/libgomp.dg/shared-2.c: New test.
12581
12582 2005-09-24 Richard Henderson <rth@redhat.com>
12583
12584 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12585
12586 2005-09-24 Richard Henderson <rth@redhat.com>
12587
12588 * iter.c (gomp_iter_static_next): Round up when computing number
12589 of iterations. Don't bother distributing a remainder equally.
12590
12591 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12592 Don't call srand. Zero b before testing.
12593 (main): New.
12594
12595 2005-09-24 Jakub Jelinek <jakub@redhat.com>
12596
12597 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12598 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12599
12600 2005-09-23 Jakub Jelinek <jakub@redhat.com>
12601
12602 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12603 without !$omp end do, followed immediately by subroutine end.
12604
12605 2005-09-23 Diego Novillo <dnovillo@redhat.com>
12606
12607 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12608
12609 2005-09-22 Richard Henderson <rth@redhat.com>
12610
12611 * critical.c (GOMP_critical_name_start): Change argument to void**.
12612 Reuse the pointer space if the mutex fits.
12613 (GOMP_critical_name_end): Likewise.
12614 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12615 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12616 (GOMP_critical_name_end): Likewise.
12617 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12618 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12619
12620 2005-09-20 Richard Henderson <rth@redhat.com>
12621
12622 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12623 (create_lock_lock): New.
12624 (initialize_critical): Initialize it.
12625 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12626 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12627
12628 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12629
12630 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12631
12632 2005-09-20 Diego Novillo <dnovillo@redhat.com>
12633
12634 * testsuite/libgomp.dg/omp-loop01.c: New test.
12635 * testsuite/libgomp.dg/omp-loop02.c: New test.
12636
12637 2005-09-20 Jakub Jelinek <jakub@redhat.com>
12638
12639 * configure.ac (AC_PROG_FC): Add.
12640 (USE_FORTRAN): New automake conditional.
12641 * configure: Rebuilt.
12642 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12643 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12644 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12645 Add rules to build them.
12646 * Makefile.in: Rebuilt.
12647 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12648 OMP_NEST_LOCK_KIND.
12649 * libgomp.map: Add Fortran wrappers.
12650 * libgomp_f.h.in: New file.
12651 * omp_lib.h.in: New file.
12652 * omp_lib.f90.in: New file.
12653 * fortran.c: New file.
12654 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12655 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12656 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12657 libgfortran has been built.
12658 * testsuite/libgomp.fortran/fortran.exp: New file.
12659 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12660 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12661 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12662 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12663 * testsuite/libgomp.fortran/omp_hello.f: New test.
12664 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12665 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12666 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12667 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12668 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12669 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12670 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12671 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12672
12673 2005-08-30 Richard Henderson <rth@redhat.com>
12674
12675 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12676 function for when aliases are not usable.
12677 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12678 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12679 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12680 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12681 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12682 GOMP_loop_ordered_guided_next): Likewise.
12683 * ordered.c (GOMP_ordered_start): Likewise.
12684
12685 2005-08-01 Diego Novillo <dnovillo@redhat.com>
12686
12687 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12688 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12689 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12690 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12691 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12692 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12693 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12694 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12695 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12696
12697 2005-07-07 Eric Christopher <echristo@redhat.com>
12698 Diego Novillo <dnovillo@redhat.com>
12699
12700 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12701 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12702 up code.
12703 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12704 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12705 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12706 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12707 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12708 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12709 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12710
12711 2005-06-13 Diego Novillo <dnovillo@redhat.com>
12712
12713 * TOPLEVEL.patch: Remove.
12714
12715 2005-05-16 Richard Henderson <rth@redhat.com>
12716
12717 * configure.ac: Test for clock_gettime.
12718 * config.h.in, configure: Rebuild.
12719 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12720 (omp_get_wtime): Use clock_gettime if available.
12721 (omp_get_wtick): Use clock_getres if available.
12722
12723 2005-05-11 Richard Henderson <rth@redhat.com>
12724
12725 * config/linux/ia64/futex.h: New file.
12726 * configure.tgt: Use it.
12727
12728 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12729
12730 2005-05-07 Richard Henderson <rth@redhat.com>
12731
12732 * config/linux/powerpc/futex.h: New file.
12733 * configure.tgt: Use it.
12734
12735 * config/linux/i486/futex.h: Merge ...
12736 * config/linux/x86_64/futex.h: ... into ...
12737 * config/linux/x86/futex.h: ... here.
12738 * configure.tgt: Update to match.
12739
12740 2005-05-06 Richard Henderson <rth@redhat.com>
12741
12742 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12743 * config/linux/i486/futex.h: Likewise.
12744 * config/linux/x86_64/futex.h: Likewise.
12745
12746 * config/linux/lock.c: New file.
12747 * config/linux/omp-lock.h: New file.
12748
12749 * critical.c, env.h: Don't include omp.h
12750 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12751 * config/posix/time.c: Likewise.
12752 * config/posix/omp-lock.h: New file.
12753 * libgomp.h: Include omp-lock.h and omp.h.
12754 * Makefile.am (nodist_include_HEADERS): New.
12755 (omp.h): New rule.
12756 * configure.ac (PERL): New.
12757 * mkomp_h.pl: New file.
12758 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12759 with templates.
12760 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12761
12762 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12763 build directory. Re-add -march=i486 hack.
12764
12765 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12766 (libgomp_link_flags): Remove.
12767 (libgomp_initialized): Remove.
12768 (libgomp_init): Don't protect from reinitialization. Copy code
12769 from libstdc++ for getting the multilib set correctly.
12770
12771 2005-05-05 Richard Henderson <rth@redhat.com>
12772
12773 * config/linux/alpha/futex.h: New file.
12774 * configure.tgt (alpha*-*-linux*): Use it.
12775
12776 * config/posix/mutex.c: New file.
12777 * config/posix/sem.c: Use libgomp.h.
12778
12779 * configure.tgt (x86_64-linux): Also test CC for -m32.
12780 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12781
12782 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
12783 after $gccpath.
12784
12785 * Makefile.am (SUBDIRS): New.
12786 (libgomp_la_LDFLAGS): Add -lpthread.
12787 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12788 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12789
12790 * libgomp_g.h: New file.
12791 * libgomp.h: Split out all public declarations to libgomp_g.h.
12792 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12793 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12794 * config/linux/sem.h: Likewise.
12795 * config/posix/sem.h: Likewise.
12796
12797 * Makefile.am (AM_LDFLAGS): New.
12798 (libgomp_version_script): Split out from ...
12799 (libgomp_la_LDFLAGS): ... here.
12800 (libgomp_version_info): New.
12801 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12802 (LIBGOMP_ENABLE): New.
12803 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12804 (LIBGOMP_ENABLE_SYMVERS): New.
12805 * configure.ac (AC_INIT): Version 1.0.
12806 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12807 (enable-linux-futex): Likewise. Rename from enable-futex.
12808 (libtool_VERSION): New.
12809 (LIBGOMP_ENABLE_SYMVERS): Use it.
12810 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12811 * Makefile.in, aclocal.m4, configure: Rebuild.
12812
12813 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12814 (gomp_mutex_unlock_slow): Fix typo.
12815 * config/linux/sem.c: Similarly.
12816 (gomp_sem_post_slow): Fix typo.
12817 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12818 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12819 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12820
12821 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12822 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12823 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12824 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12825 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12826 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12827 LDFLAGS. Pull enable_futex check to top-level.
12828 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12829 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12830
12831 First attempt at real configury.
12832 * Makefile, config.h: Remove file.
12833 * Makefile.am, Makefile.in: New file.
12834 * acinclude.m4 aclocal.m4: New file.
12835 * configure.ac, configure.tgt, configure: New file.
12836
12837 * config/posix/lock.c: Rename from sys-lock.c.
12838 * config/posix/mutex.h: Rename from sys-mutex.h.
12839 * config/posix/sem.c: Rename from sys-sem.c.
12840 * config/posix/sem.h: Rename from sys-sem.h.
12841 * config/posix/proc.c: Rename from sys-proc.c.
12842 * config/posix/time.c: Rename from sys-proc.c.
12843
12844 * config/linux/mutex.c: New file.
12845 * config/linux/mutex.h: New file.
12846 * config/linux/sem.c: New file.
12847 * config/linux/sem.h: New file.
12848 * config/linux/i486/futex.h: New file.
12849 * config/linux/x86_64/futex.h: New file.
12850
12851 2005-05-04 Richard Henderson <rth@redhat.com>
12852
12853 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12854 * libgomp.h: Declare them.
12855 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12856 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12857
12858 2005-05-04 Richard Henderson <rth@redhat.com>
12859
12860 * libgomp-1 code drop
12861
12862 2005-05-04 Richard Henderson <rth@redhat.com>
12863
12864 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12865 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12866 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12867 (gomp_iter_static_next): Update.
12868 (gomp_ordered_static_next): Update.
12869 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12870 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12871 totally empty range.
12872 (gomp_loop_ordered_static_next): Refine test for calling
12873 gomp_ordered_static_next.
12874 * testsuite/ordered-1.c: Add case for more threads than iterations.
12875
12876 * iter.c (gomp_iter_runtime_next_locked): Remove.
12877 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
12878 gomp_loop_guided_start, gomp_loop_ordered_static_start,
12879 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12880 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12881 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12882 gomp_loop_ordered_guided_next): Downcase name, make static, add
12883 an external alias with the old name.
12884 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12885 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12886 switch and call one of the above static functions.
12887 * libgomp.h: Update.
12888
12889 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12890 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12891 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12892 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12893 GOMP_loop_ordered_guided_start): Update to match.
12894 * sections.c (GOMP_sections_start): Likewise.
12895 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12896
12897 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12898 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12899 Use bounds check instead of modulus.
12900 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12901 (gomp_ordered_last): Don't sync with ordered_owner here.
12902 (gomp_ordered_next): Likewise.
12903 (gomp_ordered_static_loop_next): Likewise.
12904 * loop.c, libgomp.h: Update to match.
12905
12906 * libgomp.h (GOMP_barrier): Declare.
12907
12908 * testsuite/barrier-1.c: New file.
12909 * testsuite/critical-1.c: New file.
12910 * testsuite/ordered-2.c: New file.
12911 * testsuite/ordered-1.c: New file.
12912 * testsuite/sections-1.c: New file.
12913 * testsuite/single-1.c: New file.
12914 * testsuite/Makefile (TESTS): Add them.
12915
12916 2005-05-04 Richard Henderson <rth@redhat.com>
12917
12918 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12919 * loop.c (GOMP_loop_static_start): If not the startup thread,
12920 acquire the mutex to wait for initialization complete.
12921 (GOMP_loop_ordered_static_start): Likewise.
12922 (GOMP_loop_ordered_runtime_start): Likewise.
12923 (GOMP_loop_ordered_static_first): Remove.
12924 (GOMP_loop_ordered_dynamic_first): Remove.
12925 (GOMP_loop_ordered_guided_first): Remove.
12926 (GOMP_loop_ordered_runtime_first): Remove.
12927 * ordered.c (gomp_ordered_loop_first): Post to own release when
12928 we're the first thread.
12929 (gomp_ordered_loop_last): Wait on release if not owner.
12930 (gomp_ordered_loop_next): Likewise.
12931 (gomp_ordered_static_loop_init): New.
12932 (gomp_ordered_static_loop_next): Use ordered_owner.
12933 (GOMP_ordered_start): Likewise.
12934 * work.c (gomp_new_work_share): Initialize ordered_owner.
12935
12936 2005-05-03 Richard Henderson <rth@redhat.com>
12937
12938 * Makefile (OPT): New.
12939 (CFLAGS): Use it.
12940
12941 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12942 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12943 * libgomp.h, libgomp.map, NOTES: Update to match.
12944
12945 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12946 Add initialized and thr members.
12947 (gomp_thread_start): Pause when initially spawned to wait for
12948 the whole team to be created.
12949 (gomp_team_start): Release team members at the end.
12950
12951 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12952 (f_foo_1): Use GOMP_loop_end.
12953 (f_foo_2): Use GOMP_loop_end_nowait.
12954
12955 * testsuite/loop-2.c: New file.
12956 * testsuite/Makefile (TESTS): Add it.
12957
12958 2005-05-03 Richard Henderson <rth@redhat.com>
12959
12960 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12961 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12962 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12963 initial work_share.
12964
12965 * testsuite/Makefile: New file.
12966 * testsuite/loop-1.c: New file.
12967
12968 2005-05-03 Richard Henderson <rth@redhat.com>
12969
12970 Initial implementation and checkin.
12971 \f
12972 Copyright (C) 2005-2020 Free Software Foundation, Inc.
12973
12974 Copying and distribution of this file, with or without modification,
12975 are permitted in any medium without royalty provided the copyright
12976 notice and this notice are preserved.