]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
ipa.c (walk_polymorphic_call_targets): Fix updating of overall summary.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
2c829799
AM
12019-12-31 Ayush Mittal <ayush.m@samsung.com>
2
3 PR libgomp/93065
4 * oacc-init.c (goacc_runtime_deinitialize): New function.
5
e9dcb75e
JJ
62019-12-28 Jakub Jelinek <jakub@redhat.com>
7
8 PR bootstrap/93074
9 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
10 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
11
6c84c8bf
MR
122019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
13 Frederik Harwath <frederik@codesourcery.com>
14 Thomas Schwinge <tschwinge@codesourcery.com>
15
16 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
17 * libgomp-plugin.h (gomp_device_property_value): New union.
18 (gomp_device_property_value): New prototype.
19 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
20 constant.
21 (acc_device_property_t): New enum.
22 (acc_get_property, acc_get_property_string): New prototypes.
23 * oacc-init.c (acc_get_device_type): Also assert that result
24 is not `acc_device_current'.
25 (get_property_any, acc_get_property, acc_get_property_string):
26 New functions.
27 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
28 `acc_property_memory', `acc_property_free_memory',
29 `acc_property_name', `acc_property_vendor' and
30 `acc_property_driver' constants. Add `acc_device_property' data
31 type.
32 (openacc_internal): Add `acc_get_property' and
33 `acc_get_property_string' interfaces. Add `acc_get_property_h',
34 `acc_get_property_string_h', `acc_get_property_l' and
35 `acc_get_property_string_l'.
36 * oacc-host.c (host_get_property): New function.
37 (host_dispatch): Wire it.
38 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
39 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
40 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
41 * libgomp.texi (OpenACC Runtime Library Routines): Add
42 `acc_get_property'.
43 (acc_get_property): New node.
44 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
45 function (stub).
46 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
47 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
48 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
49 calls.
50 (GOMP_OFFLOAD_get_property): New function.
51 (struct ptx_device): Add new field "name".
52 (cuda_driver_version_s): Add new static variable ...
53 (nvptx_init): ... and init from here.
54
55 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
56 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
57 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
58 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
59 with test helper functions.
60
61 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
62
c8e759b4
MR
632019-12-22 Maciej W. Rozycki <macro@wdc.com>
64
65 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
66 variable.
67
b092fb3b
TS
682019-12-21 Thomas Schwinge <thomas@codesourcery.com>
69
70 * target.c (gomp_map_vars_internal): Restore 'omp declare target
71 link' handling.
72
9be3ac5d
JB
732019-12-19 Julian Brown <julian@codesourcery.com>
74
75 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
76 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
77 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
78
02817027
JB
792019-12-19 Julian Brown <julian@codesourcery.com>
80 Cesar Philippidis <cesar@codesourcery.com>
81
82 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
83 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
84 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
85 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
86 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
87 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
88 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
89 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
90 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
91 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
92 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
93 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
94 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
95
c2eb021f
JB
962019-12-19 Julian Brown <julian@codesourcery.com>
97
98 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
99 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
100 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
101 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
102 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
103 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
104 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
105 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
106 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
107 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
108 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
109 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
110
8e7e71ff
JB
1112019-12-19 Julian Brown <julian@codesourcery.com>
112
113 * libgomp.h (struct target_var_desc): Add do_detach flag.
114 * oacc-init.c (acc_shutdown_1): Free aux block if present.
115 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
116 struct components. Tidy up and add some new checks.
117 (goacc_enter_data_internal): Update call to find_group_last.
118 (goacc_exit_data_internal): Support detach operations and
119 GOMP_MAP_STRUCT.
120 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
121 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
122 attach/detach in enter/exit data detection code.
123 * target.c (gomp_map_vars_existing): Initialise do_detach field of
124 tgt_var_desc.
125 (gomp_map_vars_internal): Support attach.
126 (gomp_unmap_vars_internal): Support detach.
127
5d5be7bf
JB
1282019-12-19 Julian Brown <julian@codesourcery.com>
129 Thomas Schwinge <thomas@codesourcery.com>
130
131 * libgomp.h (struct splay_tree_aux): Add attach_count field.
132 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
133 * libgomp.map (OACC_2.6): New section. Add acc_attach,
134 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
135 acc_detach_finalize_async.
136 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
137 acc_detach, acc_detach_async, acc_detach_finalize,
138 acc_detach_finalize_async): New functions.
139 * openacc.h (acc_attach, acc_attach_async, acc_detach,
140 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
141 prototypes.
142 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
143 (gomp_remove_var_internal): Free attachment counts if present.
144 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
145 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
146
5bcd470b
JB
1472019-12-19 Julian Brown <julian@codesourcery.com>
148 Cesar Philippidis <cesar@codesourcery.com>
149
150 * libgomp.h (gomp_map_val): Add prototype.
151 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
152 open-coding device-address calculation.
153 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
154 non-present case.
155
378da98f
JB
1562019-12-19 Julian Brown <julian@codesourcery.com>
157
158 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
159 field for virtual_refcount.
160 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
161 (gomp_free_memmap): Remove prototype.
162 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
163 instead of calling gomp_free_memmap.
164 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
165 dynamic_refcount.
166 (acc_unmap_data): Open code instead of forcing target_mem_desc's
167 to_free field to NULL then calling gomp_unmap_vars. Handle
168 REFCOUNT_INFINITY on target blocks.
169 (goacc_enter_data): Rename to...
170 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
171 handling for mapping groups. Use virtual_refcount instead of
172 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
173 map_map_vars_async call. Re-do lookup for target pointer return value.
174 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
175 renamed goacc_enter_datum function.
176 (goacc_exit_data): Rename to...
177 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
178 (acc_delete, acc_delete_async, acc_delete_finalize,
179 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
180 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
181 goacc_exit_datum function.
182 (gomp_acc_remove_pointer, find_pointer): Remove functions.
183 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
184 New functions.
185 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
186 goacc_exit_data_internal helper functions.
187 * target.c (gomp_map_vars_internal): Handle
188 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
189 semantics.
190 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
191 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
192 virtual_refcount field instead of dynamic_refcount.
193 (gomp_free_memmap): Remove function.
194 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
195 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
196 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
197
2a656a93
JB
1982019-12-19 Julian Brown <julian@codesourcery.com>
199 Thomas Schwinge <thomas@codesourcery.com>
200
201 * libgomp.h (struct splay_tree_aux): New.
202 (struct splay_tree_key_s): Replace link_key field with aux pointer.
203 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
204 to aux struct.
205 (gomp_remove_var_internal): Free aux block if present.
206 (gomp_load_image_to_device): Zero-initialise aux field instead of
207 link_key field.
208 (omp_target_associate_pointer): Zero-initialise aux field.
209
601399c0
JJ
2102019-12-18 Jakub Jelinek <jakub@redhat.com>
211
212 PR middle-end/86416
213 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
214 q or none.
215 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
216 L or none.
217
a6163563
JB
2182019-12-19 Julian Brown <julian@codesourcery.com>
219 Maciej W. Rozycki <macro@codesourcery.com>
220 Tobias Burnus <tobias@codesourcery.com>
221 Thomas Schwinge <thomas@codesourcery.com>
222
223 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
224 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
225 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
226 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
227 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
228 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
229 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
230 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
231 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
232
6278b549
TS
2332019-12-18 Thomas Schwinge <thomas@codesourcery.com>
234
77ce5555
TS
235 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
236 called...
237 (goacc_insert_pointer): ... from here, "present" case.
238 (goacc_insert_pointer): Inline function into...
239 (GOACC_enter_exit_data): ... here, and simplify.
240
9444a299
TS
241 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
242 called...
243 (goacc_insert_pointer): ... from here, "not present" case.
244
5031b619
TS
245 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
246 all users.
247
1a79b578
TS
248 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
249 'goacc_enter_data', 'goacc_exit_data'.
250
34cfe31e
TS
251 * oacc-mem.c (delete_copyout): Refactor into...
252 (goacc_exit_data): ... this. Adjust all users.
253
aaf0e9d7
TS
254 * oacc-mem.c (present_create_copy): Refactor into...
255 (goacc_enter_data): ... this. Adjust all users.
256
83d1d065
TS
257 * target.c (gomp_unmap_vars_internal): Add a safeguard to
258 'gomp_remove_var'.
259
cc3f11f5
TS
260 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
261 like 'GOMP_MAP_FROM'.
262
ddb25eb9
TS
263 PR libgomp/92726
264 PR libgomp/92970
265 PR libgomp/92984
266 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
267 fails.
268 (GOACC_enter_exit_data): Simplify accordingly.
269 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
270 subsuming...
271 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
272 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
273 file.
274 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
275 subsuming...
276 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
277 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
278 file.
279 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
280 subsuming...
281 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
282
32128577
TS
283 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
284 'finalize' handling.
285
ba40277f
TS
286 PR libgomp/92848
287 * oacc-mem.c (acc_map_data, present_create_copy)
288 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
289 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
290 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
291 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
292 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
293 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
294 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
295 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
296 Remove "XFAIL"s.
297
6278b549
TS
298 * target.c (gomp_unmap_tgt): Make it 'static'.
299 * libgomp.h (gomp_unmap_tgt): Remove.
300
c80c9e26
TB
3012019-12-18 Tobias Burnus <tobias@codesourcery.com>
302
303 PR middle-end/86416
304 * testsuite/libgomp.c/pr86416-1.c: New.
305 * testsuite/libgomp.c/pr86416-2.c: New.
306
0b8499a4
TB
3072019-12-17 Tobias Burnus <tobias@codesourcery.com>
308
309 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
310 all symbols as public except for the 'use …, only' imported symbol,
311 which is private.
312 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
313 all symbols from module openacc_kinds as PUBLIC
314 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
315 fix comment typo.
316 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
317
1cbd94e8
JB
3182019-12-13 Julian Brown <julian@codesourcery.com>
319
320 PR libgomp/92881
321
322 * libgomp.h (gomp_remove_var_async): Add prototype.
323 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
324 gomp_remove_var.
325 * target.c (gomp_unref_tgt): Change return type to bool, indicating
326 whether target_mem_desc was unmapped.
327 (gomp_unref_tgt_void): New.
328 (gomp_remove_var): Reimplement in terms of...
329 (gomp_remove_var_internal): ...this new helper function.
330 (gomp_remove_var_async): New, implemented using above helper function.
331 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
332 gomp_unref_tgt.
333
26b74ed0
AS
3342019-12-13 Andrew Stubbs <ams@codesourcery.com>
335
336 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
337 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
338 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
339 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
340 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
341 Likewise.
342 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
343 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
344
7858bb96
TB
3452019-12-13 Tobias Burnus <tobias@codesourcery.com>
346
347 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
348 as public except for the 'use …, only' imported symbol, which is
349 private.
350 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
351 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
352 attributes for acc_copyout_finalize and acc_delete_finalize.
353
f8ac7d8f
JJ
3542019-12-11 Jakub Jelinek <jakub@redhat.com>
355
356 PR fortran/92899
357 * testsuite/libgomp.fortran/atomic1.f90: New test.
358
3d1b5e71
TS
3592019-12-11 Thomas Schwinge <thomas@codesourcery.com>
360
d6e8c01c
TS
361 PR libgomp/92843
362 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
363 reference counting for structured 'REFCOUNT_INFINITY'. Add some
364 assertions.
365 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
366 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
367 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
368 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
369 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
370
57963e39
TS
371 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
372 * oacc-mem.c: ... here.
373 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
374 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
375 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
376 Remove.
377 * libgomp_g.h: Update.
378
c5578b56
TS
379 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
380 * oacc-async.c: ... here.
381 * oacc-int.h (goacc_wait): Declare.
382 * libgomp_g.h: Update
383
3d1b5e71
TS
384 PR libgomp/92854
385 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
386 New file.
387 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
388 Likewise.
389 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
390 Likewise.
391 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
392 Likewise.
393 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
394 Likewise.
395 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
396 Likewise.
397
5e939438
TS
3982019-12-11 Thomas Schwinge <thomas@codesourcery.com>
399 Julian Brown <julian@codesourcery.com>
400
401 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
402 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
403
93d90219
TB
4042019-12-11 Tobias Burnus <tobias@codesourcery.com>
405
406 * omp_lib.h.in: Fix spelling of function declaration
407 omp_get_cancell(l)ation.
408 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
409 Fix typos.
410 * env.c: Fix comment typos.
411 * oacc-host.c: Likewise.
412 * ordered.c: Likewise.
413 * task.c: Likewise.
414 * team.c: Likewise.
415 * config/gcn/task.c: Likewise.
416 * config/gcn/team.c: Likewise.
417 * config/nvptx/task.c: Likewise.
418 * config/nvptx/team.c: Likewise.
419 * plugin/plugin-gcn.c: Likewise.
420 * testsuite/libgomp.fortran/jacobi.f: Likewise.
421 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
422 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
423
a0221aee
TB
4242019-12-11 Tobias Burnus <tobias@codesourcery.com>
425
426 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
427 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
428 unnecessary 'dg-additional-options "-w"'.
429
47afc7b4
TS
4302019-12-09 Thomas Schwinge <thomas@codesourcery.com>
431 Julian Brown <julian@codesourcery.com>
432
433 PR libgomp/92116
434 PR libgomp/92877
435
436 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
437 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
438 Adjust all users.
439 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
440 Remove XFAIL.
441 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
442 Likewise.
443 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
444
b5859e40
TS
4452019-12-09 Thomas Schwinge <thomas@codesourcery.com>
446
cec41816
TS
447 PR libgomp/92503
448 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
449 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
450 file.
451 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
452 Likewise.
453 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
454 Likewise.
455 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
456 Likewise.
457 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
458 Likewise.
459 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
460 Likewise.
461 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
462 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
463 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
464 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
465 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
466 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
467 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
468 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
469 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
470 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
471
e103542b
TS
472 PR libgomp/92840
473 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
474 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
475 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
476 New file.
477 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
478 Likewise.
479 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
480 Likewise.
481 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
482 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
483
41f36f22
TS
484 PR libgomp/92511
485 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
486 this file...
487 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
488 this file...
489 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
490 file...
491 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
492 file...
493 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
494 ... with their content moved into, and extended in this new file.
495 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
496 New file.
497 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
498 Likewise.
499 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
500 Likewise.
501 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
502 Likewise.
503
6effebe1
TS
504 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
505
7d020473
TS
506 PR libgomp/92854
507 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
508
1e1fb715
TS
509 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
510
b5859e40
TS
511 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
512
11586ed9
TB
5132019-12-09 Tobias Burnus <tobias@codesourcery.com>
514
515 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
516 unique.
517 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
518 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
519 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
520 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
521 Ditto.
522 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
523 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
524
3ad4a03a
KCY
5252019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
526
527 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
528
6e4d01d6
TB
5292019-12-06 Tobias Burnus <tobias@codesourcery.com>
530 Kwok Cheung Yeung <kcy@codesourcery.com>
531
532 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
533 if input it a NULL pointer.
534 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
535 diagnostic of NULL pointer.
536 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
537 * testsuite/libgomp.fortran/optional-map.f90: New.
538 * testsuite/libgomp.fortran/use_device_addr-1.f90
539 (test_dummy_opt_callee_1_absent): New.
540 (test_dummy_opt_call_1): Call it.
541 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
542 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
543 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
544 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
545 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
546 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
547 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
548 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
549 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
550 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
551 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
552 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
553 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
554 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
555 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
556 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
557
ad80ec46
TB
5582019-12-05 Tobias Burnus <tobias@codesourcery.com>
559
560 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
561 expect dg-output of 'Error termination.' for GCN.
562 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
563 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
564
a8a5f4cc
JJ
5652019-12-04 Jakub Jelinek <jakub@redhat.com>
566
567 PR fortran/92756
568 * testsuite/libgomp.fortran/teams1.f90: New test.
569 * testsuite/libgomp.fortran/teams2.f90: New test.
570
d8f0024b
FH
5712019-12-03 Frederik Harwath <frederik@codesourcery.com>
572
573 * oacc-init.c (acc_known_device_type): Add function.
574 (unknown_device_type_error): Add function.
575 (name_of_acc_device_t): Change to call unknown_device_type_error
576 on unknown type.
577 (resolve_device): Use acc_known_device_type.
578 (acc_init): Fail if acc_device_t argument is not valid.
579 (acc_shutdown): Likewise.
580 (acc_get_num_devices): Likewise.
581 (acc_set_device_type): Likewise.
582 (acc_get_device_num): Likewise.
583 (acc_set_device_num): Likewise.
584 (acc_on_device): Add comment that argument validity is not checked.
585
83caa34e
AS
5862019-12-03 Andrew Stubbs <ams@codesourcery.com>
587
588 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
589 Recognize amdgcn.
590 (check_effective_target_openacc_amdgcn_accel_present): New proc.
591 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
592 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
593 * testsuite/libgomp.oacc-c/c.exp: Likewise.
594 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
595
00484365
SN
5962019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
597
598 PR libgomp/91938
599 * configure.tgt: Avoid IE tls on *-*-musl*.
600
9909a059
TB
6012019-11-29 Tobias Burnus <tobias@codesourcery.com>
602
603 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
604 adding a common-block test case.
605
b3f44388
JJ
6062019-11-29 Jakub Jelinek <jakub@redhat.com>
607
608 PR c++/60228
609 * testsuite/libgomp.c++/udr-20.C: New test.
610 * testsuite/libgomp.c++/udr-21.C: New test.
611
b1a73b48
TS
6122019-11-27 Thomas Schwinge <thomas@codesourcery.com>
613
614 * testsuite/lib/libgomp.exp
615 (check_effective_target_offload_target_nvptx): New proc.
616 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
617 'dg-skip-if'.
618 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
619 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
620 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
621
b8e72446
RO
6222019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
623
624 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
625 * testsuite/libgomp.c/pr39591-2.c: Likewise.
626 * testsuite/libgomp.c/pr39591-3.c: Likewise.
627 * testsuite/libgomp.c/private-1.c: Likewise.
628 * testsuite/libgomp.c/task-1.c: Likewise.
629 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
630
d88b27da
JB
6312019-11-20 Julian Brown <julian@codesourcery.com>
632
633 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
634 aq->mutex here.
635 (queue_push_launch): Lock aq->mutex before calling
636 wait_for_queue_nonfull.
637 (queue_push_callback): Likewise.
638 (queue_push_asyncwait): Likewise.
639 (queue_push_placeholder): Likewise.
640
8d2f4ddf
JB
6412019-11-20 Julian Brown <julian@codesourcery.com>
642
643 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
644 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
645 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
646 return code.
647
e307b05f
JB
6482019-11-20 Julian Brown <julian@codesourcery.com>
649
650 PR libgomp/92511
651
652 * oacc-mem.c (present_create_copy): Fix device pointer return value in
653 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
654 in non-present/create case.
655 (delete_copyout): Change error condition to fail only on copies outside
656 of mapped block. Adjust error message accordingly.
657 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
658 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
659 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
660 message.
661 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
662 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
663 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
664
83115e9e
MR
6652019-11-20 Maciej W. Rozycki <macro@wdc.com>
666
667 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
668 libatomic in build-tree testing.
669
a1289887
MR
6702019-11-18 Maciej W. Rozycki <macro@wdc.com>
671
672 * testsuite/Makefile.in: Regenerate.
673
8916ba87
AS
6742019-11-15 Andrew Stubbs <ams@codesourcery.com>
675
676 * testsuite/libgomp.c/target-print-1.c: New file.
677 * testsuite/libgomp.fortran/target-print-1.f90: New file.
678 * testsuite/libgomp.oacc-c/print-1.c: New file.
679 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
680
237957cc
AS
6812019-11-13 Andrew Stubbs <ams@codesourcery.com>
682 Kwok Cheung Yeung <kcy@codesourcery.com>
683 Julian Brown <julian@codesourcery.com>
684 Tom de Vries <tom@codesourcery.com>
685
686 * plugin/Makefrag.am: Add amdgcn plugin support.
687 * plugin/configfrag.ac: Likewise.
688 * plugin/plugin-gcn.c: New file.
689 * configure: Regenerate.
690 * Makefile.in: Regenerate.
691 * testsuite/Makefile.in: Regenerate.
692
cee16451
AS
6932019-11-13 Andrew Stubbs <ams@codesourcery.com>
694
695 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
696 and use team_malloc variants.
697 (gomp_gcn_exit_kernel): Use team_free.
698 * libgomp.h (TEAM_ARENA_SIZE): Define.
699 (TEAM_ARENA_START): Define.
700 (TEAM_ARENA_FREE): Define.
701 (TEAM_ARENA_END): Define.
702 (team_malloc): New function.
703 (team_malloc_cleared): New function.
704 (team_free): New function.
705 * team.c (gomp_new_team): Initialize and use team_malloc.
706 (free_team): Use team_free.
707 (gomp_free_thread): Use team_free.
708 (gomp_pause_host): Use team_free.
709 * work.c (gomp_init_work_share): Use team_malloc.
710 (gomp_fini_work_share): Use team_free.
711
fa499995
AS
7122019-11-13 Andrew Stubbs <ams@codesourcery.com>
713 Kwok Cheung Yeung <kcy@codesourcery.com>
714 Julian Brown <julian@codesourcery.com>
715 Tom de Vries <tom@codesourcery.com>
716
717 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
718 * Makefile.in: Regenerate.
719 * config.h.in (PLUGIN_GCN): Add new undef.
720 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
721 * config/gcn/affinity-fmt.c: New file.
722 * config/gcn/bar.c: New file.
723 * config/gcn/bar.h: New file.
724 * config/gcn/doacross.h: New file.
725 * config/gcn/icv-device.c: New file.
726 * config/gcn/oacc-target.c: New file.
727 * config/gcn/simple-bar.h: New file.
728 * config/gcn/target.c: New file.
729 * config/gcn/task.c: New file.
730 * config/gcn/team.c: New file.
731 * config/gcn/time.c: New file.
732 * configure.ac: Add amdgcn*-*-*.
733 * configure: Regenerate.
734 * configure.tgt: Add amdgcn*-*-*.
735 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
736 * libgomp.h (gcn_thrs): Add amdgcn variant.
737 (set_gcn_thrs): Likewise.
738 (gomp_thread): Likewise.
739 * oacc-int.h (goacc_thread): Likewise.
740 * oacc-target.c: New file.
741 * openacc.f90 (acc_device_gcn): New parameter.
742 * openacc.h (acc_device_t): Add acc_device_gcn.
743 * team.c (gomp_free_pool_helper): Add amdgcn support.
744
d2903ce0
AS
7452019-11-13 Andrew Stubbs <ams@codesourcery.com>
746 Julian Brown <julian@codesourcery.com>
747
748 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
749 parameter.
750 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
751 queue constructor.
752 * oacc-host.c (host_openacc_async_construct): Add device parameter.
753 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
754 device parameter.
755
b3d14b3a
AS
7562019-11-13 Andrew Stubbs <ams@codesourcery.com>
757
758 * configure.tgt (nvptx*-*-*): Add "accel" directory.
759 * config/nvptx/libgomp-plugin.c: Move ...
760 * config/accel/libgomp-plugin.c: ... to here.
761 * config/nvptx/lock.c: Move ...
762 * config/accel/lock.c: ... to here.
763 * config/nvptx/mutex.c: Move ...
764 * config/accel/mutex.c: ... to here.
765 * config/nvptx/mutex.h: Move ...
766 * config/accel/mutex.h: ... to here.
767 * config/nvptx/oacc-async.c: Move ...
768 * config/accel/oacc-async.c: ... to here.
769 * config/nvptx/oacc-cuda.c: Move ...
770 * config/accel/oacc-cuda.c: ... to here.
771 * config/nvptx/oacc-host.c: Move ...
772 * config/accel/oacc-host.c: ... to here.
773 * config/nvptx/oacc-init.c: Move ...
774 * config/accel/oacc-init.c: ... to here.
775 * config/nvptx/oacc-mem.c: Move ...
776 * config/accel/oacc-mem.c: ... to here.
777 * config/nvptx/oacc-plugin.c: Move ...
778 * config/accel/oacc-plugin.c: ... to here.
779 * config/nvptx/omp-lock.h: Move ...
780 * config/accel/omp-lock.h: ... to here.
781 * config/nvptx/openacc.f90: Move ...
782 * config/accel/openacc.f90: ... to here.
783 * config/nvptx/pool.h: Move ...
784 * config/accel/pool.h: ... to here.
785 * config/nvptx/proc.c: Move ...
786 * config/accel/proc.c: ... to here.
787 * config/nvptx/ptrlock.c: Move ...
788 * config/accel/ptrlock.c: ... to here.
789 * config/nvptx/ptrlock.h: Move ...
790 * config/accel/ptrlock.h: ... to here.
791 * config/nvptx/sem.c: Move ...
792 * config/accel/sem.c: ... to here.
793 * config/nvptx/sem.h: Move ...
794 * config/accel/sem.h: ... to here.
795 * config/nvptx/thread-stacksize.h: Move ...
796 * config/accel/thread-stacksize.h: ... to here.
797
62aee289
MR
7982019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
799 Tobias Burnus <tobias@codesourcery.com>
800 Frederik Harwath <frederik@codesourcery.com>
801 Thomas Schwinge <thomas@codesourcery.com>
802
803 libgomp/
804 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
805 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
806 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
807
a2c26c50
TB
8082019-11-11 Tobias Burnus <tobias@codesourcery.com>
809 Kwok Cheung Yeung <kcy@codesourcery.com>
810
811 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
812 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
813
6d4868f3
TS
8142019-11-11 Thomas Schwinge <thomas@codesourcery.com>
815
bfa1837b
TS
816 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
817
6d4868f3
TS
818 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
819 run'.
820 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
821 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
822
5d183d17
FH
8232019-11-06 Thomas Schwinge <thomas@codesourcery.com>
824
825 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
826 Add expected warnings about missing reduction clauses.
827 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
828 Likewise.
829 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
830 Likewise.
831 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
832 Likewise.
833
d8f03b03
TB
8342019-11-04 Tobias Burnus <tobias@codesourcery.com>
835
836 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
837 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
838 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
839 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
840 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
841 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
842
12fd2ec5
TB
8432019-11-04 Tobias Burnus <tobias@codesourcery.com>
844
845 PR fortran/92305
846 * testsuite/libgomp.fortran/allocatable2.f90: Use
847 unique numbers with 'stop'.
848 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
849 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
850 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
851 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
852 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
853
92e63bd2
TB
8542019-11-01 Tobias Burnus <tobias@codesourcery.com>
855
856 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
857 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
858 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
859 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
860 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
861 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
862
91ae0a46
TB
8632019-10-30 Tobias Burnus <tobias@codesourcery.com>
864
865 * testsuite/libgomp.fortran/target9.f90: New.
866
c425e66b
TB
8672019-10-30 Tobias Burnus <tobias@codesourcery.com>
868
869 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
870 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
871 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
872 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
873 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
874 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
875 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
876 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
877 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
878 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
879 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
880 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
881 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
882 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
883 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
884 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
885 * testsuite/libgomp.fortran/associate1.f90: Ditto.
886 * testsuite/libgomp.fortran/associate2.f90: Ditto.
887 * testsuite/libgomp.fortran/associate3.f90: Ditto.
888 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
889 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
890 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
891 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
892 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
893 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
894 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
895 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
896 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
897 * testsuite/libgomp.fortran/character1.f90: Ditto.
898 * testsuite/libgomp.fortran/character2.f90: Ditto.
899 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
900 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
901 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
902 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
903 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
904 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
905 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
906 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
907 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
908 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
909 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
910 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
911 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
912 * testsuite/libgomp.fortran/do1.f90: Ditto.
913 * testsuite/libgomp.fortran/do2.f90: Ditto.
914 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
915 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
916 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
917 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
918 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
919 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
920 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
921 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
922 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
923 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
924 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
925 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
926 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
927 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
928 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
929 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
930 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
931 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
932 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
933 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
934 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
935 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
936 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
937 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
938 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
939 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
940 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
941 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
942 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
943 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
944 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
945 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
946 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
947 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
948 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
949 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
950 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
951 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
952 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
953 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
954 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
955 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
956 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
957 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
958 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
959 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
960 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
961 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
962 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
963 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
964 * testsuite/libgomp.fortran/lib1.f90: Ditto.
965 * testsuite/libgomp.fortran/lib4.f90: Ditto.
966 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
967 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
968 * testsuite/libgomp.fortran/nested1.f90: Ditto.
969 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
970 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
971 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
972 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
973 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
974 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
975 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
976 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
977 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
978 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
979 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
980 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
981 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
982 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
983 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
984 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
985 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
986 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
987 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
988 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
989 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
990 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
991 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
992 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
993 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
994 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
995 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
996 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
997 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
998 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
999 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1000 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1001 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1002 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1003 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1004 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1005 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1006 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1007 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1008 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1009 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1010 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1011 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1012 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1013 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1014 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1015 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1016 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1017 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1018 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1019 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1020 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1021 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1022 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1023 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1024 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1025 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1026 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1027 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1028 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1029 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1030 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1031 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1032 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1033 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1034 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1035 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1036 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1037 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1038 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1039 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1040 * testsuite/libgomp.fortran/stack.f90: Ditto.
1041 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1042 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1043 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1044 * testsuite/libgomp.fortran/target1.f90: Ditto.
1045 * testsuite/libgomp.fortran/target2.f90: Ditto.
1046 * testsuite/libgomp.fortran/target3.f90: Ditto.
1047 * testsuite/libgomp.fortran/target4.f90: Ditto.
1048 * testsuite/libgomp.fortran/target5.f90: Ditto.
1049 * testsuite/libgomp.fortran/target6.f90: Ditto.
1050 * testsuite/libgomp.fortran/target7.f90: Ditto.
1051 * testsuite/libgomp.fortran/target8.f90: Ditto.
1052 * testsuite/libgomp.fortran/task1.f90: Ditto.
1053 * testsuite/libgomp.fortran/task2.f90: Ditto.
1054 * testsuite/libgomp.fortran/task3.f90: Ditto.
1055 * testsuite/libgomp.fortran/task4.f90: Ditto.
1056 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1057 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1058 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1059 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1060 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1061 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1062 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1063 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1064 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1065 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1066 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1067 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1068 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1069 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1070 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1071 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1072 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1073 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1074 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1075 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1076 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1077 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1078 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1079 * testsuite/libgomp.fortran/udr9.f90: Ditto.
1080 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1081 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1082 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1083 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1084 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1085 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1086 * testsuite/libgomp.fortran/vla7.f90: Ditto.
1087 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1088 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1089 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1090
01509e2f
TB
10912019-10-30 Tobias Burnus <tobias@codesourcery.com>
1092
1093 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1094 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1095 Ditto; add 'dg-do run' for torture testing.
1096 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
1097 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1098 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1099 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1100 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1101 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1102 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
1103 * testsuite/libgomp.fortran/task2.f90: Ditto.
1104 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1105 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1106 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1107 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1108 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
1109 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
1110
ffbdd78a
TB
11112019-10-28 Tobias Burnus <tobias@codesourcery.com>
1112
1113 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1114 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1115 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1116 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1117 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1118 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1119 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
1120 Use 'stop' not abort().
1121 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1122 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1123 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1124 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1125 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1126 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1127 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1128 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1129 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1130 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1131 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1132 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1133 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1134 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1135 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1136 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1137 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1138 Ditto.
1139 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1140 Ditto.
1141 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1142 Ditto.
1143 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1144 Ditto.
1145 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1146 Ditto.
1147 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1148 Ditto.
1149 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1150 Ditto.
1151 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1152 Ditto.
1153 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1154 Ditto.
1155 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1156 Ditto.
1157 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1158 Ditto.
1159 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1160 Ditto.
1161 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1162 Ditto.
1163 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1164 Ditto.
1165 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1166 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1167 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1168 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1169 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1170 Likewise and also add 'dg-do run'.
1171 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1172 Ditto.
1173
ec084613
CP
11742019-10-25 Cesar Philippidis <cesar@codesourcery.com>
1175 Tobias Burnus <tobias@codesourcery.com>
1176
1177 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1178 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1179 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1180
77ef3394
JJ
11812019-10-14 Jakub Jelinek <jakub@redhat.com>
1182
1183 PR libgomp/92081
1184 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1185 than 0.
1186
08c14aaa
TB
11872019-10-11 Tobias Burnus <tobias@codesourcery.com>
1188
1189 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1190 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1191
6bbead0c
TS
11922019-10-09 Thomas Schwinge <thomas@codesourcery.com>
1193
1194 PR middle-end/92036
1195 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1196 file.
1197
eba3dee8
TB
11982019-10-09 Tobias Burnus <tobias@codesourcery.com>
1199
1200 PR testsuite/91884
1201 * testsuite/libgomp.fortran/fortran.exp: Conditionally
1202 add -lquadmath.
1203 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1204
7d48e14f
JJ
12052019-10-09 Jakub Jelinek <jakub@redhat.com>
1206
1207 PR libgomp/92028
1208 * target.c (gomp_map_vars_internal): Readd the previous
1209 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1210 though do that just in the !not_found_cnt case.
1211
65b67cf3
TB
12122019-10-08 Tobias Burnus <tobias@codesourcery.com>
1213
1214 * gfortran.dg/gomp/target-simd.f90: New.
1215
6c7e076b
JB
12162019-10-02 Julian Brown <julian@codesourcery.com>
1217 Cesar Philippidis <cesar@codesourcery.com>
1218
1219 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1220 * target.c (FIELD_TGT_EMPTY): Define.
1221 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1222 as switch instead of list of ifs.
1223 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1224
d61bff85
AT
12252019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1226
1227 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1228 include. Replace alloca () with __builtin_alloca ().
1229 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1230
810f316d
JJ
12312019-10-01 Jakub Jelinek <jakub@redhat.com>
1232
1233 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1234 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1235 * oacc-parallel.c: Don't include "libgomp_g.h".
1236 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1237 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1238 * aclocal.m4: Regenerated.
1239 * config.h.in: Regenerated.
1240 * configure: Regenerated.
1241 * Makefile.in: Regenerated.
1242
d7f9ee98
KCY
12432019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1244
1245 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1246
e9085da5
MR
12472019-09-27 Maciej W. Rozycki <macro@wdc.com>
1248
1249 * configure: Regenerate.
1250
c28712be
TB
12512019-09-13 Tobias Burnus <tobias@codesourcery.com>
1252
1253 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1254 string is initialized.
1255
3c086f8d
FW
12562019-09-06 Florian Weimer <fweimer@redhat.com>
1257
1258 * configure: Regenerate.
1259
c6c2d1bc
CLT
12602019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1261
1262 PR other/79543
1263 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1264 scanning to conform to the GNU Coding Standards.
1265 * configure: Regenerate.
1266
5cb72d83
JJ
12672019-08-28 Jakub Jelinek <jakub@redhat.com>
1268
1269 PR libgomp/91530
1270 * testsuite/libgomp.c/scan-21.c: New test.
1271 * testsuite/libgomp.c/scan-22.c: New test.
1272
0ad7981c
JJ
12732019-08-27 Jakub Jelinek <jakub@redhat.com>
1274
1275 PR libgomp/91530
1276 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1277 targets.
1278 * testsuite/libgomp.c/scan-12.c: Likewise.
1279 * testsuite/libgomp.c/scan-13.c: Likewise.
1280 * testsuite/libgomp.c/scan-14.c: Likewise.
1281 * testsuite/libgomp.c/scan-15.c: Likewise.
1282 * testsuite/libgomp.c/scan-16.c: Likewise.
1283 * testsuite/libgomp.c/scan-17.c: Likewise.
1284 * testsuite/libgomp.c/scan-18.c: Likewise.
1285 * testsuite/libgomp.c/scan-19.c: Likewise.
1286 * testsuite/libgomp.c/scan-20.c: Likewise.
1287 * testsuite/libgomp.c++/scan-9.C: Likewise.
1288 * testsuite/libgomp.c++/scan-10.C: Likewise.
1289 * testsuite/libgomp.c++/scan-11.C: Likewise.
1290 * testsuite/libgomp.c++/scan-12.C: Likewise.
1291 * testsuite/libgomp.c++/scan-14.C: Likewise.
1292 * testsuite/libgomp.c++/scan-15.C: Likewise.
1293 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1294 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1295 * testsuite/libgomp.c++/scan-16.C: Likewise.
1296
1e67491a
TK
12972019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1298
1299 PR fortran/91473
1300 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1301 -std=legacy so invalid code in the test case is accepted.
1302
393fdeb1
TK
13032019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1304
1305 PR fortran/91422
1306 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1307 dimension.
1308
8860d270
JJ
13092019-08-08 Jakub Jelinek <jakub@redhat.com>
1310
1311 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1312 perform the lookup in the first loop only if !not_found_cnt, otherwise
1313 perform lookups for it in the second loop guarded with
1314 if (not_found_cnt || has_firstprivate).
1315 * testsuite/libgomp.c/target-37.c: New test.
1316 * testsuite/libgomp.c++/target-22.C: New test.
1317
398e3feb
JJ
13182019-08-07 Jakub Jelinek <jakub@redhat.com>
1319
1320 * testsuite/libgomp.c/target-18.c (struct S): New type.
1321 (foo): Use use_device_addr clause instead of use_device_ptr clause
1322 where required by OpenMP 5.0, add further tests for both use_device_ptr
1323 and use_device_addr clauses.
1324 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1325 (foo): Use use_device_addr clause instead of use_device_ptr clause
1326 where required by OpenMP 5.0, add further tests for both use_device_ptr
1327 and use_device_addr clauses. Add t and u arguments.
1328 (main): Adjust caller.
1329
d81ab49d
JJ
13302019-08-06 Jakub Jelinek <jakub@redhat.com>
1331
1332 * testsuite/libgomp.c++/loop-13.C: New test.
1333 * testsuite/libgomp.c++/loop-14.C: New test.
1334 * testsuite/libgomp.c++/loop-15.C: New test.
1335
c3ac76aa
JJ
13362019-07-31 Jakub Jelinek <jakub@redhat.com>
1337
1338 PR middle-end/91301
1339 * testsuite/libgomp.c++/for-27.C: New test.
1340
8dc63166
SK
13412019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1342
393fdeb1 1343 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 1344 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 1345
554a530f
JJ
13462019-07-20 Jakub Jelinek <jakub@redhat.com>
1347
1348 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1349
6cda84b5
JJ
13502019-07-08 Jakub Jelinek <jakub@redhat.com>
1351
1352 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1353 * testsuite/libgomp.c++/scan-16.C: Likewise.
1354
1f52d1a8
JJ
13552019-07-06 Jakub Jelinek <jakub@redhat.com>
1356
6f67abcd
JJ
1357 * testsuite/libgomp.c/scan-19.c: New test.
1358 * testsuite/libgomp.c/scan-20.c: New test.
1359
1f52d1a8
JJ
1360 * testsuite/libgomp.c/scan-11.c: New test.
1361 * testsuite/libgomp.c/scan-12.c: New test.
1362 * testsuite/libgomp.c/scan-13.c: New test.
1363 * testsuite/libgomp.c/scan-14.c: New test.
1364 * testsuite/libgomp.c/scan-15.c: New test.
1365 * testsuite/libgomp.c/scan-16.c: New test.
1366 * testsuite/libgomp.c/scan-17.c: New test.
1367 * testsuite/libgomp.c/scan-18.c: New test.
1368 * testsuite/libgomp.c++/scan-9.C: New test.
1369 * testsuite/libgomp.c++/scan-10.C: New test.
1370 * testsuite/libgomp.c++/scan-11.C: New test.
1371 * testsuite/libgomp.c++/scan-12.C: New test.
1372 * testsuite/libgomp.c++/scan-13.C: New test.
1373 * testsuite/libgomp.c++/scan-14.C: New test.
1374 * testsuite/libgomp.c++/scan-15.C: New test.
1375 * testsuite/libgomp.c++/scan-16.C: New test.
1376
2f03073f
JJ
13772019-07-04 Jakub Jelinek <jakub@redhat.com>
1378
1379 * testsuite/libgomp.c/scan-9.c: New test.
1380 * testsuite/libgomp.c/scan-10.c: New test.
1381
2f6bb511
JJ
13822019-07-03 Jakub Jelinek <jakub@redhat.com>
1383
1384 * testsuite/libgomp.c++/scan-1.C: New test.
1385 * testsuite/libgomp.c++/scan-2.C: New test.
1386 * testsuite/libgomp.c++/scan-3.C: New test.
1387 * testsuite/libgomp.c++/scan-4.C: New test.
1388 * testsuite/libgomp.c++/scan-5.C: New test.
1389 * testsuite/libgomp.c++/scan-6.C: New test.
1390 * testsuite/libgomp.c++/scan-7.C: New test.
1391 * testsuite/libgomp.c++/scan-8.C: New test.
1392 * testsuite/libgomp.c/scan-1.c: New test.
1393 * testsuite/libgomp.c/scan-2.c: New test.
1394 * testsuite/libgomp.c/scan-3.c: New test.
1395 * testsuite/libgomp.c/scan-4.c: New test.
1396 * testsuite/libgomp.c/scan-5.c: New test.
1397 * testsuite/libgomp.c/scan-6.c: New test.
1398 * testsuite/libgomp.c/scan-7.c: New test.
1399 * testsuite/libgomp.c/scan-8.c: New test.
1400
bd194a51
TS
14012019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1402
85fca03a
TS
1403 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1404 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1405 Likewise.
1406
bd194a51
TS
1407 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1408 check.
1409
6652161e
CP
14102019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1411
1412 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1413 file.
1414
3a37d6f6
TS
14152019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1416
4017da8d
TS
1417 PR fortran/90743
1418 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1419 case.
1420 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1421 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1422 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1423 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1424
6f7c1f65
TS
1425 PR testsuite/90861
1426 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1427
3a37d6f6
TS
1428 PR middle-end/90862
1429 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1430
f45ce17d
TV
14312019-06-16 Tom de Vries <tdevries@suse.de>
1432
1433 PR tree-optimization/89376
1434 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1435
00908992
TV
14362019-06-15 Tom de Vries <tdevries@suse.de>
1437
1438 PR tree-optimization/89713
1439 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1440 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1441
211b7533
JJ
14422019-06-15 Jakub Jelinek <jakub@redhat.com>
1443
1444 PR middle-end/90779
1445 * testsuite/libgomp.c/pr90779.c: New test.
1446 * testsuite/libgomp.fortran/pr90779.f90: New test.
1447
120a01d1
TV
14482019-06-15 Tom de Vries <tdevries@suse.de>
1449
1450 PR tree-optimization/90009
1451 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1452
c29c92c7
FX
14532019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1454
1455 PR tree-optimization/89713
1456 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1457
ce9c4ec3
JJ
14582019-06-11 Jakub Jelinek <jakub@redhat.com>
1459
1460 PR target/90811
1461 * testsuite/libgomp.c/pr90811.c: New test.
1462
28b3a77c
JJ
14632019-06-05 Jakub Jelinek <jakub@redhat.com>
1464
1465 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1466 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1467
7855700e
JJ
14682019-06-04 Jakub Jelinek <jakub@redhat.com>
1469
1470 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1471 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1472 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1473 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1474
a7155c2e
RO
14752019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1476
1477 * configure.ac: Call AX_COUNT_CPUS.
1478 Substitute CPU_COUNT.
1479 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1480 count fallback.
1481 * aclocal.m4: Regenerate.
1482 * configure: Regenerate.
1483 * Makefile.in, testsuite/Makefile.in: Regenerate.
1484
7e47198b
JJ
14852019-05-29 Jakub Jelinek <jakub@redhat.com>
1486
1487 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1488 to ...
1489 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1490 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1491 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1492
fcfb8032
JJ
14932019-05-27 Jakub Jelinek <jakub@redhat.com>
1494
8e7757ba
JJ
1495 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1496
36c7a3ff
JJ
1497 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1498
fcfb8032
JJ
1499 PR libgomp/90641
1500 * work.c (gomp_init_work_share): Instead of aligning final ordered
1501 value to multiples of long long alignment, align to that the
1502 first part (ordered team ids) and if inline_ordered_team_ids
1503 is not on a long long alignment boundary within the structure,
1504 use __alignof__ (long long) - 1 pad size always.
1505 * loop.c (GOMP_loop_start): Fix *mem computation if
1506 inline_ordered_team_ids is not aligned on long long alignment boundary
1507 within the structure.
1508 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1509 * sections.c (GOMP_sections2_start): Likewise.
1510
b5c26449
JJ
15112019-05-24 Jakub Jelinek <jakub@redhat.com>
1512
6c7ae8c5
JJ
1513 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1514 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1515
b5c26449
JJ
1516 PR libgomp/90585
1517 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1518 HAVE_INTTYPES_H is defined.
1519 (print_uint64_t): New typedef.
1520 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1521 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1522 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1523 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1524 before casting to void *.
1525 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1526 * oacc-mem.c: Don't include config.h nor stdint.h.
1527 * target.c: Don't include config.h.
1528 * oacc-cuda.c: Likewise.
1529 * oacc-host.c: Don't include stdint.h.
1530
3e03ed66
JJ
15312019-05-20 Jakub Jelinek <jakub@redhat.com>
1532
1533 PR libgomp/90527
1534 * alloc.c (_GNU_SOURCE): Define.
1535
5fae049d
TS
15362019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1537
1538 * acc_prof.h: New file.
1539 * oacc-profiling.c: Likewise.
1540 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1541 Add these, respectively.
1542 * Makefile.in: Regenerate.
1543 * env.c (initialize_env): Call goacc_profiling_initialize.
1544 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1545 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1546 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1547 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1548 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1549 acc_prof_register, acc_prof_unregister, and acc_register_library.
1550 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1551 GOMP_PLUGIN_goacc_thread.
1552 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1553 prof_callbacks_enabled members.
1554 (goacc_prof_enabled, goacc_profiling_initialize)
1555 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1556 (goacc_profiling_dispatch): Declare.
1557 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1558 (GOACC_PROFILING_SETUP_P): Define.
1559 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1560 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1561 OpenACC Profiling Interface.
1562 * oacc-cuda.c (acc_get_current_cuda_device)
1563 (acc_get_current_cuda_context, acc_get_cuda_stream)
1564 (acc_set_cuda_stream): Likewise.
1565 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1566 (acc_init, acc_set_device_type, acc_get_device_type)
1567 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1568 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1569 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1570 (acc_unmap_data, present_create_copy, delete_copyout)
1571 (update_dev_host): Likewise.
1572 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1573 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1574 Likewise.
1575 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1576 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1577 Likewise.
1578 * libgomp.texi: Update.
1579 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1580 file.
1581 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1582 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1583 Likewise.
1584 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1585 Likewise.
1586 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1587 Likewise.
1588 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1589 Likewise.
1590
1f4c5b9b
CLT
15912019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1592
1593 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1594 (struct goacc_asyncqueue_list): Likewise.
1595 (goacc_aq): Likewise.
1596 (goacc_aq_list): Likewise.
1597 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1598 (GOMP_OFFLOAD_openacc_async_test): Remove.
1599 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1600 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1601 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1602 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1603 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1604 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1605 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1606 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1607 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1608 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1609 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1610 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1611 (GOMP_OFFLOAD_openacc_async_test): Declare.
1612 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1613 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1614 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1615 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1616 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1617
1618 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1619 (gomp_acc_insert_pointer): Adjust declaration.
1620 (gomp_copy_host2dev): New declaration.
1621 (gomp_copy_dev2host): Likewise.
1622 (gomp_map_vars_async): Likewise.
1623 (gomp_unmap_tgt): Likewise.
1624 (gomp_unmap_vars_async): Likewise.
1625 (gomp_fini_device): Likewise.
1626
1627 * oacc-async.c (get_goacc_thread): New function.
1628 (get_goacc_thread_device): New function.
1629 (lookup_goacc_asyncqueue): New function.
1630 (get_goacc_asyncqueue): New function.
1631 (acc_async_test): Adjust code to use new async design.
1632 (acc_async_test_all): Likewise.
1633 (acc_wait): Likewise.
1634 (acc_wait_async): Likewise.
1635 (acc_wait_all): Likewise.
1636 (acc_wait_all_async): Likewise.
1637 (goacc_async_free): New function.
1638 (goacc_init_asyncqueues): Likewise.
1639 (goacc_fini_asyncqueues): Likewise.
1640 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1641 design.
1642 (acc_set_cuda_stream): Likewise.
1643 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1644 (host_openacc_register_async_cleanup): Remove.
1645 (host_openacc_async_exec): New function.
1646 (host_openacc_async_test): Adjust parameters.
1647 (host_openacc_async_test_all): Remove.
1648 (host_openacc_async_wait): Remove.
1649 (host_openacc_async_wait_async): Remove.
1650 (host_openacc_async_wait_all): Remove.
1651 (host_openacc_async_wait_all_async): Remove.
1652 (host_openacc_async_set_async): Remove.
1653 (host_openacc_async_synchronize): New function.
1654 (host_openacc_async_serialize): New function.
1655 (host_openacc_async_host2dev): New function.
1656 (host_openacc_async_dev2host): New function.
1657 (host_openacc_async_queue_callback): New function.
1658 (host_openacc_async_construct): New function.
1659 (host_openacc_async_destruct): New function.
1660 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 1661 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
1662 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1663 (goacc_attach_host_thread_to_device): Remove old async code usage.
1664 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1665 (goacc_fini_asyncqueues): Likewise.
1666 (goacc_async_copyout_unmap_vars): Likewise.
1667 (goacc_async_free): Likewise.
1668 (get_goacc_asyncqueue): Likewise.
1669 (lookup_goacc_asyncqueue): Likewise.
1670 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1671 design.
1672 (present_create_copy): Adjust code to use new async design.
1673 (delete_copyout): Likewise.
1674 (update_dev_host): Likewise.
1675 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1676 async design.
1677 (gomp_acc_remove_pointer): Adjust code to use new async design.
1678 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1679 design.
1680 (GOACC_enter_exit_data): Likewise.
1681 (goacc_wait): Likewise.
1682 (GOACC_update): Likewise.
1683 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1684 when called, warn as obsolete in comment.
1685 * target.c (goacc_device_copy_async): New function.
1686 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1687 add goacc_device_copy_async case.
1688 (gomp_copy_dev2host): Likewise.
1689 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1690 (gomp_map_pointer): Likewise.
1691 (gomp_map_fields_existing): Likewise.
1692 (gomp_map_vars_internal): New always_inline function, renamed from
1693 gomp_map_vars.
1694 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1695 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1696 passing goacc_asyncqueue argument.
1697 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1698 (gomp_unref_tgt): New function.
1699 (gomp_unmap_vars_internal): New always_inline function, renamed from
1700 gomp_unmap_vars.
1701 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1702 (gomp_unmap_vars_async): Implement by calling
1703 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1704 (gomp_fini_device): New function.
1705 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1706 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1707 new async interface.
1708 (gomp_target_fini): Adjust code to call gomp_fini_device.
1709
1710 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1711 (struct ptx_stream): Remove.
1712 (struct nvptx_thread): Remove current_stream field.
1713 (cuda_map_create): Remove.
1714 (cuda_map_destroy): Remove.
1715 (map_init): Remove.
1716 (map_fini): Remove.
1717 (map_pop): Remove.
1718 (map_push): Remove.
1719 (struct goacc_asyncqueue): Define.
1720 (struct nvptx_callback): Define.
1721 (struct ptx_free_block): Define.
1722 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1723 stream_lock, and next fields.
1724 (enum ptx_event_type): Remove.
1725 (struct ptx_event): Remove.
1726 (ptx_event_lock): Remove.
1727 (ptx_events): Remove.
1728 (init_streams_for_device): Remove.
1729 (fini_streams_for_device): Remove.
1730 (select_stream_for_async): Remove.
1731 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1732 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1733 case.
1734 (nvptx_open_device): Add free_blocks initialization, remove
1735 init_streams_for_device call.
1736 (nvptx_close_device): Remove fini_streams_for_device call, add
1737 free_blocks destruct code.
1738 (event_gc): Remove.
1739 (event_add): Remove.
1740 (nvptx_exec): Adjust parameters and code.
1741 (nvptx_free): Likewise.
1742 (nvptx_host2dev): Remove.
1743 (nvptx_dev2host): Remove.
1744 (nvptx_set_async): Remove.
1745 (nvptx_async_test): Remove.
1746 (nvptx_async_test_all): Remove.
1747 (nvptx_wait): Remove.
1748 (nvptx_wait_async): Remove.
1749 (nvptx_wait_all): Remove.
1750 (nvptx_wait_all_async): Remove.
1751 (nvptx_get_cuda_stream): Remove.
1752 (nvptx_set_cuda_stream): Remove.
1753 (GOMP_OFFLOAD_alloc): Adjust code.
1754 (GOMP_OFFLOAD_free): Likewise.
1755 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1756 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1757 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1758 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1759 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1760 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1761 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1762 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1763 (cuda_free_argmem): New function.
1764 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1765 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1766 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1767 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1768 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1769 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1770 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1771 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1772 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1773 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1774 (cuda_callback_wrapper): New function.
1775 (cuda_memcpy_sanity_check): New function.
1776 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1777 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1778 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1779 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1780
da2d30c1
TS
17812019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1782
1783 PR target/87835
1784 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1785
2bbbfa4e
TS
17862019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1787
1788 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1789
bbf1efe1
KB
17902019-03-27 Kevin Buettner <kevinb@redhat.com>
1791
1792 * team.c (gomp_team_start): Initialize pool->threads[0].
1793
1241136c
TS
17942019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1795
b03d721a
TS
1796 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1797 "-foffload=$offload_target".
1798 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1799 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1800 * testsuite/lib/libgomp.exp
1801 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1802 as (conceptually) merged into
1803 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1804 users.
1805
0a0384b4
TS
1806 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1807 * testsuite/libgomp-test-support.exp.in: Adjust.
1808 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1809 openacc_device_types_s.
1810 (offload_target_to_openacc_device_type): New proc.
1811 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1812 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1813 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1814 * Makefile.in: Regenerate.
1815 * configure: Likewise.
1816 * testsuite/Makefile.in: Likewise.
1817
ee332b4a
TS
1818 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1819 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1820 instead of OFFLOAD_TARGETS.
1821 * target.c (gomp_target_init): Adjust.
1822 * testsuite/libgomp-test-support.exp.in: Likewise.
1823 * testsuite/lib/libgomp.exp: Likewise. Populate
1824 openacc_device_types_s instead of offload_targets_s_openacc.
1825 (check_effective_target_openacc_nvidia_accel_selected)
1826 (check_effective_target_openacc_host_selected): Adjust.
1827 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1828 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1829 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1830 * Makefile.in: Regenerate.
1831 * config.h.in: Likewise.
1832 * configure: Likewise.
1833 * testsuite/Makefile.in: Likewise.
1834
1241136c
TS
1835 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1836 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1837 "offloading: supported, but hardware not accessible".
1838 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1839 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1840
19695f4d
CLT
18412019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1842
1843 PR c/87924
1844 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1845 goacc_wait().
1846 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1847 and related adjustment.
1848
8b44f8ec
JJ
18492019-01-30 Jakub Jelinek <jakub@redhat.com>
1850
1851 PR c++/88988
1852 * testsuite/libgomp.c++/pr88988.C: New test.
1853
be3a87e7
JJ
18542019-01-28 Jakub Jelinek <jakub@redhat.com>
1855
1856 PR middle-end/89002
1857 * testsuite/libgomp.c/pr89002.c: New test.
1858
497ef4d7
RB
18592019-01-28 Richard Biener <rguenther@suse.de>
1860
1861 PR testsuite/89064
1862 PR tree-optimization/86865
1863 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1864
738c56d4
TV
18652019-01-24 Tom de Vries <tdevries@suse.de>
1866
1867 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1868 once instantiated_devices drops to 0.
1869
4a75460b
TV
18702019-01-23 Tom de Vries <tdevries@suse.de>
1871
1872 PR target/PR88946
1873 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1874 cuMemFree.
1875 (nvptx_exec): Don't call map_push if mapnum == 0.
1876 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1877
4fef8e4d
TV
18782019-01-23 Tom de Vries <tdevries@suse.de>
1879
1880 PR target/88941
1881 PR target/88939
1882 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1883 (map_fini): Remove "assert (!s->map->active)".
1884 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1885
2ee6cb22
TV
18862019-01-23 Tom de Vries <tdevries@suse.de>
1887
1888 PR target/87835
1889 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1890 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1891
d41d952c
TV
18922019-01-15 Tom de Vries <tdevries@suse.de>
1893
1894 PR target/80547
1895 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1896 New test.
1897
efb56ae8
TV
18982019-01-12 Tom de Vries <tdevries@suse.de>
1899
1900 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1901 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1902 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1903 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1904
2c2ff168
TV
19052019-01-12 Tom de Vries <tdevries@suse.de>
1906
1907 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1908
a1057758
TV
19092019-01-12 Tom de Vries <tdevries@suse.de>
1910
1911 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1912 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1913 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1914
56314b77
TV
19152019-01-12 Tom de Vries <tdevries@suse.de>
1916
1917 PR target/85486
1918 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1919 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1920
b39e4366
TV
19212019-01-12 Tom de Vries <tdevries@suse.de>
1922
1923 PR target/85381
1924 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1925 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1926
2cb7a501
TV
19272019-01-12 Tom de Vries <tdevries@suse.de>
1928
1929 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1930 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1931 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1932
8e77f71e
TV
19332019-01-12 Tom de Vries <tdevries@suse.de>
1934
1935 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1936 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1937 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1938
52d22ece
TV
19392019-01-12 Tom de Vries <tdevries@suse.de>
1940
1941 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1942 resources diagnostic.
1943
2b9d9e39
TV
19442019-01-12 Tom de Vries <tdevries@suse.de>
1945
1946 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1947 vector length to be 128.
1948 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1949 length 2097152 to be reduced to 1024 instead of 32.
1950
4102bda6
TS
19512019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1952 James Norris <jnorris@codesourcery.com>
1953
1954 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1955 Library Routines", and "Environment Variables".
1956
052aaace
TV
19572019-01-11 Tom de Vries <tdevries@suse.de>
1958
1959 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1960 num_workers 16.
1961
9390f916
TV
19622019-01-11 Tom de Vries <tdevries@suse.de>
1963
1964 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1965 -foffload=-w.
1966 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1967 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1968 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1969 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1970
2c3e7ad2
TV
19712019-01-11 Tom de Vries <tdevries@suse.de>
1972
1973 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1974 test.
1975
e222497d
NS
19762019-01-10 Nathan Sidwell <nathan@acm.org>
1977 Julian Brown <julian@codesourcery.com>
1978
1979 PR lto/71959
1980 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1981 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1982
cb87fec3
SH
19832019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1984
1985 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1986 and paste code.
1987
30b4d0d0
SH
19882019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1989
1990 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1991 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1992 write.
1993
5d0bc70a
TV
19942019-01-09 Tom de Vries <tdevries@suse.de>
1995
1996 PR target/88756
1997 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1998 #define instead of "const int".
1999 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2000 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2001 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2002 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2003
2c372e81
TV
20042019-01-09 Tom de Vries <tdevries@suse.de>
2005
2006 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2007 one worker.
2008
43493c97
TV
20092019-01-07 Tom de Vries <tdevries@suse.de>
2010
2011 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2012 GOMP_OPENACC_DIM argument.
2013
5c571497
TV
20142019-01-03 Tom de Vries <tdevries@suse.de>
2015
2016 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2017 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2018
a5544970
JJ
20192019-01-01 Jakub Jelinek <jakub@redhat.com>
2020
2021 Update copyright years.
2022
3f27508c
JJ
20232019-01-01 Jakub Jelinek <jakub@redhat.com>
2024
2025 * libgomp.texi: Bump @copying's copyright year.
2026
59d5960c
TS
20272018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2028
2029 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2030 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2031 (GOACC_declare): Redefine the "device" argument to "flags".
2032
a44c1790
TS
20332018-12-28 Thomas Schwinge <thomas@codesourcery.com>
2034 Cesar Philippidis <cesar@codesourcery.com>
2035
2036 * target.c (struct gomp_coalesce_chunk): New structure.
2037 (struct gomp_coalesce_buf): Update the chunks member to use that
2038 type. Adjust all users.
2039
a152954e
TV
20402018-12-19 Tom de Vries <tdevries@suse.de>
2041
2042 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2043 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2044 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2045
49188cd1
TV
20462018-12-19 Tom de Vries <tdevries@suse.de>
2047
2048 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2049 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2050 gcc/testsuite/gcc.dg/goacc.
2051 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2052
c759830b
TS
20532018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2054 Chung-Lin Tang <cltang@codesourcery.com>
2055
2056 * oacc-mem.c (acc_present_or_create): Remove definition and change
2057 to alias of acc_create.
2058 (acc_present_or_copyin): Remove definition and change to alias of
2059 acc_copyin.
2060 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2061 of acc_present_or_create.
2062 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2063 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2064 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2065 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2066 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2067 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2068 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2069 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2070 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2071 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2072 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2073 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2074 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2075 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2076 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2077 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2078
7de562ee
TS
20792018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2080
f847198e
TS
2081 PR libgomp/88495
2082 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2083 "identical parameters".
2084 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2085 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2086
c8ab8aab
TS
2087 PR libgomp/88484
2088 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2089 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2090
1404af62
TS
2091 PR libgomp/88407
2092 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2093 (nvptx_wait_async): Unseen async-argument is a no-op.
2094 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2095 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2096 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2097 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2098 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2099 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2100 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
2101 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2102 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
2103
7de562ee
TS
2104 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2105 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2106
17469af7
CLT
21072018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
2108
2109 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2110 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2111 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2112
18c247cc
TS
21132018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2114
2115 PR libgomp/88370
2116 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2117 (acc_set_cuda_stream): Clarify.
2118 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2119 "async_valid_p".
2120 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2121 acc_async_sync".
2122 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2123 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2124 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2125 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2126
b0aba46c
TV
21272018-12-14 Tom de Vries <tdevries@suse.de>
2128
2129 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2130 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2131 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2132 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2133 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2134
fe0827ee
TV
21352018-12-13 Tom de Vries <tdevries@suse.de>
2136
2137 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
2138 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2139 * fortran.c (omp_display_affinity_): ... here.
2140 * libgomp.h (gomp_print_string): Declare.
2141 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
2142 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2143 write.
2144
a51f8c92
JJ
21452018-12-13 Jakub Jelinek <jakub@redhat.com>
2146
2147 PR libgomp/88460
2148 * testsuite/libgomp.c++/for-24.C (results): Include it in
2149 omp declare target region.
2150 (main): Use map (always, tofrom: results) instead of
2151 map (tofrom: results).
2152
a6ef2ac9
JJ
21532018-12-12 Jakub Jelinek <jakub@redhat.com>
2154
7a289b7d
JJ
2155 PR fortran/88463
2156 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
2157 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
2158
a6ef2ac9
JJ
2159 * testsuite/libgomp.c-c++-common/for-16.c: New test.
2160
9c47a019
AS
21612018-12-12 Andreas Schwab <schwab@suse.de>
2162
2163 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2164 clobbered.
2165
d0cbb206
TK
21662018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2167
2168 PR fortran/88411
2169 * testsuite/libgomp.fortran/async_io_8.f90: New test.
2170
84ca08d2
TS
21712018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2172 Jakub Jelinek <jakub@redhat.com>
2173
2174 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2175 devicep->host2dev_func.
2176
6997628d
JJ
21772018-12-08 Jakub Jelinek <jakub@redhat.com>
2178
2179 PR libgomp/87995
2180 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2181 tls_runtime effective target.
2182 (t): New threadprivate variable.
2183 (main): Set t in threads which execute iterations of the worksharing
2184 loop. Propagate that to the task after the loop and don't abort
2185 if the current taskgroup hasn't been cancelled.
2186
daa8c1d7
JJ
21872018-12-02 Jakub Jelinek <jakub@redhat.com>
2188
4a82df9a
JJ
2189 * testsuite/libgomp.c/task-reduction-3.c: New test.
2190
daa8c1d7
JJ
2191 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2192
fe570ff8
CP
21932018-11-30 Cesar Philippidis <cesar@codesourcery.com>
2194
2195 PR libgomp/88288
2196 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2197 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2198
c223608f
TS
21992018-11-30 Thomas Schwinge <thomas@codesourcery.com>
2200
2201 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2202
fc60283c
RB
22032018-10-19 Richard Biener <rguenther@suse.de>
2204
2205 PR tree-optimization/88182
2206 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2207
ffcf3b79
JJ
22082018-11-26 Jakub Jelinek <jakub@redhat.com>
2209
2210 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2211 (RUNTEST): Don't define.
2212 (RUNTESTDEFAULTFLAGS): Add.
2213 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2214 (distclean-am): Depend on distclean-DEJAGNU.
2215 (check-am): If -j% option is present in MFLAGS and if
2216 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2217 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2218 * testsuite/Makefile.in: Regenerated.
2219
ef6e6914
RB
22202018-11-26 Richard Biener <rguenther@suse.de>
2221
2222 PR tree-optimization/88182
2223 * testsuite/libgomp.c++/pr88182.C: New testcase.
2224
72d3bb76
JJ
22252018-11-20 Jakub Jelinek <jakub@redhat.com>
2226
2227 PR bootstrap/88106
2228 * config/mingw32/affinity-fmt.c: New file.
2229
207286c3
JJ
22302018-11-09 Jakub Jelinek <jakub@redhat.com>
2231
9666c522
JJ
2232 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2233 (gomp_display_affinity): Use __builtin_choose_expr to handle
2234 properly handle argument having integral, or pointer or some other
2235 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2236 with uint64_t type instead of %llx and unsigned long long.
2237
207286c3
JJ
2238 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2239 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2240
2033f45b
RO
22412018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2242
2243 * affinity.c: Include <string.h>, <stdio.h>.
2244 (gomp_display_affinity_place): Remove cpusetp.
2245 * teams.c: Include <limits.h>.
2246
28567c40
JJ
22472018-11-08 Jakub Jelinek <jakub@redhat.com>
2248
8991d779
JJ
2249 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2250 in_reduction clause for s[0].
2251
28567c40
JJ
2252 * affinity.c (gomp_display_affinity_place): New function.
2253 * affinity-fmt.c: New file.
2254 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2255 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2256 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2257 Move these functions to ...
2258 * config/nvptx/teams.c: ... here. New file.
2259 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2260 New functions.
2261 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2262 functions.
2263 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2264 and _aligned_malloc.
2265 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2266 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2267 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2268 gomp_affinity_format_len): New variables.
2269 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2270 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2271 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2272 modifiers. Display (non-default) chunk sizes. Print
2273 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2274 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2275 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2276 * fortran.c: Include stdio.h and string.h.
2277 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2278 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2279 (omp_set_affinity_format_, omp_get_affinity_format_,
2280 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2281 omp_pause_resource_all_): New functions.
2282 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2283 switch.
2284 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2285 functions to ...
2286 * teams.c: ... here. New file.
2287 * libgomp_g.h: Include gstdint.h.
2288 (GOMP_loop_nonmonotonic_runtime_start,
2289 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2290 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2291 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2292 GOMP_parallel_loop_nonmonotonic_runtime,
2293 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2294 GOMP_loop_ull_nonmonotonic_runtime_start,
2295 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2296 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2297 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2298 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2299 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2300 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2301 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2302 GOMP_teams_reg): Declare.
2303 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2304 gomp_aligned_alloc uses fallback implementation.
2305 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2306 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2307 (struct gomp_doacross_work_share): Add extra field.
2308 (struct gomp_work_share): Add task_reductions field.
2309 (struct gomp_taskgroup): Add workshare and reductions fields.
2310 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2311 (gomp_thread_handle): New typedef.
2312 (gomp_display_affinity_place, gomp_set_affinity_format,
2313 gomp_display_string, gomp_display_affinity,
2314 gomp_display_affinity_thread): Declare.
2315 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2316 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2317 gomp_workshare_task_reduction_register): Declare.
2318 (gomp_team_start): Add taskgroup argument.
2319 (gomp_pause_host): Declare.
2320 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2321 to size_t.
2322 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2323 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2324 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2325 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2326 GOMP_loop_ull_doacross_start,
2327 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2328 GOMP_loop_maybe_nonmonotonic_runtime_next,
2329 GOMP_loop_maybe_nonmonotonic_runtime_start,
2330 GOMP_loop_nonmonotonic_runtime_next,
2331 GOMP_loop_nonmonotonic_runtime_start,
2332 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2333 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2334 GOMP_loop_ull_nonmonotonic_runtime_next,
2335 GOMP_loop_ull_nonmonotonic_runtime_start,
2336 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2337 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2338 GOMP_taskgroup_reduction_register,
2339 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2340 GOMP_teams_reg and GOMP_taskwait_depend.
2341 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2342 omp_{capture,display}_affinity{,_}, and
2343 omp_[gs]et_affinity_format{,_}.
2344 * loop.c: Include string.h.
2345 (GOMP_loop_runtime_next): Add ialias.
2346 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2347 (gomp_loop_static_start, gomp_loop_dynamic_start,
2348 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2349 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2350 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2351 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2352 or gomp_doacross_init callers.
2353 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2354 GOMP_loop_doacross_start): New functions.
2355 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2356 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2357 Mask off GFS_MONOTONIC bit.
2358 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2359 GOMP_loop_maybe_nonmonotonic_runtime_start,
2360 GOMP_loop_nonmonotonic_runtime_next,
2361 GOMP_loop_nonmonotonic_runtime_start,
2362 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2363 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2364 functions.
2365 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2366 gomp_team_start.
2367 * loop_ull.c: Include string.h.
2368 (GOMP_loop_ull_runtime_next): Add ialias.
2369 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2370 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2371 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2372 gomp_loop_ull_ordered_dynamic_start,
2373 gomp_loop_ull_ordered_guided_start,
2374 gomp_loop_ull_doacross_static_start,
2375 gomp_loop_ull_doacross_dynamic_start,
2376 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2377 and gomp_doacross_ull_init callers.
2378 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2379 GOMP_loop_ull_doacross_start): New functions.
2380 (GOMP_loop_ull_runtime_start,
2381 GOMP_loop_ull_ordered_runtime_start,
2382 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2383 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2384 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2385 GOMP_loop_ull_nonmonotonic_runtime_next,
2386 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2387 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2388 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2389 (omp_pause_resource_t, omp_depend_t): New typedefs.
2390 (enum omp_lock_hint_t): Renamed to ...
2391 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2392 enumerators using numbers and omp_lock_hint_* as their aliases.
2393 (omp_lock_hint_t): New typedef. Rename to ...
2394 (omp_sync_hint_t): ... this.
2395 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2396 omp_sync_hint_t instead of omp_lock_hint_t.
2397 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2398 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2399 Declare.
2400 (omp_target_is_present, omp_target_disassociate_ptr):
2401 Change first argument from void * to const void *.
2402 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2403 from void * to const void *.
2404 (omp_target_associate_ptr): Change first and second arguments from
2405 void * to const void *.
2406 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2407 omp_pause_hard): New parameters.
2408 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2409 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2410 New interfaces.
2411 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2412 omp_pause_hard): New parameters.
2413 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2414 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2415 New externals.
2416 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2417 EXTRA argument. If not needed to prepare array, if extra is 0,
2418 clear ws->doacross, otherwise allocate just doacross structure and
2419 extra payload. If array is needed, allocate also extra payload.
2420 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2421 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2422 doacross == NULL.
2423 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2424 gomp_team_start.
2425 (GOMP_parallel): Likewise. Formatting fix.
2426 (GOMP_parallel_reductions): New function.
2427 (GOMP_cancellation_point): If taskgroup has workshare
2428 flag set, check cancelled of prev taskgroup if any.
2429 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2430 on prev taskgroup if any.
2431 * sections.c: Include string.h.
2432 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2433 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2434 (GOMP_sections2_start): New function.
2435 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2436 Pass NULL as taskgroup to gomp_team_start.
2437 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2438 gomp_work_share_start callers.
2439 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2440 If taskgroup has workshare flag set, check cancelled on prev
2441 taskgroup if any. Guard all cancellation tests with
2442 gomp_cancel_var test.
2443 (omp_target_is_present, omp_target_disassociate_ptr):
2444 Change ptr argument from void * to const void *.
2445 (omp_target_memcpy): Change src argument from void * to const void *.
2446 (omp_target_memcpy_rect): Likewise.
2447 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2448 instead of char * where needed.
2449 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2450 from void * to const void *.
2451 (omp_pause_resource, omp_pause_resource_all): New functions.
2452 * task.c (gomp_task_handle_depend): Handle new depend array format
2453 in addition to the old. Handle mutexinoutset kinds the same as
2454 inout for now, handle unspecified kinds.
2455 (gomp_create_target_task): If taskgroup has workshare flag set, check
2456 cancelled on prev taskgroup if any. Guard all cancellation tests with
2457 gomp_cancel_var test. Handle new depend array format count in
2458 addition to the old.
2459 (GOMP_task): Likewise. Adjust function comment.
2460 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2461 cancelled on prev taskgroup if any. Guard all cancellation tests with
2462 gomp_cancel_var test.
2463 (GOMP_taskwait_depend): New function.
2464 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2465 format in addition to the old. Handle mutexinoutset kinds the same as
2466 inout for now, handle unspecified kinds. Fix a function comment typo.
2467 (gomp_taskgroup_init): New function.
2468 (GOMP_taskgroup_start): Use it.
2469 (gomp_reduction_register, gomp_create_artificial_team,
2470 GOMP_taskgroup_reduction_register,
2471 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2472 gomp_parallel_reduction_register,
2473 gomp_workshare_task_reduction_register,
2474 gomp_workshare_taskgroup_start,
2475 GOMP_workshare_task_reduction_unregister): New functions.
2476 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2477 check cancelled on prev taskgroup if any. Guard all cancellation
2478 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2479 by calling GOMP_taskgroup_reduction_register.
2480 * team.c (gomp_thread_attr): Remove comment.
2481 (struct gomp_thread_start_data): Add handle field.
2482 (gomp_thread_start): Call pthread_detach.
2483 (gomp_new_team): Adjust gomp_init_work_share caller.
2484 (gomp_free_pool_helper): Call pthread_detach.
2485 (gomp_team_start): Add taskgroup argument, initialize implicit
2486 tasks' taskgroup field to that. Don't call
2487 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2488 (gomp_team_end): Determine nesting by thr->ts.level != 0
2489 rather than thr->ts.team != NULL.
2490 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2491 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2492 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2493 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2494 if more than 1 allocate also extra payload at the end of array. Never
2495 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2496 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2497 return true instead of ws.
2498 * Makefile.in: Regenerated.
2499 * configure: Regenerated.
2500 * config.h.in: Regenerated.
2501 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2502 in some cases.
2503 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2504 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2505 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2506 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2507 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2508 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2509 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2510 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2511 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2512 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2513 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2514 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2515 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2516 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2517 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2518 define a different N(test), don't define N(f0) to N(f14), but instead
2519 define N(f20) to N(f34) using != comparisons.
2520 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2521 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2522 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2523 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2524 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2525 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2526 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2527 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2528 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2529 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2530 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2531 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2532 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2533 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2534 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2535 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2536 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2537 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2538 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2539 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2540 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2541 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2542 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2543 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2544 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2545 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2546 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2547 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2548 * testsuite/libgomp.c++/depend-1.C: New test.
2549 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2550 * testsuite/libgomp.c++/depobj-1.C: New test.
2551 * testsuite/libgomp.c++/for-16.C: New test.
2552 * testsuite/libgomp.c++/for-21.C: New test.
2553 * testsuite/libgomp.c++/for-22.C: New test.
2554 * testsuite/libgomp.c++/for-23.C: New test.
2555 * testsuite/libgomp.c++/for-24.C: New test.
2556 * testsuite/libgomp.c++/for-25.C: New test.
2557 * testsuite/libgomp.c++/for-26.C: New test.
2558 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2559 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2560 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2561 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2562 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2563 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2564 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2565 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2566 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2567 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2568 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2569 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2570 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2571 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2572 * testsuite/libgomp.c/task-reduction-1.c: New test.
2573 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2574 * testsuite/libgomp.c/task-reduction-2.c: New test.
2575 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2576 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2577 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2578 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2579 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2580 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2581 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2582 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2583 * testsuite/libgomp.c/teams-1.c: New test.
2584 * testsuite/libgomp.c/teams-2.c: New test.
2585 * testsuite/libgomp.c/thread-limit-4.c: New test.
2586 * testsuite/libgomp.c/thread-limit-5.c: New test.
2587 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2588
58168bbf
CLT
25892018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2590
2591 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2592 acc_memcpy_to/from_device functions, now with async parameter.
2593 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2594 (acc_memcpy_from_device): Likewise.
2595 (acc_memcpy_to_device_async): New API function.
2596 (acc_memcpy_from_device_async): Likewise.
2597 (present_create_copy): Add async parameter and async setting/unsetting.
2598 (acc_create): Adjust present_create_copy call.
2599 (acc_copyin): Likewise.
2600 (acc_present_or_create): Likewise.
2601 (acc_present_or_copyin): Likewise.
2602 (acc_create_async): New API function.
2603 (acc_copyin_async): New API function.
2604 (delete_copyout): Add async parameter and async setting/unsetting.
2605 (acc_delete): Adjust delete_copyout call.
2606 (acc_copyout): Likewise.
2607 (acc_delete_async): New API function.
2608 (acc_copyout_async): Likewise.
2609 (update_dev_host): Add async parameter and async setting/unsetting.
2610 (acc_update_device): Adjust update_dev_host call.
2611 (acc_update_self): Likewise.
2612 (acc_update_device_async): New API function.
2613 (acc_update_self_async): Likewise.
2614 * openacc.h (acc_copyin_async): Declare new API function.
2615 (acc_create_async): Likewise.
2616 (acc_copyout_async): Likewise.
2617 (acc_delete_async): Likewise.
2618 (acc_update_device_async): Likewise.
2619 (acc_update_self_async): Likewise.
2620 (acc_memcpy_to_device_async): Likewise.
2621 (acc_memcpy_from_device_async): Likewise.
2622 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2623 (acc_copyin_async_64_h): New subroutine.
2624 (acc_copyin_async_array_h): New subroutine.
2625 (acc_create_async_32_h): New subroutine.
2626 (acc_create_async_64_h): New subroutine.
2627 (acc_create_async_array_h): New subroutine.
2628 (acc_copyout_async_32_h): New subroutine.
2629 (acc_copyout_async_64_h): New subroutine.
2630 (acc_copyout_async_array_h): New subroutine.
2631 (acc_delete_async_32_h): New subroutine.
2632 (acc_delete_async_64_h): New subroutine.
2633 (acc_delete_async_array_h): New subroutine.
2634 (acc_update_device_async_32_h): New subroutine.
2635 (acc_update_device_async_64_h): New subroutine.
2636 (acc_update_device_async_array_h): New subroutine.
2637 (acc_update_self_async_32_h): New subroutine.
2638 (acc_update_self_async_64_h): New subroutine.
2639 (acc_update_self_async_array_h): New subroutine.
2640 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2641 (acc_copyin_async_64_h): New subroutine.
2642 (acc_copyin_async_array_h): New subroutine.
2643 (acc_create_async_32_h): New subroutine.
2644 (acc_create_async_64_h): New subroutine.
2645 (acc_create_async_array_h): New subroutine.
2646 (acc_copyout_async_32_h): New subroutine.
2647 (acc_copyout_async_64_h): New subroutine.
2648 (acc_copyout_async_array_h): New subroutine.
2649 (acc_delete_async_32_h): New subroutine.
2650 (acc_delete_async_64_h): New subroutine.
2651 (acc_delete_async_array_h): New subroutine.
2652 (acc_update_device_async_32_h): New subroutine.
2653 (acc_update_device_async_64_h): New subroutine.
2654 (acc_update_device_async_array_h): New subroutine.
2655 (acc_update_self_async_32_h): New subroutine.
2656 (acc_update_self_async_64_h): New subroutine.
2657 (acc_update_self_async_array_h): New subroutine.
2658 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2659 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2660 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2661 acc_memcpy_to_device_async*, acc_update_device_async*, and
2662 acc_update_self_async* entries.
2663 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2664 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2665 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2666
22e05272
JM
26672018-10-31 Joseph Myers <joseph@codesourcery.com>
2668
2669 PR bootstrap/82856
2670 * Makefile.am: Include multilib.am
2671 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2672 (CLEANFILES): Remove libgomp.info.
2673 * configure.ac: Remove AC_PREREQ.
2674 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2675 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2676 Regenerate.
2677
87a5ccfb
JM
26782018-10-29 Joseph Myers <joseph@codesourcery.com>
2679 Julian Brown <julian@codesourcery.com>
2680
2681 * testsuite/libgomp.oacc-c++/this.C: New.
2682
2049befd
CP
26832018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2684
2685 * plugin/plugin-nvptx.c (struct cuda_map): New.
2686 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2687 h_tail with (cuda_map *) map.
2688 (cuda_map_create): New function.
2689 (cuda_map_destroy): New function.
2690 (map_init): Update to use a linked list of cuda_map objects.
2691 (map_fini): Likewise.
2692 (map_pop): Likewise.
2693 (map_push): Likewise. Return CUdeviceptr instead of void.
2694 (init_streams_for_device): Remove stales references to ptx_stream
2695 members.
2696 (select_stream_for_async): Likewise.
2697 (nvptx_exec): Update call to map_init.
2698
8e36332c
CP
26992018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2700 Julian Brown <julian@codesourcery.com>
2701
2702 PR middle-end/86336
2703 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2704
2b4c9065
NK
27052018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2706 Thomas Koenig <tkoenig@gcc.gnu.org>
2707
2708 PR fortran/25829
2709 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2710 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2711 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2712 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2713 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2714 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2715 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2716
bd9b3d3d
CP
27172018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2718 Tom de Vries <tdevries@suse.de>
2719
2720 PR target/85590
2721 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2722 (cuOccupancyMaxPotentialBlockSize): Declare.
2723 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2724 CUDA_ONE_CALL_MAYBE_NULL.
2725 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2726 CUoccupancyB2DSize and declare
2727 cuOccupancyMaxPotentialBlockSize.
2728 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2729 default num_gangs and num_workers when the driver supports it.
2730
8e09a12f
TV
27312018-08-08 Tom de Vries <tdevries@suse.de>
2732
2733 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2734 CUDA_ONE_CALL_MAYBE_NULL.
2735 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2736 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2737 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2738 are not found.
2739
cedd9bd0
TV
27402018-08-08 Tom de Vries <tdevries@suse.de>
2741
2742 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2743 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2744 present.
2745
b113af95
TV
27462018-08-08 Tom de Vries <tdevries@suse.de>
2747
2748 * plugin/plugin-nvptx.c
2749 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2750 (nvptx_open_device): Use
2751 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2752
94767dac
TV
27532018-08-08 Tom de Vries <tdevries@suse.de>
2754
2755 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2756 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2757
02150de8
TV
27582018-08-07 Tom de Vries <tdevries@suse.de>
2759
2760 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2761 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2762 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2763 corresponding call in CUDA_ONE_CALL. Add def/undef of
2764 CUDA_ONE_CALL_MAYBE_NULL.
2765 (CUDA_CALL_EXISTS): Define.
2766
9e28b107
TV
27672018-08-07 Tom de Vries <tdevries@suse.de>
2768
2769 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2770 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2771 corresponding undefs right after.
2772
09940090
TV
27732018-08-04 Tom de Vries <tdevries@suse.de>
2774
2775 * plugin/configfrag.ac: For --without-cuda-driver, set
2776 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2777 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2778 * configure: Regenerate.
2779
77e0a97a
TV
27802018-08-02 Tom de Vries <tdevries@suse.de>
2781
2782 PR target/86660
2783 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2784 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2785 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2786 Same.
2787 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2788 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2789 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2790
701d080a
CP
27912018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2792 Thomas Schwinge <thomas@codesourcery.com>
2793
2794 * config/nvptx/oacc-parallel.c: Truncate.
2795
094db6be
CP
27962018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2797 James Norris <jnorris@codesourcery.com>
2798
2799 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
2800 (map_init, map_pop): Remove use of struct map.
2801 (map_push): Likewise and change argument list.
094db6be
CP
2802 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2803
8c6310a2
TV
28042018-08-01 Tom de Vries <tdevries@suse.de>
2805
2806 * plugin/cuda-lib.def: New file. Factor out of ...
2807 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2808 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2809 using CUDA_CALLS.
2810
1d4a51cf
AV
28112018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2812
2813 Revert 'AsyncI/O patch committed'.
2814 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2815 Thomas Koenig <tkoenig@gcc.gnu.org>
2816
2817 PR fortran/25829
2818 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2819 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2820 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2821 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2822 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2823 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2824 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2825
4cdfee3f
TV
28262018-07-30 Tom de Vries <tdevries@suse.de>
2827
2828 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2829 (nvptx_exec): Ensure worker and vector default dims don't exceed
2830 targ_fn->max_threads_per_block.
2831
0b210c43
TV
28322018-07-30 Tom de Vries <tdevries@suse.de>
2833
2834 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2835 (nvptx_open_device): Init default_dims for device.
2836 (nvptx_exec): Use default_dims from device.
2837
5883c5cc
JJ
28382018-07-26 Jakub Jelinek <jakub@redhat.com>
2839
5d36384c
JJ
2840 PR testsuite/86660
2841 * testsuite/libgomp.c++/for-15.C (results): Include it in
2842 omp declare target region.
2843 (main): Use map (always, tofrom: results) instead of
2844 map (tofrom: results).
2845
5883c5cc
JJ
2846 PR middle-end/86660
2847 * testsuite/libgomp.c/pr86660.c: New test.
2848
88a4654d
CP
28492018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2850 Tom de Vries <tdevries@suse.de>
2851
2852 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2853 sufficient resources to launch a kernel, and give a hint on how to fix
2854 it.
2855
0c6c2f5f
CP
28562018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2857 Tom de Vries <tdevries@suse.de>
2858
2859 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2860 max_threads_per_block and max_threads_per_multiprocessor fields.
2861 (nvptx_open_device): Initialize new fields.
2862 (nvptx_exec): Use num_sms, and new fields.
2863
6dd58010
TV
28642018-07-26 Tom de Vries <tdevries@suse.de>
2865
2866 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2867 to correct locations. Remove xfail.
2868
b2eb1779
TV
28692018-07-26 Tom de Vries <tdevries@suse.de>
2870
2871 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2872 acc_wait. Move acc_async_test calls to correct locations. Remove
2873 xfail.
2874
b1f45884
NK
28752018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2876 Thomas Koenig <tkoenig@gcc.gnu.org>
2877
2878 PR fortran/25829
2879 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2880 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2881 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2882 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2883 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2884 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2885 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2886
3a106211
JJ
28872018-07-17 Jakub Jelinek <jakub@redhat.com>
2888
a3bccfa1
JJ
2889 PR middle-end/86542
2890 * testsuite/libgomp.c++/pr86542.C: New test.
2891
3a106211
JJ
2892 PR middle-end/86539
2893 * testsuite/libgomp.c++/pr86539.C: New test.
2894
2bae8b2f
JJ
28952018-07-11 Jakub Jelinek <jakub@redhat.com>
2896
2897 PR c++/86443
2898 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2899 (results): Make sure the variable is not inside declare target region.
2900 (qux): Remove unused function.
2901
0b27c3ed
JJ
29022018-07-10 Jakub Jelinek <jakub@redhat.com>
2903
2904 PR c++/86443
2905 * testsuite/libgomp.c++/for-15.C: New test.
2906
f0391511
JJ
29072018-06-26 Jakub Jelinek <jakub@redhat.com>
2908
2909 PR c++/86291
2910 * testsuite/libgomp.c++/pr86291.C: New test.
2911
1a6d1d24
GP
29122018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2913
2914 * libgomp.texi (Top): Move www.openmp.org to https.
2915 (Enabling OpenMP): Ditto.
2916 (omp_get_active_level): Ditto.
2917 (omp_get_ancestor_thread_num): Ditto.
2918 (omp_get_cancellation): Ditto.
2919 (omp_get_default_device): Ditto.
2920 (omp_get_dynamic): Ditto.
2921 (omp_get_level): Ditto.
2922 (omp_get_max_active_levels): Ditto.
2923 (omp_get_max_task_priority): Ditto.
2924 (omp_get_max_threads): Ditto.
2925 (omp_get_nested): Ditto.
2926 (omp_get_num_devices): Ditto.
2927 (omp_get_num_procs): Ditto.
2928 (omp_get_num_teams): Ditto.
2929 (omp_get_num_threads): Ditto.
2930 (omp_get_proc_bind): Ditto.
2931 (omp_get_schedule): Ditto.
2932 (omp_get_team_num): Ditto.
2933 (omp_get_team_size): Ditto.
2934 (omp_get_thread_limit): Ditto.
2935 (omp_get_thread_num): Ditto.
2936 (omp_in_parallel): Ditto.
2937 (omp_in_final): Ditto.
2938 (omp_is_initial_device): Ditto.
2939 (omp_set_default_device): Ditto.
2940 (omp_set_dynamic): Ditto.
2941 (omp_set_max_active_levels): Ditto.
2942 (omp_set_nested): Ditto.
2943 (omp_set_num_threads): Ditto.
2944 (omp_set_schedule): Ditto.
2945 (omp_init_lock): Ditto.
2946 (omp_set_lock): Ditto.
2947 (omp_test_lock): Ditto.
2948 (omp_unset_lock): Ditto.
2949 (omp_destroy_lock): Ditto.
2950 (omp_init_nest_lock): Ditto.
2951 (omp_set_nest_lock): Ditto.
2952 (omp_test_nest_lock): Ditto.
2953 (omp_unset_nest_lock): Ditto.
2954 (omp_destroy_nest_lock): Ditto.
2955 (omp_get_wtick): Ditto.
2956 (omp_get_wtime): Ditto.
2957 (OMP_CANCELLATION): Ditto.
2958 (OMP_DISPLAY_ENV): Ditto.
2959 (OMP_DEFAULT_DEVICE): Ditto.
2960 (OMP_DYNAMIC): Ditto.
2961 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2962 (OMP_MAX_TASK_PRIORITY): Ditto.
2963 (OMP_NESTED): Ditto.
2964 (OMP_NUM_THREADS): Ditto.
2965 (OMP_PROC_BIND): Ditto.
2966 (OMP_PLACES): Ditto.
2967 (OMP_STACKSIZE): Ditto.
2968 (OMP_SCHEDULE): Ditto.
2969 (OMP_THREAD_LIMIT): Ditto.
2970 (OMP_WAIT_POLICY): Ditto.
2971
31dd69b7
CP
29722018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2973 James Norris <jnorris@codesourcery.com>
2974 Julian Brown <julian@codesourcery.com>
2975 Thomas Schwinge <thomas@codesourcery.com>
2976 Tom de Vries <tom@codesourcery.com>
2977
2978 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2979 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2980 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2981 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2982 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2983 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2984 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2985 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2986 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2987 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2988 Likewise.
2989 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2990 Likewise.
2991 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2992 Likewise.
2993 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2994 Likewise.
2995 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2996 Likewise.
2997 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2998 Likewise.
2999 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3000 Likewise.
3001 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3002 Likewise.
3003 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3004 Likewise.
3005 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3006 Likewise.
3007 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3008 Likewise.
3009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3010 Likewise.
3011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3012 Likewise.
3013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3014 Likewise.
3015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3016 Likewise.
3017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3018 Likewise.
3019 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3020 Likewise.
3021 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3022 Likewise.
3023 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3024 Likewise.
3025 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3026 Likewise.
3027 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3028 Likewise.
3029 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3030 Likewise.
3031 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3032 Likewise.
3033 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3034 Likewise.
3035 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3036 Likewise.
3037 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3038 Likewise.
3039 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3040 Likewise.
3041 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3042 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3043 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3044 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3045 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3046 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3047 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3048 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3049 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3050 Likewise.
3051 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3052 Likewise.
3053 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3054 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3055 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3056 Likewise.
3057 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3058 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3059 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3060 Likewise.
3061 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3062 Likewise.
3063 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3064 Likewise.
3065 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3066 Likewise.
3067 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3068 Likewise.
3069 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3070 Likewise.
3071 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3072 Likewise.
3073 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3074 Likewise.
3075 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3076 Likewise.
3077 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3078 Likewise.
3079 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3080 Likewise.
3081 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3082 Likewise.
3083 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3084 Likewise.
3085 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3086 Likewise.
3087 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3088 Likewise.
3089 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3090 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3091 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3092 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3093 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3094 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3095 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3096
829c6349
CLT
30972018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3098 Thomas Schwinge <thomas@codesourcery.com>
3099 Cesar Philippidis <cesar@codesourcery.com>
3100
3101 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3102 (gomp_acc_remove_pointer): Update declaration.
3103 (gomp_acc_declare_allocate): Declare.
3104 (gomp_remove_var): Declare.
3105 * libgomp.map (OACC_2.5): Define.
3106 * oacc-mem.c (acc_map_data): Update refcount.
3107 (acc_unmap_data): Likewise.
3108 (present_create_copy): Likewise.
3109 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
3110 (acc_copyin): Likewise.
3111 (FLAG_FINALIZE): Define.
3112 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3113 (acc_delete_finalize): New function.
3114 (acc_delete_finalize_async): New function.
3115 (acc_copyout_finalize): New function.
3116 (acc_copyout_finalize_async): New function.
3117 (gomp_acc_insert_pointer): Update refcounts.
3118 (gomp_acc_remove_pointer): Return if data is not present on the
3119 accelerator.
3120 * oacc-parallel.c (find_pset): Rename to find_pointer.
3121 (find_pointer): Add support for GOMP_MAP_POINTER.
3122 (handle_ftn_pointers): New function.
3123 (GOACC_parallel_keyed): Update refcounts of variables.
3124 (GOACC_enter_exit_data): Add support for finalized data mappings.
3125 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3126 of fortran arrays.
3127 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3128 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3129 for GOMP_MAP_FORCE_FROM.
3130 * openacc.f90 (module openacc_internal): Add
3131 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3132 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3133 acc_copyout_finalize and acc_delete_finalize.
3134 (acc_copyout_finalize_32_h): New subroutine.
3135 (acc_copyout_finalize_64_h): New subroutine.
3136 (acc_copyout_finalize_array_h): New subroutine.
3137 (acc_delete_finalize_32_h): New subroutine.
3138 (acc_delete_finalize_64_h): New subroutine.
3139 (acc_delete_finalize_array_h): New subroutine.
3140 * openacc.h (acc_copyout_finalize): Declare.
3141 (acc_copyout_finalize_async): Declare.
3142 (acc_delete_finalize): Declare.
3143 (acc_delete_finalize_async): Declare.
3144 * openacc_lib.h (acc_copyout_finalize): New interface.
3145 (acc_delete_finalize): New interface.
3146 * target.c (gomp_map_vars): Update dynamic_refcount.
3147 (gomp_remove_var): New function.
3148 (gomp_unmap_vars): Use it.
3149 (gomp_unload_image_from_device): Likewise.
3150 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3151 case to utilize OpenACC 2.5 data clause semantics.
3152 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3153 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3154 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3155 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3156 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3157 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3158 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3159 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3160 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3161 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3162 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3163 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3164 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3165 utilize OpenACC 2.5 data clause semantics.
3166 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3167 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3168 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3169 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3170 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3171 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3172 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3173 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3174 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3175
4358400b
JW
31762018-05-21 Janus Weil <janus@gcc.gnu.org>
3177
3178 PR fortran/85841
3179 PR testsuite/85865
3180 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3181 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3182 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3183 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3184 * testsuite/libgomp.fortran/task2.f90: Ditto.
3185 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3186 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3187 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3188 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3189 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3190 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3191 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3192 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3193 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3194
950ad0ba
CP
31952018-05-18 Cesar Philippidis <cesar@codesourcery.com>
3196
3197 PR c++/85782
3198 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3199
f5ad16f1
TV
32002018-05-09 Tom de Vries <tom@codesourcery.com>
3201
3202 PR libgomp/82901
3203 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3204 to GOACC_enter_exit_data.
3205
edbd038a
TV
32062018-05-09 Tom de Vries <tom@codesourcery.com>
3207
3208 PR libgomp/83792
3209 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
3210 (async_synchronous_p): New function.
3211 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3212 async_valid_p.
3213 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3214 async_valid_stream_id_p.
3215 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3216 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3217
37d6c719
TV
32182018-05-07 Tom de Vries <tom@codesourcery.com>
3219
3220 PR testsuite/85677
3221 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3222 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3223
63f12215
TV
32242018-05-03 Tom de Vries <tom@codesourcery.com>
3225
3226 PR testsuite/85106
3227 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3228 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3229 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3230 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3231
ec00d3fa
TV
32322018-05-02 Tom de Vries <tom@codesourcery.com>
3233
3234 PR libgomp/85411
3235 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3236 GOMP_OPENACC_DIM ...
3237 * env.c (parse_gomp_openacc_dim): ... here. New function.
3238 (initialize_env): Call parse_gomp_openacc_dim.
3239 (goacc_default_dims): Define.
3240 * libgomp.h (goacc_default_dims): Declare.
3241 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3242 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3243 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3244 GOMP_PLUGIN_acc_default_dim.
3245 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3246 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3247
92243e7c
TV
32482018-05-02 Tom de Vries <tom@codesourcery.com>
3249
3250 PR testsuite/83791
3251 * testsuite/libgomp.c++/udr-9.C: Update.
3252 * testsuite/libgomp.c++/atomic-16.C: Remove.
3253 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3254 * testsuite/libgomp.c++/loop-13.C: Remove.
3255 * testsuite/libgomp.c++/loop-14.C: Remove.
3256 * testsuite/libgomp.c++/loop-15.C: Remove.
3257 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3258 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3259 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3260 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3261 * testsuite/libgomp.c++/ordered-1.C: Remove.
3262 * testsuite/libgomp.c++/pr45784.C: Remove.
3263 * testsuite/libgomp.c++/pr64824.C: Remove.
3264 * testsuite/libgomp.c++/pr64868.C: Remove.
3265 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3266 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3267 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3268 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3269 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3270 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3271 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3272 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3273 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3274 * testsuite/libgomp.c++/pr69389.C: Remove.
3275 * testsuite/libgomp.c++/simd10.C: Remove.
3276 * testsuite/libgomp.c++/simd11.C: Remove.
3277 * testsuite/libgomp.c++/simd12.C: Remove.
3278 * testsuite/libgomp.c++/simd13.C: Remove.
3279 * testsuite/libgomp.c++/target-1.C: Remove.
3280 * testsuite/libgomp.c++/target-3.C: Remove.
3281 * testsuite/libgomp.c++/target-4.C: Remove.
3282 * testsuite/libgomp.c++/target-5.C: Remove.
3283 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3284 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3285 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3286 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3287 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3288 * testsuite/libgomp.c++/udr-9.C: Remove.
3289 * testsuite/libgomp.c++/for-10.C: Remove.
3290 * testsuite/libgomp.c++/for-11.C: Remove.
3291 * testsuite/libgomp.c++/for-12.C: Remove.
3292 * testsuite/libgomp.c++/for-13.C: Remove.
3293 * testsuite/libgomp.c++/for-14.C: Remove.
3294 * testsuite/libgomp.c++/for-9.C: Remove.
3295 * testsuite/libgomp.c/atomic-18.c: Move ...
3296 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3297 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3298 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3299 * testsuite/libgomp.c/loop-13.c: Move ...
3300 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3301 * testsuite/libgomp.c/loop-14.c: Move ...
3302 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3303 * testsuite/libgomp.c/loop-15.c: Remove.
3304 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3305 * testsuite/libgomp.c/monotonic-1.c: Move ...
3306 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3307 * testsuite/libgomp.c/monotonic-2.c: Move ...
3308 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3309 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3310 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3311 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3312 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3313 * testsuite/libgomp.c/ordered-4.c: Move ...
3314 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3315 * testsuite/libgomp.c/pr45784.c: Move ...
3316 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3317 * testsuite/libgomp.c/pr64824.c: Move ...
3318 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3319 * testsuite/libgomp.c/pr64868.c: Move ...
3320 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3321 * testsuite/libgomp.c/pr66199-1.c: Move ...
3322 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3323 * testsuite/libgomp.c/pr66199-2.c: Move ...
3324 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3325 * testsuite/libgomp.c/pr66199-3.c: Move ...
3326 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3327 * testsuite/libgomp.c/pr66199-4.c: Move ...
3328 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3329 * testsuite/libgomp.c/pr66199-5.c: Move ...
3330 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3331 * testsuite/libgomp.c/pr66199-6.c: Move ...
3332 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3333 * testsuite/libgomp.c/pr66199-7.c: Move ...
3334 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3335 * testsuite/libgomp.c/pr66199-8.c: Move ...
3336 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3337 * testsuite/libgomp.c/pr66199-9.c: Move ...
3338 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3339 * testsuite/libgomp.c/pr69389.c: Move ...
3340 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3341 * testsuite/libgomp.c/simd-14.c: Move ...
3342 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3343 * testsuite/libgomp.c/simd-15.c: Move ...
3344 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3345 * testsuite/libgomp.c/simd-16.c: Move ...
3346 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3347 * testsuite/libgomp.c/simd-17.c: Move ...
3348 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3349 * testsuite/libgomp.c/target-1.c: Move ...
3350 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3351 * testsuite/libgomp.c/target-10.c: Move ...
3352 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3353 * testsuite/libgomp.c/target-13.c: Move ...
3354 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3355 * testsuite/libgomp.c/target-2.c: Move ...
3356 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3357 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3358 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3359 * testsuite/libgomp.c/taskloop-1.c: Move ...
3360 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3361 * testsuite/libgomp.c/taskloop-2.c: Move ...
3362 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3363 * testsuite/libgomp.c/taskloop-3.c: Move ...
3364 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3365 * testsuite/libgomp.c/taskloop-4.c: Move ...
3366 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3367 * testsuite/libgomp.c/udr-1.c: Move ...
3368 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3369 * testsuite/libgomp.c/for-1.c: Move ...
3370 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3371 * testsuite/libgomp.c/for-1.h: Move ...
3372 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3373 * testsuite/libgomp.c/for-2.c: Move ...
3374 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3375 * testsuite/libgomp.c/for-2.h: Move ...
3376 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3377 * testsuite/libgomp.c/for-3.c: Move ...
3378 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3379 * testsuite/libgomp.c/for-4.c: Move ...
3380 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3381 * testsuite/libgomp.c/for-5.c: Move ...
3382 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3383 * testsuite/libgomp.c/for-6.c: Move ...
3384 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3385
1f62d637
TV
33862018-05-02 Tom de Vries <tom@codesourcery.com>
3387
3388 PR libgomp/82428
3389 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3390 __builtin_goacc_parlevel_{id,size}.
3391 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3392 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3393 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3394 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3395 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3396 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3397 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3398 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3399 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3400 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3401 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3402 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3403 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3404 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3405 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3406 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3407 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3408 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3409 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3410 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3411 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3412 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3413 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3414
9220b511
TV
34152018-05-02 Tom de Vries <tom@codesourcery.com>
3416
3417 PR testsuite/85106
3418 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3419
6c3c13c1
TV
34202018-05-02 Tom de Vries <tom@codesourcery.com>
3421
3422 PR testsuite/85106
3423 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3424
8d70b61e
JB
34252018-04-29 Julian Brown <julian@codesourcery.com>
3426 Tom de Vries <tom@codesourcery.com>
3427
3428 PR testsuite/85527
3429 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3430 arbitrary order for iterations of atomic subtract check.
3431
4a57a4b6
TV
34322018-04-28 Tom de Vries <tom@codesourcery.com>
3433
3434 PR testsuite/85527
3435 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3436 atomic capture results obtained in parallel loop to an array, instead of
3437 to a scalar.
3438
df36a3d3
TV
34392018-04-26 Tom de Vries <tom@codesourcery.com>
3440
3441 PR libgomp/84020
3442 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3443 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3444 (process_GOMP_NVPTX_JIT): New function.
3445 (link_ptx): Use process_GOMP_NVPTX_JIT.
3446
d160ae78
RB
34472018-04-26 Richard Biener <rguenther@suse.de>
3448 Tom de Vries <tom@codesourcery.com>
3449
3450 PR lto/85422
3451 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3452
ca9dc642
TV
34532018-04-26 Tom de Vries <tom@codesourcery.com>
3454
3455 PR target/85519
3456 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3457 recursion depth from 25 to 23.
3458 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3459
7b47ecf2
L
34602018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3461
3462 * configure: Regenerated.
3463
e91eba31
NS
34642018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3465 Tom de Vries <tom@codesourcery.com>
3466
3467 PR target/85445
3468 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3469
6e0d40b6
TS
34702018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3471
3472 PR libgomp/85463
3473 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3474 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3475 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3476 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3477 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3478 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3479
3480 PR libfortran/85166
3481 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3482 abort".
3483 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3484
a0e1df88
JJ
34852018-04-19 Jakub Jelinek <jakub@redhat.com>
3486
3487 * configure: Regenerated.
3488
001ddaa8
DM
34892018-04-18 David Malcolm <dmalcolm@redhat.com>
3490
3491 PR jit/85384
3492 * configure: Regenerate.
3493
05e0af43
CP
34942018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3495 Tom de Vries <tom@codesourcery.com>
3496
3497 PR middle-end/84955
3498 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3499 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3500
bc436e10
TK
35012018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3502
3503 PR fortran/83064
3504 PR testsuite/85346
3505 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3506 test from gfortran.dg to here.
3507
ffb164c7
JJ
35082018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3509
3510 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3511 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3512
35132018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3514
3515 PR middle-end/84955
3516 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3517 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3518
2ba16fd2
TV
35192018-04-05 Tom de Vries <tom@codesourcery.com>
3520
3521 PR target/85204
3522 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3523
46dbeb40
TV
35242018-03-26 Tom de Vries <tom@codesourcery.com>
3525
3526 PR tree-optimization/85063
3527 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3528 * testsuite/libgomp.c/switch-conversion.c: New test.
3529 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3530 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3531
bfc24e32
TK
35322018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3533
3534 PR fortran/84381
3535 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3536 call abort by STOP n.
3537 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3538 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3539 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3540 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3541 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3542 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3543 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3544 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3545 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3546 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3547 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3548 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3549 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3550 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3551 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3552 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3553 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3554 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3555 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3556 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3557 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3558 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3559 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3560 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3561 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3562 * testsuite/libgomp.fortran/character1.f90: Likewise.
3563 * testsuite/libgomp.fortran/character2.f90: Likewise.
3564 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3565 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3566 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3567 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3568 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3569 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3570 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3571 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3572 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3573 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3574 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3575 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3576 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3577 * testsuite/libgomp.fortran/do1.f90: Likewise.
3578 * testsuite/libgomp.fortran/do2.f90: Likewise.
3579 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3580 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3581 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3582 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3583 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3584 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3585 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3586 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3587 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3588 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3589 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3590 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3591 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3592 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3593 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3594 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3595 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3596 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3597 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3598 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3599 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3600 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3601 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3602 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3603 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3604 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3605 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3606 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3607 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3608 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3609 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3610 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3611 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3612 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3613 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3614 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3615 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3616 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3617 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3618 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3619 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3620 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3621 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3622 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3623 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3624 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3625 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3626 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3627 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3628 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3629 * testsuite/libgomp.fortran/lib2.f: Likewise.
3630 * testsuite/libgomp.fortran/lib3.f: Likewise.
3631 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3632 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3633 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3634 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3635 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3636 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3637 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3638 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3639 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3640 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3641 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3642 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3643 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3644 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3645 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3646 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3647 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3648 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3649 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3650 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3651 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3652 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3653 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3654 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3655 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3656 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3657 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3658 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3659 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3660 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3661 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3662 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3663 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3664 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3665 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3666 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3667 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3668 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3669 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3670 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3671 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3672 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3673 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3674 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3675 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3676 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3677 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3678 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3679 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3680 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3681 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3682 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3683 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3684 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3685 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3686 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3687 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3688 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3689 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3690 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3691 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3692 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3693 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3694 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3695 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3696 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3697 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3698 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3699 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3700 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3701 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3702 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3703 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3704 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3705 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3706 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3707 * testsuite/libgomp.fortran/stack.f90: Likewise.
3708 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3709 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3710 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3711 * testsuite/libgomp.fortran/target1.f90: Likewise.
3712 * testsuite/libgomp.fortran/target2.f90: Likewise.
3713 * testsuite/libgomp.fortran/target3.f90: Likewise.
3714 * testsuite/libgomp.fortran/target4.f90: Likewise.
3715 * testsuite/libgomp.fortran/target5.f90: Likewise.
3716 * testsuite/libgomp.fortran/target6.f90: Likewise.
3717 * testsuite/libgomp.fortran/target7.f90: Likewise.
3718 * testsuite/libgomp.fortran/target8.f90: Likewise.
3719 * testsuite/libgomp.fortran/task1.f90: Likewise.
3720 * testsuite/libgomp.fortran/task2.f90: Likewise.
3721 * testsuite/libgomp.fortran/task3.f90: Likewise.
3722 * testsuite/libgomp.fortran/task4.f90: Likewise.
3723 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3724 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3725 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3726 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3727 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3728 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3729 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3730 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3731 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3732 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3733 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3734 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3735 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3736 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3737 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3738 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3739 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3740 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3741 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3742 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3743 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3744 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3745 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3746 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3747 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3748 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3749 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3750 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3751 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3752 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3753 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3754 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3755 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3756 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3757 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3758 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3759 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3760 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3761 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3762 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3763 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3764 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3765 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3766 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3767 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3768 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3769 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3770 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3771 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3772 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3773 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3774 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3775 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3776 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3777 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3778 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3779 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3780 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3781 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3782 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3783 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3784 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3785 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3786 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3787 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3788 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3789 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3790 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3791 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3792 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3793 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3794 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3795 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3796 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3797 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3798 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3799 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3800 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3801 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3802 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3803 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3804 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3805 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3806 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3807 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3808 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3809 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3810 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3811 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3812 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3813 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3814 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3815 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3816 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3817 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3818 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3819 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3820 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3821 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3822 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3823 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3824 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3825 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3826 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3827 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3828 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3829 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3830 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3831 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3832 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3833 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3834 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3835 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3836 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3837 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3838 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3839 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3840 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3841 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3842 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3843 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3844 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3845 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3846 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3847 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3848 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3849
79cf14ae
RB
38502018-03-20 Richard Biener <rguenther@suse.de>
3851
3852 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3853 parallelizable loop.
3854
14e335ed
IT
38552018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3856
3857 PR target/84148
3858 * configure: Regenerate.
3859
83d9be55
JJ
38602018-02-16 Jakub Jelinek <jakub@redhat.com>
3861
3862 PR fortran/84418
3863 * libgomp.fortran/pr84418-1.f90: New test.
3864 * libgomp.fortran/pr84418-2.f90: New test.
3865
d1fe6124
JJ
38662018-02-14 Jakub Jelinek <jakub@redhat.com>
3867
3868 PR fortran/84313
3869 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3870 -std=f2003 -fall-intrinsics into dg-additional-options.
3871
3d224921
MJ
38722018-02-08 Martin Jambor <mjambor@suse.cz>
3873
3874 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3875 clonable.
3876
c7c30edd
MJ
38772018-02-08 Martin Jambor <mjambor@suse.cz>
3878
3879 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3880
f320fdfd
RO
38812018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3882
3883 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3884 [__cplusplus]: Declare extern "C".
3885
c31bc4ac
TV
38862018-02-07 Tom de Vries <tom@codesourcery.com>
3887
3888 PR libgomp/84217
3889 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3890
99ae7ce5
CS
38912018-01-29 Christoph Spiel <cspiel@freenet.de>
3892 Jakub Jelinek <jakub@redhat.com>
3893
3894 PR libgomp/84096
3895 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3896 instead of omp_lock_t.
3897
e77a1236
TV
38982018-01-25 Tom de Vries <tom@codesourcery.com>
3899
3900 PR target/84028
3901 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3902
3dede32b
TV
39032018-01-24 Tom de Vries <tom@codesourcery.com>
3904
3905 PR target/83589
3906 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3907
be606483
TV
39082018-01-24 Tom de Vries <tom@codesourcery.com>
3909
3910 PR target/81352
3911 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3912
8c8e9a6b
TV
39132018-01-19 Tom de Vries <tom@codesourcery.com>
3914 Cesar Philippidis <cesar@codesourcery.com>
3915
3916 PR target/83920
3917 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3918 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3919
65e6aea3
JJ
39202018-01-03 Jakub Jelinek <jakub@redhat.com>
3921
85ec4feb
JJ
3922 Update copyright years.
3923
65e6aea3
JJ
3924 * libgomp.texi: Bump @copying's copyright year.
3925
60bf575c
TV
39262017-12-30 Tom de Vries <tom@codesourcery.com>
3927
3928 PR libgomp/83046
3929 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3930 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3931
7ec16b79
TV
39322017-12-27 Tom de Vries <tom@codesourcery.com>
3933
3934 PR c++/83046
3935 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3936 (test_nonstatic): Fix return type to workaround PR83046.
3937
ac550b9a
JJ
39382017-12-05 Jakub Jelinek <jakub@redhat.com>
3939
3940 PR testsuite/83281
3941 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3942 j suffix instead of i.
3943 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3944 Likewise.
3945
ebdc83f0
CP
39462017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3947
3948 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3949 call to acc_wait (1).
3950
3b3e6283
JJ
39512017-11-24 Jakub Jelinek <jakub@redhat.com>
3952
3953 PR fortran/81304
3954 * testsuite/libgomp.fortran/pr81304.f90: New test.
3955
3b575376
JJ
39562017-11-23 Jakub Jelinek <jakub@redhat.com>
3957
3958 PR fortran/81841
3959 * libgomp.fortran/pr81841.f90: New test.
3960
b13547d8
JJ
39612017-11-22 Jakub Jelinek <jakub@redhat.com>
3962
3963 PR libgomp/83106
3964 * target.c (gomp_target_init): Compute lengths just once and
3965 use them in both malloc size and subsequent copying.
3966
efe33ced
IT
39672017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3968
3969 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3970 * acinclude.m4: Add cet.m4.
3971 * configure: Regenerate.
3972 * Makefile.in: Likewise.
3973 * testsuite/Makefile.in: Likewise.
3974
a7cf2612
TV
39752017-11-15 Tom de Vries <tom@codesourcery.com>
3976
3977 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3978 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3979 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3980 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3981 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3982 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3983
dde76623
TV
39842017-11-14 Tom de Vries <tom@codesourcery.com>
3985
3986 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3987 non-nvidia devices.
3988
4dbeb716
JJ
39892017-11-07 Jakub Jelinek <jakub@redhat.com>
3990
3991 PR c++/82835
3992 * testsuite/libgomp.c++/pr82835.C: New test.
3993
454f8b2b
ML
39942017-11-06 Martin Liska <mliska@suse.cz>
3995
3996 * testsuite/libgomp.c++/loop-2.C: Return a value
3997 for functions with non-void return type, or change type to void,
3998 or add -Wno-return-type for test.
3999 * testsuite/libgomp.c++/loop-4.C: Likewise.
4000 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4001 * testsuite/libgomp.c++/shared-1.C: Likewise.
4002 * testsuite/libgomp.c++/single-1.C: Likewise.
4003 * testsuite/libgomp.c++/single-2.C: Likewise.
4004
12e9c8ce
TV
40052017-10-31 Tom de Vries <tom@codesourcery.com>
4006
4007 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4008 "do {} while (false)".
4009 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4010 after HSA_DEBUG call.
4011
7324369a
JJ
40122017-10-28 Jakub Jelinek <jakub@redhat.com>
4013
4014 * target.c (struct gomp_coalesce_buf): New type.
4015 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4016 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4017 (gomp_copy_host2dev): Add CBUF argument, if copying into
4018 the cached ranges, memcpy into buffer instead of copying
4019 into device.
4020 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4021 Add CBUF argument, pass it through to other calls.
4022 (gomp_map_vars): Aggregate copies from host to device if small enough
4023 and with small enough gaps in between into memcpy into a buffer and
4024 fewer host to device copies from the buffer.
4025 (gomp_update): Adjust gomp_copy_host2dev caller.
4026
933ab0e6
TS
40272017-10-17 Thomas Schwinge <thomas@codesourcery.com>
4028
4029 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4030 run" directive.
4031 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4032 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4033 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4034 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4035
92d5d01a
TV
40362017-10-16 Tom de Vries <tom@codesourcery.com>
4037
4038 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4039 openacc_nvidia_accel_selected.
4040 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4041 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4042 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4043 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4044 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4045 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4046 openacc_nvidia_accel_selected. Skip for shared memory device.
4047 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4048 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4049
191411e4
MJ
40502017-10-09 Martin Jambor <mjambor@suse.cz>
4051
4052 PR hsa/82416
4053 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4054
e923330e
TV
40552017-10-07 Tom de Vries <tom@codesourcery.com>
4056
4057 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4058 Remove acc_device_nvidia references.
4059 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4060 Same.
4061
8fe3ed4c
TV
40622017-10-05 Tom de Vries <tom@codesourcery.com>
4063
4064 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4065 vector_length(32) clause from acc parallel directive.
4066 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4067
26596ee5
TV
40682017-10-04 Tom de Vries <tom@codesourcery.com>
4069
4070 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4071 (main): Reduce sum of arr elements. Assert that hres is exactly
4072 representable in 32-bit floating point.
4073 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4074 (main): Reduce sum of arr elements. Assert that hres and hmres are
4075 exactly representable in 32-bit floating point.
4076 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4077
5c561fa9
TV
40782017-09-28 Tom de Vries <tom@codesourcery.com>
4079
4080 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4081 setting.
4082 * testsuite/libgomp.c++/pr69393.C: Same.
4083 * testsuite/libgomp.c++/taskloop-1.C: Same.
4084 * testsuite/libgomp.c++/taskloop-3.C: Same.
4085 * testsuite/libgomp.c++/taskloop-4.C: Same.
4086 * testsuite/libgomp.c/for-4.c: Same.
4087 * testsuite/libgomp.c/pr66199-3.c: Same.
4088 * testsuite/libgomp.c/pr66199-4.c: Same.
4089 * testsuite/libgomp.c/pr66199-6.c: Same.
4090 * testsuite/libgomp.c/taskloop-1.c: Same.
4091 * testsuite/libgomp.c/taskloop-3.c: Same.
4092 * testsuite/libgomp.c/taskloop-4.c: Same.
4093 * testsuite/libgomp.fortran/aligned1.f03: Same.
4094 * testsuite/libgomp.fortran/condinc1.f: Same.
4095 * testsuite/libgomp.fortran/condinc3.f90: Same.
4096 * testsuite/libgomp.fortran/crayptr1.f90: Same.
4097 * testsuite/libgomp.fortran/crayptr2.f90: Same.
4098 * testsuite/libgomp.fortran/crayptr3.f90: Same.
4099 * testsuite/libgomp.fortran/omp_cond1.f: Same.
4100 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
4101 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
4102 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
4103 * testsuite/libgomp.fortran/recursion1.f90: Same.
4104 * testsuite/libgomp.fortran/target2.f90: Same.
4105 * testsuite/libgomp.fortran/target5.f90: Same.
4106 * testsuite/libgomp.fortran/task3.f90: Same.
4107
7d6206fe
TV
41082017-09-28 Tom de Vries <tom@codesourcery.com>
4109
4110 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4111 vector_length(32) clause from acc parallel directive.
4112 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4113
84c8627c
TV
41142017-09-27 Tom de Vries <tom@codesourcery.com>
4115
4116 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4117 Remove acc_device_nvidia references.
4118
ebc6a85e
TV
41192017-09-16 Tom de Vries <tom@codesourcery.com>
4120
4121 PR c/81875
4122 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
4123
82419efb
TV
41242017-09-14 Tom de Vries <tom@codesourcery.com>
4125
4126 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4127 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4128 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4129 * testsuite/libgomp.c/c.exp: Include test-cases from
4130 libgomp.c-c++-common.
4131 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
4132 files.
4133
8b586510
JJ
41342017-09-14 Jakub Jelinek <jakub@redhat.com>
4135
4136 PR c++/81314
4137 * testsuite/libgomp.c++/pr81314.C: New test.
4138
9651fbaf
GP
41392017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
4140
4141 * libgomp.texi (Top): www.openacc.org now uses https.
4142 (Enabling OpenACC): Ditto.
4143 (acc_get_num_devices): Ditto.
4144 (acc_set_device_type): Ditto.
4145 (acc_get_device_type): Ditto.
4146 (acc_set_device_num): Ditto.
4147 (acc_get_device_num): Ditto.
4148 (acc_async_test): Ditto.
4149 (acc_async_test_all): Ditto.
4150 (acc_wait): Ditto.
4151 (acc_wait_all): Ditto.
4152 (acc_wait_all_async): Ditto.
4153 (acc_wait_async): Ditto.
4154 (acc_init): Ditto.
4155 (acc_shutdown): Ditto.
4156 (acc_on_device): Ditto.
4157 (acc_malloc): Ditto.
4158 (acc_free): Ditto.
4159 (acc_copyin): Ditto.
4160 (acc_present_or_copyin): Ditto.
4161 (acc_create): Ditto.
4162 (acc_present_or_create): Ditto.
4163 (acc_copyout): Ditto.
4164 (acc_delete): Ditto.
4165 (acc_update_device): Ditto.
4166 (acc_update_self): Ditto.
4167 (acc_map_data): Ditto.
4168 (acc_unmap_data): Ditto.
4169 (acc_deviceptr): Ditto.
4170 (acc_hostptr): Ditto.
4171 (acc_is_present): Ditto.
4172 (acc_memcpy_to_device): Ditto.
4173 (acc_memcpy_from_device): Ditto.
4174 (acc_get_current_cuda_device): Ditto.
4175 (acc_get_current_cuda_context): Ditto.
4176 (acc_get_cuda_stream): Ditto.
4177 (acc_set_cuda_stream): Ditto.
4178 (ACC_DEVICE_TYPE): Ditto.
4179 (ACC_DEVICE_NUM): Ditto.
4180 (OpenACC Library Interoperability): Ditto.
4181
50aa16c3
JJ
41822017-08-09 Jakub Jelinek <jakub@redhat.com>
4183
4184 PR c/81687
4185 * testsuite/libgomp.c/pr81687-1.c: New test.
4186 * testsuite/libgomp.c/pr81687-2.c: New test.
4187
56b5041c
JJ
41882017-08-07 Jakub Jelinek <jakub@redhat.com>
4189
4190 PR c/69389
4191 * testsuite/libgomp.c/pr69389.c: New test.
4192 * testsuite/libgomp.c++/pr69389.C: New test.
4193
f4c222c0
TV
41942017-08-07 Tom de Vries <tom@codesourcery.com>
4195
4196 PR middle-end/78266
4197 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4198 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4199
a40ff0ae
JJ
42002017-07-27 Jakub Jelinek <jakub@redhat.com>
4201
4202 PR c/45784
4203 * testsuite/libgomp.c/pr45784.c: New test.
4204 * testsuite/libgomp.c++/pr45784.C: New test.
4205
3717fbe3
TV
42062017-07-19 Tom de Vries <tom@codesourcery.com>
4207
4208 * testsuite/libgomp.oacc-c/vec.c: New test.
4209
9607b014
TV
42102017-07-03 Tom de Vries <tom@codesourcery.com>
4211
4212 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4213
dfb15f6b
TV
42142017-06-27 Tom de Vries <tom@codesourcery.com>
4215
4216 * plugin/plugin-nvptx.c (notify_var): New function.
4217 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4218
22f1a037
TV
42192017-06-27 Tom de Vries <tom@codesourcery.com>
4220
4221 * env.c (parse_unsigned_long_1): Factor out of ...
4222 (parse_unsigned_long): ... here.
4223 (parse_int_1): Factor out of ...
4224 (parse_int): ... here.
4225 (parse_int_secure): New function.
4226 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4227 * secure_getenv.h: Factor out of ...
4228 * plugin/plugin-hsa.c: ... here.
4229 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4230
d54d1fc3
JJ
42312017-06-21 Jakub Jelinek <jakub@redhat.com>
4232
4233 PR c++/81130
4234 * testsuite/libgomp.c++/pr81130.C: New test.
4235
4f4b0ab8
RO
42362017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4237
4238 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4239 default args.
4240 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4241 dg-xfail-run-if default args.
4242
40ffd95f
BE
42432017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4244
4245 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4246 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4247
01275e1e
JJ
42482017-05-30 Jakub Jelinek <jakub@redhat.com>
4249
4250 PR libgomp/80822
4251 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4252 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4253 sibling lists, depending on level just pick up what CPUs to put
4254 together into a place vs. whether add multiple ordered places.
4255
78672bd8
TS
42562017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4257
7ce64403
TS
4258 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4259 * libgomp.map (OACC_2.0.1): Add these.
4260 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4261 for "acc_wait", and "acc_wait_all", respectively.
4262 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4263 for "acc_wait", and "acc_wait_all", respectively.
4264 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4265 * libgomp.texi (acc_wait, acc_wait_all): Update.
4266 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4267 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4268 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4269
318686c2
TS
4270 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4271 acc_present_or_copyin and acc_present_or_create procedures,
4272 respectively.
4273 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4274 generally different variants of OpenACC Runtime Library functions.
4275 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4276
a6745534
TS
4277 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4278 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4279
9b94fbc7
TS
4280 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4281 of preprocessor definitions.
4282 * libgomp.h (strong_alias): Guard by "#ifdef
4283 HAVE_ATTRIBUTE_ALIAS".
4284 * oacc-mem.c: Provide "acc_pcreate" as alias for
4285 "acc_present_or_create", and "acc_pcopyin" as alias for
4286 "acc_present_or_copyin".
4287 * libgomp.map: New version "OACC_2.0.1".
4288 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4289 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4290 its content into...
4291 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4292 Extend testing.
4293
78672bd8
TS
4294 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4295 when disabling nvptx offloading.
4296
0c36d0d5
TS
42972017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4298
fd71a9a2
TS
4299 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4300 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4301 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4302
0c36d0d5
TS
4303 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4304 * testsuite/lib/libgomp.exp
4305 (check_effective_target_openacc_nvidia_accel_configured): New
4306 proc.
4307 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4308 (check_effective_target_c++): New procs.
4309 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4310 (check_effective_target_c++): Likewise.
4311
c24783c4
JJ
43122017-05-22 Jakub Jelinek <jakub@redhat.com>
4313
655e5265
JJ
4314 PR middle-end/80809
4315 * testsuite/libgomp.c/pr80809-2.c: New test.
4316 * testsuite/libgomp.c/pr80809-3.c: New test.
4317
e9e2ef9f
JJ
4318 PR middle-end/80809
4319 * testsuite/libgomp.c/pr80809-1.c: New test.
4320
c24783c4
JJ
4321 PR middle-end/80853
4322 * testsuite/libgomp.c/pr80853.c: New test.
4323
0da2f96a
TS
43242017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4325
7fd549d2
TS
4326 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4327 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4328 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4329 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4330 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4331
0da2f96a
TS
4332 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4333 Debug output for failure.
4334
62ffe920
RO
43352017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4336
4337 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4338
f49215b1
JJ
43392017-04-27 Jakub Jelinek <jakub@redhat.com>
4340
4341 PR bootstrap/80531
4342 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4343 bootstrap compare failures.
4344
2260d19d
AM
43452017-04-20 Alexander Monakov <amonakov@ispras.ru>
4346
4347 * testsuite/libgomp.c/target-36.c: New testcase.
4348
19929ba9
JJ
43492017-04-13 Jakub Jelinek <jakub@redhat.com>
4350
4351 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4352 instead of char.
4353
fbc698e0
JJ
43542017-04-11 Jakub Jelinek <jakub@redhat.com>
4355
4356 PR libgomp/80394
4357 * testsuite/libgomp.c/pr80394.c: New test.
4358
c4060df4
JJ
43592017-04-04 Jakub Jelinek <jakub@redhat.com>
4360
4361 PR libgomp/79876
4362 * config/posix/thread-stacksize.h: New file.
4363 * config/darwin/thread-stacksize.h: New file.
4364 * config/nvptx/thread-stacksize.h: New file.
4365 * env.c: Include thread-stacksize.h.
4366 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4367 instead of 0. Call pthread_attr_setstacksize even if
4368 GOMP_DEFAULT_STACKSIZE is non-zero.
4369
e02d868a
JJ
43702017-03-30 Jakub Jelinek <jakub@redhat.com>
4371
4372 * env.c (initialize_env): Initialize stacksize to 0.
4373
7ba8651e
CP
43742017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4375
4376 PR c++/80029
4377 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4378
eebc5e2d
JJ
43792017-03-08 Jakub Jelinek <jakub@redhat.com>
4380
4381 PR c/79940
4382 * testsuite/libgomp.c/pr79940.c: New test.
4383
1eb08f52
RO
43842017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4385
4386 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4387 targets.
4388 Add __float128 options.
4389
b0f78ff3
JDA
43902017-02-11 John David Anglin <danglin@gcc.gnu.org>
4391
4392 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4393 hppa*-*-* dg-skip-if directive.
4394
1bbe0d8f
JJ
43952017-02-09 Jakub Jelinek <jakub@redhat.com>
4396
4397 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4398 dg-skip-if directive into a comment.
4399
02889d23
CLT
44002017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4401 Chung-Lin Tang <cltang@codesourcery.com>
4402
4403 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4404 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4405 add additional case.
4406 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4407 "openacc_nvidia_accel_selected".
4408 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4409 Add num_workers(8) clause.
4410
5896a41d
JDA
44112017-02-08 John David Anglin <danglin@gcc.gnu.org>
4412
4413 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4414 hppa*-*-*.
4415 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4416 include complex.h on hppa*-*-hpux*.
4417 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4418
345a8c17
TS
44192017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4420
e70ab10d
TS
4421 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4422
345a8c17
TS
4423 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4424 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4425 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4426 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4427 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4428 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4429 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4430 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4431 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4432 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4433
dced339c
TS
44342017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4435
4436 * libgomp-plugin.h: #include <stdbool.h>.
4437 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4438 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4439 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4440 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4441 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4442 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4443 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4444 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4445 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4446 (GOMP_OFFLOAD_openacc_async_test)
4447 (GOMP_OFFLOAD_openacc_async_test_all)
4448 (GOMP_OFFLOAD_openacc_async_wait)
4449 (GOMP_OFFLOAD_openacc_async_wait_async)
4450 (GOMP_OFFLOAD_openacc_async_wait_all)
4451 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4452 (GOMP_OFFLOAD_openacc_async_set_async)
4453 (GOMP_OFFLOAD_openacc_create_thread_data)
4454 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4455 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4456 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4457 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4458 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4459 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4460 these.
4461 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4462 (GOMP_OFFLOAD_unload_image): Fix argument types.
4463
23749904
JJ
44642017-01-26 Jakub Jelinek <jakub@redhat.com>
4465
c1cadde1
JJ
4466 * testsuite/lib/libgomp.exp
4467 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4468 check_compile invocation. Fix up removal of executable. Drop
4469 bogus "2>&1" argument.
4470
23749904
JJ
4471 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4472 directive.
4473
44742017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
4475 Martin Jambor <mjambor@suse.cz>
4476
4477 * plugin/hsa.h: Moved to top level include.
4478 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4479
73aa401e
JJ
44802017-01-21 Jakub Jelinek <jakub@redhat.com>
4481
4482 PR other/79046
4483 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4484 of cat to get version from BASE-VER file.
4485 * testsuite/Makefile.in: Regenerated.
4486
b32e85fa
JJ
44872017-01-19 Jakub Jelinek <jakub@redhat.com>
4488
4489 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4490 for _WIN64.
4491
3c36aa6b
JJ
44922017-01-17 Jakub Jelinek <jakub@redhat.com>
4493
d190d5c0
JJ
4494 * plugin/hsa.h: Add GCC runtime library exception.
4495 * plugin/hsa_ext_finalize.h: Likewise.
4496
2393d337
JJ
4497 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4498 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4499 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4500 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4501 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4502 library to link ptx plugin against.
4503 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4504 (CUDA_CALLS): Define.
4505 (cuda_lib, cuda_lib_inited): New variables.
4506 (init_cuda_lib): New function.
4507 (CUDA_CALL_PREFIX): Define.
4508 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4509 (CUDA_CALL): Use FN instead of (FN).
4510 (CUDA_CALL_NOCHECK): Define.
4511 (cuda_error, fini_streams_for_device, select_stream_for_async,
4512 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4513 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4514 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4515 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4516 CUDA_CALL_NOCHECK.
4517 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4518 CUDA_CALL_NOCHECK.
4519 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4520 Use CUDA_CALL_NOCHECK.
4521 * plugin/cuda/cuda.h: New file.
4522 * config.h.in: Regenerated.
4523 * configure: Regenerated.
4524
3c36aa6b
JJ
4525 PR other/79046
4526 * configure.ac: Add GCC_BASE_VER.
4527 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4528 get version from BASE-VER file.
4529 * testsuite/Makefile.in: Regenerated.
4530 * configure: Regenerated.
4531 * Makefile.in: Regenerated.
4532
c508bc2d
FXC
45332017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4534
4535 PR libgomp/60670
4536 * Makefile.am: Make fincludedir multilib-aware.
4537 * Makefile.in: Regenerate.
4538
c1a9c369
JJ
45392017-01-01 Jakub Jelinek <jakub@redhat.com>
4540
cbe34bb5
JJ
4541 Update copyright years.
4542
c1a9c369
JJ
4543 * libgomp.texi: Bump @copying's copyright year.
4544
e7a7f4be
SH
45452016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4546
4547 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4548 pthread_spinlock_t instead of gomp_mutex_t lock.
4549 (gomp_get_thread_pool): Likewise.
4550 (gomp_release_thread_pool): Likewise.
4551 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4552 Likewise.
4553
d313d52c
SH
45542016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4555
4556 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4557 thread pool in case nthreads == 1.
4558
630e3c3a
AM
45592016-11-30 Alexander Monakov <amonakov@ispras.ru>
4560
4561 * config/nvptx/env.c: Delete.
4562 * icv.c: Move definitions of ICV variables back ...
4563 * env.c: ...here. Do not compile environment-related functionality if
4564 LIBGOMP_OFFLOADED_ONLY is set.
4565
9e38af5c
AM
45662016-11-30 Alexander Monakov <amonakov@ispras.ru>
4567
4568 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4569 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4570 * configure: Regenerate.
4571 * config.h.in: Likewise.
4572
f96b7f1f
AM
45732016-11-30 Alexander Monakov <amonakov@ispras.ru>
4574
4575 * Makefile.in: Regenerate with automake-1.11.6.
4576 * aclocal.m4: Likewise.
4577 * configure: Likewise.
4578 * testsuite/Makefile.in: Likewise.
4579
6a6951b1
AM
45802016-11-28 Alexander Monakov <amonakov@ispras.ru>
4581
4582 * config/nvptx/critical.c: Delete to use generic implementation.
4583
c7ac071f
JH
45842016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4585
4586 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4587 ../../affinity.c as fallback.
4588 * config/nvptx/affinity.c: Delete to use fallback implementation.
4589
6103184e 45902016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 4591 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
4592 Dmitry Melnik <dm@ispras.ru>
4593
4594 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4595 * Makefile.in. Regenerate.
4596 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4597 (LIBGOMP_USE_PTHREADS): ...here; new define.
4598 * configure: Regenerate.
4599 * config.h.in: Likewise.
4600 * config/posix/affinity.c: Move to...
4601 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4602 interface by LIBGOMP_USE_PTHREADS.
4603 * critical.c: Split out GOMP_atomic_{start,end} into...
4604 * atomic.c: ...here (new file).
4605 * env.c: Split out ICV definitions into...
4606 * icv.c: ...here (new file) and...
4607 * icv-device.c: ...here. New file.
4608 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4609 (gomp_destroy_lock_30): Ditto.
4610 (gomp_set_lock_30): Ditto.
4611 (gomp_unset_lock_30): Ditto.
4612 (gomp_test_lock_30): Ditto.
4613 (gomp_init_nest_lock_30): Ditto.
4614 (gomp_destroy_nest_lock_30): Ditto.
4615 (gomp_set_nest_lock_30): Ditto.
4616 (gomp_unset_nest_lock_30): Ditto.
4617 (gomp_test_nest_lock_30): Ditto.
4618 * lock.c: New.
4619 * config/nvptx/lock.c: New.
4620 * config/nvptx/bar.c: New.
4621 * config/nvptx/bar.h: New.
4622 * config/nvptx/doacross.h: New.
4623 * config/nvptx/error.c: New.
4624 * config/nvptx/icv-device.c: New.
4625 * config/nvptx/mutex.h: New.
4626 * config/nvptx/pool.h: New.
4627 * config/nvptx/proc.c: New.
4628 * config/nvptx/ptrlock.h: New.
4629 * config/nvptx/sem.h: New.
4630 * config/nvptx/simple-bar.h: New.
4631 * config/nvptx/target.c: New.
4632 * config/nvptx/task.c: New.
4633 * config/nvptx/team.c: New.
4634 * config/nvptx/time.c: New.
4635 * config/posix/simple-bar.h: New.
4636 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4637 (gomp_num_teams_var): Declare.
4638 (struct gomp_thread_pool): Change threads_dock member to
4639 gomp_simple_barrier_t.
4640 [__nvptx__] (gomp_thread): New implementation.
4641 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4642 (gomp_thread_destructor): Ditto.
4643 (gomp_init_thread_affinity): Ditto.
4644 * team.c: Guard uses of Pthreads-specific interfaces by
4645 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4646 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4647 * config/nvptx/alloc.c: Delete.
4648 * config/nvptx/barrier.c: Ditto.
4649 * config/nvptx/fortran.c: Ditto.
4650 * config/nvptx/iter.c: Ditto.
4651 * config/nvptx/iter_ull.c: Ditto.
4652 * config/nvptx/loop.c: Ditto.
4653 * config/nvptx/loop_ull.c: Ditto.
4654 * config/nvptx/ordered.c: Ditto.
4655 * config/nvptx/parallel.c: Ditto.
4656 * config/nvptx/priority_queue.c: Ditto.
4657 * config/nvptx/sections.c: Ditto.
4658 * config/nvptx/single.c: Ditto.
4659 * config/nvptx/splay-tree.c: Ditto.
4660 * config/nvptx/work.c: Ditto.
4661 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4662 -foffload=-lgfortran in addition to -lgfortran.
4663 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4664 * plugin/plugin-nvptx.c: Include <limits.h>.
4665 (struct targ_fn_descriptor): Add new fields.
4666 (struct ptx_device): Ditto. Set them...
4667 (nvptx_open_device): ...here.
4668 (nvptx_adjust_launch_bounds): New.
4669 (nvptx_host2dev): Allow NULL 'nvthd'.
4670 (nvptx_dev2host): Ditto.
4671 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4672 (link_ptx): Adjust log sizes.
4673 (nvptx_host2dev): Allow NULL 'nvthd'.
4674 (nvptx_dev2host): Ditto.
4675 (nvptx_set_clocktick): New. Use it...
4676 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4677 fields.
4678 (GOMP_OFFLOAD_dev2dev): New.
4679 (nvptx_adjust_launch_bounds): New.
4680 (nvptx_stacks_size): New.
4681 (nvptx_stacks_alloc): New.
4682 (nvptx_stacks_free): New.
4683 (GOMP_OFFLOAD_run): New.
4684 (GOMP_OFFLOAD_async_run): New (stub).
4685
56b1c60e
MJ
46862016-11-23 Martin Jambor <mjambor@suse.cz>
4687
4688 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4689 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4690 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4691
b8d89b03 46922016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 4693 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
4694
4695 * plugin/hsa.h: New file.
4696 * plugin/hsa_ext_finalize.h: New file.
4697 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4698 header file unistd.h, and functions secure_getenv, __secure_getenv,
4699 getuid, geteuid, getgid and getegid.
4700 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4701 -D_GNU_SOURCE.
4702 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4703 Handle various cases of secure_getenv presence, add an implementation
4704 when we can test effective UID and GID.
4705 (struct hsa_runtime_fn_info): New structure.
4706 (hsa_runtime_fn_info hsa_fns): New variable.
4707 (hsa_runtime_lib): Likewise.
4708 (support_cpu_devices): Likewise.
4709 (init_enviroment_variables): Load newly introduced ENV
4710 variables.
4711 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4712 (hsa_fatal): Likewise.
4713 (DLSYM_FN): New macro.
4714 (init_hsa_runtime_functions): New function.
4715 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4716 structure. Depending on environment, also allow CPU devices.
4717 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4718 (get_kernarg_memory_region): Likewise.
4719 (GOMP_OFFLOAD_init_device): Likewise.
4720 (destroy_hsa_program): Likewise.
4721 (init_basic_kernel_info): New function.
4722 (GOMP_OFFLOAD_load_image): Use it.
4723 (create_and_finalize_hsa_program): Call hsa run-time functions via
4724 hsa_fns structure.
4725 (create_single_kernel_dispatch): Likewise.
4726 (release_kernel_dispatch): Likewise.
4727 (init_single_kernel): Likewise.
4728 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4729 (get_group_size): New function.
4730 (run_kernel): Likewise.
4731 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4732 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4733 structure.
4734 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4735 * testsuite/libgomp-test-support.exp.in: Likewise.
4736 * Makefile.in: Regenerated.
4737 * aclocal.m4: Likewise.
4738 * config.h.in: Likewise.
4739 * configure: Likewise.
4740 * testsuite/Makefile.in: Likewise.
4741
18d2ada8 47422016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 4743 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
4744
4745 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4746 mapping clauses to target constructs.
4747 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4748
84c1b9d3
MK
47492016-11-15 Matthias Klose <doko@ubuntu.com>
4750
4751 * configure: Regenerate.
4752
b4c3a85b
JJ
47532016-11-10 Jakub Jelinek <jakub@redhat.com>
4754
8ebd1b31
JJ
4755 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4756 * omp_lib.h.in (openmp_version): Likewise.
4757 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4758 of 201307.
4759 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4760
b4c3a85b
JJ
4761 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4762 (fib_wrapper): Add map(from: x) clause.
4763 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4764 (e_53_2): Likewise.
4765 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4766 (accum): Add map(tmp) clause.
4767 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4768 (accum): Add map(tofrom: tmp) clause.
4769 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4770 (gramSchmidt): Likewise.
4771 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4772 map(tofrom: sum) clause.
4773 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4774 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4775 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4776 only allowed on the loop iterator.
4777 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4778 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4779 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4780 * testsuite/libgomp.fortran/doacross1.f90: New test.
4781 * testsuite/libgomp.fortran/doacross3.f90: New test.
4782 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4783 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4784 * testsuite/libgomp.fortran/doacross2.f90: New test.
4785 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4786 #pragma omp atomic read.
4787 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4788 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4789
6668eb45
CP
47902016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4791 Nathan Sidwell <nathan@acm.org>
4792
4793 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4794 to determine default geometry.
4795 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4796 dimension.
4797
f10e37a1
JJ
47982016-11-01 Jakub Jelinek <jakub@redhat.com>
4799
4800 * hashtab.h: Use standard GPLv3 with runtime exception
4801 boilerplate.
4802
015c7760
AH
48032016-10-27 Aldy Hernandez <aldyh@redhat.com>
4804
4805 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4806 size when allocating new thread.
4807
20a1e5b8
MP
48082016-09-14 Marek Polacek <polacek@redhat.com>
4809
4810 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4811
1cad9284
JJ
48122016-08-19 Jakub Jelinek <jakub@redhat.com>
4813
4814 PR fortran/71014
4815 * testsuite/libgomp.fortran/pr71014.f90: New test.
4816
2c71d454
CLT
48172016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4818
4819 PR middle-end/70895
4820 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4821 firstprivate clauses.
4822 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4823 copy clauses.
4824 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4825 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4826 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4827 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4828 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4829 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4830 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4831 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4832 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4833 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4834 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4835 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4836
7c713714
CLT
48372016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4838
4839 PR fortran/70598
4840 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4841
5c934396
JJ
48422016-08-08 Jakub Jelinek <jakub@redhat.com>
4843
4844 PR c++/58706
4845 * testsuite/libgomp.c++/pr58706.C: New test.
4846
9ef64248
TS
48472016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4848
bbc79c0e
TS
4849 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4850 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4851 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4852 Likewise.
4853 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4854 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4855 Likewise.
4856 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4857
9ef64248
TS
4858 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4859 test, and don't hardcode -O0.
4860
c1311c86
NS
48612016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4862
4863 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4864
b1c9c068
CP
48652016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4866
4867 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4868 test.
4869
b4410f63
L
48702016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4871
4872 PR middle-end/71734
4873 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4874 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4875
a8dbab92
JJ
48762016-07-01 Jakub Jelinek <jakub@redhat.com>
4877
4878 PR fortran/71717
4879 * testsuite/libgomp.fortran/associate3.f90: New test.
4880
9b6a8d0f
JJ
48812016-06-17 Jakub Jelinek <jakub@redhat.com>
4882
4883 * testsuite/libgomp.c++/target-21.C: New test.
4884
283635f9
JJ
48852016-06-16 Jakub Jelinek <jakub@redhat.com>
4886
4887 * testsuite/libgomp.c++/target-20.C: New test.
4888
27d6ba88
TS
48892016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4890 Cesar Philippidis <cesar@codesourcery.com>
4891
4892 PR middle-end/71373
4893 * libgomp.oacc-c/nested-function-1.c: New file.
4894 * libgomp.oacc-c/nested-function-2.c: Likewise.
4895 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4896 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4897 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4898
4b1ffdb1
TS
48992016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4900
4901 PR c/71381
4902 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4903 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4904 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4905
d821b794
CLT
49062016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4907
4908 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4909 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4910
3616a8c5
CP
49112016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4912
4913 PR c/70688
5eed9a88 4914 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 4915
7211a097
JJ
49162016-05-26 Jakub Jelinek <jakub@redhat.com>
4917
4918 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4919 instead of invalid schedule(static, 0).
4920 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4921
b4557008
CLT
49222016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4923
4924 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4925 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4926 parameter, use to set async stream around call to gomp_unmap_vars,
4927 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4928 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4929 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4930 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4931 (event_add): Add int parameter, initialize 'val' field when
4932 adding new ptx_event struct.
4933 (nvptx_evec): Adjust event_add() call arguments.
4934 (nvptx_host2dev): Likewise.
4935 (nvptx_dev2host): Likewise.
4936 (nvptx_wait_async): Likewise.
4937 (nvptx_wait_all_async): Likewise.
4938 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4939 pass to event_add() call.
4940 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4941 parameter.
4942 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4943 call openacc.register_async_cleanup_func() hook.
4944 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4945 * target.c (gomp_copy_from_async): Delete function.
4946 (gomp_map_vars): Remove async_refcount.
4947 (gomp_unmap_vars): Likewise.
4948 (gomp_load_image_to_device): Likewise.
4949 (omp_target_associate_ptr): Likewise.
4950 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4951 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4952 (gomp_copy_from_async): Remove.
4953
6ce13072
CLT
49542016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4955
4956 * target.c (gomp_device_copy): New function.
4957 (gomp_copy_host2dev): Likewise.
4958 (gomp_copy_dev2host): Likewise.
4959 (gomp_free_device_memory): Likewise.
4960 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4961 (gomp_map_pointer): Likewise.
4962 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4963 NULL value from alloc_func plugin hook.
4964 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4965 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4966 (gomp_unmap_vars): Likewise.
4967 (gomp_update): Adjust to call gomp_copy_dev2host and
4968 gomp_copy_host2dev functions.
4969 (gomp_unload_image_from_device): Handle false value from
4970 unload_image_func plugin hook.
4971 (gomp_init_device): Handle false value from init_device_func
4972 plugin hook.
4973 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4974 (omp_target_free): Adjust to call gomp_free_device_memory.
4975 (omp_target_memcpy): Handle return values from host2dev_func,
4976 dev2host_func, and dev2dev_func plugin hooks.
4977 (omp_target_memcpy_rect_worker): Likewise.
4978 (gomp_target_fini): Handle false value from fini_device_func
4979 plugin hook.
4980 * libgomp.h (struct gomp_device_descr): Adjust return type of
4981 init_device_func, fini_device_func, unload_image_func, free_func,
4982 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4983 * oacc-init.c (acc_shutdown_1): Handle false value from
4984 fini_device_func plugin hook.
4985 * oacc-host.c (host_init_device): Change return type to bool.
4986 (host_fini_device): Likewise.
4987 (host_unload_image): Likewise.
4988 (host_free): Likewise.
4989 (host_dev2host): Likewise.
4990 (host_host2dev): Likewise.
4991 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4992 (acc_memcpy_to_device): Likewise.
4993 (acc_memcpy_from_device): Likewise.
4994 (delete_copyout): Add libfnname parameter, handle free_func
4995 hook fatal error case.
4996 (acc_delete): Adjust delete_copyout call.
4997 (acc_copyout): Likewise.
4998 (update_dev_host): Move gomp_mutex_unlock to after
4999 host2dev/dev2host hook calls.
5000
5001 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5002 to 'hsa_error_msg', for clarity.
5003 (hsa_fatal): Likewise.
5004 (hsa_error): New function.
5005 (init_hsa_context): Change return type to bool, adjust to return
5006 false on error.
5007 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5008 return value.
5009 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5010 return false on error.
5011 (get_agent_info): Adjust to return NULL on error.
5012 (destroy_hsa_program): Change return type to bool, adjust to
5013 return false on error.
5014 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5015 (destroy_module): Change return type to bool, adjust to
5016 return false on error.
5017 (GOMP_OFFLOAD_unload_image): Likewise.
5018 (GOMP_OFFLOAD_fini_device): Likewise.
5019 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5020 (GOMP_OFFLOAD_free): Change to return false when called.
5021 (GOMP_OFFLOAD_dev2host): Likewise.
5022 (GOMP_OFFLOAD_host2dev): Likewise.
5023 (GOMP_OFFLOAD_dev2dev): Likewise.
5024
5025 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5026 (CUDA_CALL): Likewise.
5027 (CUDA_CALL_ASSERT): Likewise.
5028 (map_init): Change return type to bool, use CUDA_CALL* macros.
5029 (map_fini): Likewise.
5030 (init_streams_for_device): Change return type to bool, adjust
5031 call to map_init.
5032 (fini_streams_for_device): Change return type to bool, adjust
5033 call to map_fini.
5034 (select_stream_for_async): Release stream_lock before calls to
5035 GOMP_PLUGIN_fatal, adjust call to map_init.
5036 (nvptx_init): Use CUDA_CALL* macros.
5037 (nvptx_attach_host_thread_to_device): Change return type to bool,
5038 use CUDA_CALL* macros.
5039 (nvptx_open_device): Use CUDA_CALL* macros.
5040 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5041 macros.
5042 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5043 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5044 (nvptx_exec): Use CUDA_CALL* macros.
5045 (nvptx_alloc): Use CUDA_CALL* macros.
5046 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5047 (nvptx_host2dev): Likewise.
5048 (nvptx_dev2host): Likewise.
5049 (nvptx_wait): Use CUDA_CALL* macros.
5050 (nvptx_wait_async): Likewise.
5051 (nvptx_wait_all): Likewise.
5052 (nvptx_wait_all_async): Likewise.
5053 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5054 use CUDA_CALL* macros, adjust call to map_fini.
5055 (GOMP_OFFLOAD_init_device): Change return type to bool,
5056 adjust code accordingly.
5057 (GOMP_OFFLOAD_fini_device): Likewise.
5058 (GOMP_OFFLOAD_load_image): Adjust calls to
5059 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5060 use CUDA_CALL* macros.
5061 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5062 return code.
5063 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5064 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5065 handle error return.
5066 (GOMP_OFFLOAD_dev2host): Likewise.
5067 (GOMP_OFFLOAD_host2dev): Likewise.
5068 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5069 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5070
e46c7770
CP
50712016-05-24 Cesar Philippidis <cesar@codesourcery.com>
5072
5073 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5074 (acc_free): Likewise.
5075 (acc_memcpy_to_device): Likewise.
5076 (acc_memcpy_from_device): Likewise.
5077 (acc_deviceptr): Likewise.
5078 (acc_hostptr): Likewise.
5079 (acc_is_present): Likewise.
5080 (acc_map_data): Likewise.
5081 (acc_unmap_data): Likewise.
5082 (present_create_copy): Likewise.
5083 (delete_copyout): Likewise.
5084 (update_dev_host): Likewise.
5085 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5086 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5087 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5088 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5089 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5090 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5091 it only runs on nvptx targets.
5092 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5093 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5094 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5095 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5096 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5097 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5098 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5099 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5100 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5101 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5102 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5103 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5104 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5105 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5106 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5107 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5108 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5109 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5110 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5111 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5112 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5113 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5114 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5115
a5057543
MJ
51162016-05-23 Martin Jambor <mjambor@suse.cz>
5117
5118 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5119
e37288a6
CLT
51202016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
5121
5122 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5123 to gomp_init_targets_once.
5124 (acc_set_device_type): Remove !cached_base_dev condition on call to
5125 gomp_init_targets_once, move call to before acc_device_lock acquire,
5126 to avoid deadlock.
5127 (acc_get_device_num): Remove !cached_base_dev condition on call to
5128 gomp_init_targets_once.
5129 (acc_set_device_num): Likewise.
5130
51d9ed48
MJ
51312016-05-16 Martin Jambor <mjambor@suse.cz>
5132
92a285c1 5133 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 5134
5b37e866
NS
51352016-05-02 Nathan Sidwell <nathan@codesourcery.com>
5136
5137 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5138 expected partitioning.
5139
e7ff0319
CP
51402016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5141
5142 PR middle-end/70626
5143 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5144 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5145 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5146
c2bd3b69
AM
51472016-04-21 Alexander Monakov <amonakov@ispras.ru>
5148
5149 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5150 non-fatal.
5151
84311083
JJ
51522016-04-19 Jakub Jelinek <jakub@redhat.com>
5153
5154 PR middle-end/70680
5155 * testsuite/libgomp.c/pr70680-1.c: New test.
5156 * testsuite/libgomp.c/pr70680-2.c: New test.
5157
aadc043f
CP
51582016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5159
5160 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5161 pass parameter variables to subroutines.
5162
e387fc64
CP
51632016-04-14 Cesar Philippidis <cesar@codesourcery.com>
5164
5165 PR middle-end/70643
5166 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5167
10c3c424
CP
51682016-04-13 Cesar Philippidis <cesar@codesourcery.com>
5169
5170 PR testsuite/68242
5171 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5172 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5173
27f9add3
TS
51742016-04-12 Thomas Schwinge <thomas@codesourcery.com>
5175
58d32aeb
TS
5176 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5177 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5178 GOACC_declare prototype.
5179
d97633ef
TS
5180 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5181 Merge this file, and...
5182 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5183 ... this file, and...
5184 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5185 ... this file, and...
5186 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5187 ... this file, and...
5188 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5189 ... this file, and...
5190 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5191 ... this file, and...
5192 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5193 ... this file, and...
5194 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5195 ... this file, and...
5196 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5197 ... this file, and...
5198 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5199 ... this file, and...
5200 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5201 ... this file, and...
5202 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5203 ... this file, and...
5204 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5205 ... this file into...
5206 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5207 file.
5208
27f9add3
TS
5209 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5210 Make failure observable.
5211
21f3a236
JJ
52122016-04-12 Jakub Jelinek <jakub@redhat.com>
5213
5214 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5215 field.
5216 * target.c (gomp_target_fallback_firstprivate,
5217 gomp_target_unshare_firstprivate): Removed.
5218 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5219 before waiting for dependencies.
5220 (gomp_target_task_fn): Don't copy firstprivate vars here.
5221 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5222 firstprivate_copies here.
5223 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5224 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5225 explicit/implicit firstprivate.
5226
c42cfb5c
CP
52272016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5228
5229 PR lto/70289
5230 PR ipa/70348
5231 PR tree-optimization/70373
5232 PR middle-end/70533
5233 PR middle-end/70534
5234 PR middle-end/70535
5235 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5236 test.
5237 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5238 test.
5239 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5240 test.
5241 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5242 test.
5243 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5244 test.
5245 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5246 test.
5247 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5248 test.
5249 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5250 test.
5251 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5252 test.
5253 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5254 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5255 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5256 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5257 test.
5258 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5259 test.
5260 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5261 test.
5262 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5263 test.
5264 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5265 coverage.
5266 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5267 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5268 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5269 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5270 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5271 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5272 coverage.
5273 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5274 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5275 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5276 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5277 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5278 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5279 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5280 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5281 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5282 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5283 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5284 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5285 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5286 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5287 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5288
2620c80d
TS
52892016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5290 James Norris <jnorris@codesourcery.com>
5291 Nathan Sidwell <nathan@codesourcery.com>
5292 Julian Brown <julian@codesourcery.com>
5293 Cesar Philippidis <cesar@codesourcery.com>
5294 Chung-Lin Tang <cltang@codesourcery.com>
5295 Tom de Vries <tom@codesourcery.com>
5296
5297 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5298 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5299 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5300 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5301 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5302 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5303 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5304 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5305 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5306 XFAIL.
5307 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5308 Incorporate...
5309 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5310 file.
5311 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5312 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5313 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5314 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5315 Likewise.
5316 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5317 Likewise.
5318 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5319 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5320 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5321 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5322 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5323 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5324 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5325 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5326 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5327 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5328 Likewise.
5329 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5330 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5331 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5332 file...
5333 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5334 file into...
5335 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5336 file. Update.
5337 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5338 file.
5339 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5340 Likewise.
5341 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5342 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5343 ... this new file. Update.
5344 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5345 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5346 ... this new file. Update.
5347 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5348 file. Incorporate...
5349 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5350 file, and...
5351 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5352 file, and...
5353 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5354 file.
5355 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5356
ce83104b
TS
53572016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5358
5359 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5360 set-torture-options.
5361
6e0df3b7
TS
53622016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5363
5364 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5365 gcc-dg-runtest.
5366 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5367 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5368 -fno-builtin-acc_on_device instead of -O0.
5369 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5370 -O0.
5371 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5372 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5373 Likewise.
5374 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5375 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5376 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5377 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5378 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5379 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5380 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5381 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5382 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5383 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5384 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5385 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5386 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5387 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5388 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5389 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5390 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5391 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5392 Don't specify -O2.
5393 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5394 Likewise.
5395 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5396 Likewise.
5397
f9c8babb
ML
53982016-03-24 Martin Liska <mliska@suse.cz>
5399
5400 * plugin/plugin-hsa.c (packet_store_release): New function
5401 that is taken from the HSA runtime manual.
5402 (GOMP_OFFLOAD_run): Use the function.
5403
04833609
JJ
54042016-03-23 Jakub Jelinek <jakub@redhat.com>
5405
5406 PR c++/70376
5407 * testsuite/libgomp.c++/pr70376.C: New test.
5408
d79ee524
TV
54092016-03-23 Tom de Vries <tom@codesourcery.com>
5410
5411 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5412 initialization of lresult and lvresult.
5413 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5414
b6d1f2b5
JN
54152016-03-23 James Norris <jnorris@codesourcery.com>
5416 Daichi Fukuoka <dc-fukuoka@sgi.com>
5417
5418 PR libgomp/69414
5419 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5420 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5421 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5422 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5423
7397fce2
ML
54242016-03-23 Martin Liska <mliska@suse.cz>
5425
5426 PR hsa/70337
5427 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5428 argument just in case a dispatched kernel uses that argument.
5429
ee2e7d51
TS
54302016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5431
5432 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5433 -ftree-parallelize-loops/-fopenacc changes.
5434 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5435 Likewise.
5436 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5437 Likewise.
5438 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5439 Likewise.
5440 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5441 Likewise.
5442 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5443 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5444
be9f7143
TS
54452016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5446
5447 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5448 always_ld_library_path the path to libgcc_s.
5449
f6c1032d
CP
54502016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5451
5452 PR testsuite/70009
5453 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5454
5a6452e6
TV
54552016-03-09 Tom de Vries <tom@codesourcery.com>
5456
5457 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5458 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5459 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5460 Same.
5461 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5462 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5463 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5464 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5465
96a71bd5
MJ
54662016-03-07 Martin Jambor <mjambor@suse.cz>
5467
5468 * testsuite/lib/libgomp.exp
5469 (check_effective_target_hsa_offloading_selected_nocache): New.
5470 (check_effective_target_hsa_offloading_selected): Likewise.
5471 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5472 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5473 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5474 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5475 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5476 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5477 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5478 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5479 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5480 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5481 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5482 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5483 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5484 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5485 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5486 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5487 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5488
02e0b5b2
MJ
54892016-03-07 Martin Jambor <mjambor@suse.cz>
5490
5491 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5492 non-shared memory accelerators.
5493 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5494 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5495 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5496 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5497 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5498 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5499 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5500 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5501 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5502
45548f30
MJ
55032016-03-07 Martin Jambor <mjambor@suse.cz>
5504
5505 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5506 ALWAYS_CFLAGS.
5507
da3d46cb
JJ
55082016-03-02 Jakub Jelinek <jakub@redhat.com>
5509
5510 PR libgomp/69555
5511 * testsuite/libgomp.c++/pr69555-1.C: New test.
5512 * testsuite/libgomp.c++/pr69555-2.C: New test.
5513
622174b2
KM
55142016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5515 Martin Jambor <mjambor@suse.cz>
5516
5517 * testsuite/lib/libgomp.exp
5518 (check_effective_target_offload_device_shared_as): New proc.
5519 * testsuite/libgomp.c++/declare_target-1.C: New test.
5520
e6861a99
IV
55212016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5522
5523 PR driver/68463
5524 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5525
f99c3557
TS
55262016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5527
5528 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5529 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5530 dims.
5531 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5532 -ftree-parallelize-loops/-fopenacc changes.
5533 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5534 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5535 Likewise.
5536 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5537 Likewise.
5538 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5539 Likewise.
5540 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5541 Likewise.
5542 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5543 Likewise.
5544 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5545 Likewise.
5546 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5547 Likewise.
5548 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5549 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5550 Likewise.
5551 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5552 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5553 Likewise.
5554 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5555 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5556 Likewise.
5557
d5ace3b5
CP
55582016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5559
5560 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5561
f3609a89
JJ
55622016-02-19 Jakub Jelinek <jakub@redhat.com>
5563
5564 PR driver/69805
5565 * testsuite/libgomp.c/pr69805.c: New test.
5566
2175df99
TV
55672016-02-16 Tom de Vries <tom@codesourcery.com>
5568
5569 PR lto/67709
5570 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5571
17b6426c
TV
55722016-02-09 Tom de Vries <tom@codesourcery.com>
5573
5574 PR tree-optimization/69599
5575 * testsuite/libgomp.c/omp-nested-3.c: New test.
5576 * testsuite/libgomp.c/pr46032-2.c: New test.
5577 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5578 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5579
34df756c
TV
55802016-02-09 Tom de Vries <tom@codesourcery.com>
5581
5582 PR lto/69707
5583 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5584
5854ee30
AM
55852016-02-02 Alexander Monakov <amonakov@ispras.ru>
5586
5587 * testsuite/libgomp.c/target-31.c: Fix testcase.
5588
e70b6ad7
AM
55892016-02-02 Alexander Monakov <amonakov@ispras.ru>
5590
5591 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5592 clause.
5593 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5594 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5595 reduction and map clauses.
5596 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5597
bd78a45f
JN
55982016-02-02 James Norris <jnorris@codesourcery.com>
5599
5600 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5601
41d809d3
TS
56022016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5603
18f60146
TS
5604 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5605 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5606
1a06f5e6
TS
5607 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5608 cases.
5609
033ff3d1
TS
5610 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5611 variables.
5612 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5613 (hsa_kmt_lib): Set variables.
5614 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5615 always_ld_library_path.
5616 * Makefile.in: Regenerate.
5617 * configure: Likewise.
5618 * testsuite/Makefile.in: Likewise.
5619
4a88d9b7
TS
5620 * plugin/configfrag.ac (offload_additional_options)
5621 (offload_additional_lib_paths): Don't amend for hsa offloading.
5622 * configure: Regenerate.
5623
41d809d3
TS
5624 * plugin/configfrag.ac: Don't configure for offloading target if
5625 we don't build the corresponding plugin.
5626 * configure: Regenerate.
5627
b6adbb9f
NS
56282016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5629
5630 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5631 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5632
8dfdb419
TV
56332016-01-26 Tom de Vries <tom@codesourcery.com>
5634
5635 PR tree-optimization/69110
5636 * testsuite/libgomp.c/pr69110.c: New test.
5637
02ef53f2
RB
56382016-01-25 Richard Biener <rguenther@suse.de>
5639
5640 PR lto/69393
5641 * testsuite/libgomp.c++/pr69393.C: New testcase.
5642
eb4048f2
IV
56432016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5644
5645 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5646 function wasn't mapped to the device with non-shared memory.
5647
b235cdd5
IV
56482016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5649
5650 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5651
b2b40051
MJ
56522016-01-19 Martin Jambor <mjambor@suse.cz>
5653 Martin Liska <mliska@suse.cz>
5654
5655 * plugin/Makefrag.am: Add HSA plugin requirements.
5656 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5657 (HSA_RUNTIME_LIB): Likewise.
5658 (HSA_RUNTIME_CPPFLAGS): Likewise.
5659 (HSA_RUNTIME_INCLUDE): New substitution.
5660 (HSA_RUNTIME_LIB): Likewise.
5661 (HSA_RUNTIME_LDFLAGS): Likewise.
5662 (hsa-runtime): New configure option.
5663 (hsa-runtime-include): Likewise.
5664 (hsa-runtime-lib): Likewise.
5665 (PLUGIN_HSA): New substitution variable.
5666 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5667 configure options.
5668 (PLUGIN_HSA_CPPFLAGS): Likewise.
5669 (PLUGIN_HSA_LDFLAGS): Likewise.
5670 (PLUGIN_HSA_LIBS): Likewise.
5671 Check that we have access to HSA run-time.
5672 * libgomp-plugin.h (offload_target_type): New element
5673 OFFLOAD_TARGET_TYPE_HSA.
5674 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5675 args.
5676 (bool gomp_create_target_task): Updated.
5677 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5678 new field can_run_func.
5679 * libgomp_g.h (GOMP_target_ext): Update prototype.
5680 * oacc-host.c (host_run): Added a new parameter args.
5681 * target.c (calculate_firstprivate_requirements): New function.
5682 (copy_firstprivate_data): Likewise.
5683 (gomp_target_fallback_firstprivate): Use them.
5684 (gomp_target_unshare_firstprivate): New function.
5685 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5686 devices.
5687 (GOMP_target): Do host fallback for all shared memory devices. Do not
5688 pass any args to plugins.
5689 (GOMP_target_ext): Introduce device-specific argument parameter args.
5690 Allow host fallback if device shares memory. Do not remap data if
5691 device has shared memory.
5692 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5693 like host fallback for mappings.
5694 (GOMP_target_data): Treat shared memory devices like host fallback.
5695 (GOMP_target_data_ext): Likewise.
5696 (GOMP_target_update): Likewise.
5697 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5698 gomp_create_target_task.
5699 (GOMP_target_enter_exit_data): Likewise.
5700 (omp_target_alloc): Treat shared memory devices like host fallback.
5701 (omp_target_free): Likewise.
5702 (omp_target_is_present): Likewise.
5703 (omp_target_memcpy): Likewise.
5704 (omp_target_memcpy_rect): Likewise.
5705 (omp_target_associate_ptr): Likewise.
5706 (gomp_load_plugin_for_device): Also load can_run.
5707 * task.c (GOMP_PLUGIN_target_task_completion): Free
5708 firstprivate_copies.
5709 (gomp_create_target_task): Accept new argument args and store it to
5710 ttask.
5711 * plugin/plugin-hsa.c: New file.
5712
5d7804a9
TV
57132016-01-18 Tom de Vries <tom@codesourcery.com>
5714
5715 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5716 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5717 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5718 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5719 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5720 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5721 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5722 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5723 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5724 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5725 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5726 Same.
5727 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5728 Same.
5729 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5730 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5731 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5732 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5733 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5734 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5735 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5736 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5737 Same.
5738 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5739
cb11f3cf
JJ
57402016-01-15 Jakub Jelinek <jakub@redhat.com>
5741
5742 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5743
33a126a6
CP
57442016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5745
5746 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5747
cdf6119d
JN
57482016-01-12 James Norris <jnorris@codesourcery.com>
5749
5750 * libgomp.texi: Updates for OpenACC.
5751
0d58938e
AM
57522016-01-11 Alexander Monakov <amonakov@ispras.ru>
5753
5754 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5755
95918b49
L
57562016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5757
5758 PR fortran/66680
5759 * testsuite/libgomp.fortran/pr66680.f90: New test.
5760
8fc708b7
JJ
57612016-01-07 Jakub Jelinek <jakub@redhat.com>
5762
5763 PR middle-end/68960
5764 * testsuite/libgomp.c/pr68960.c: New test.
5765
e9b596c1
NS
57662016-01-06 Nathan Sidwell <nathan@acm.org>
5767
1a14faf2 5768 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
5769 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5770
21fa2a29
JJ
57712016-01-04 Jakub Jelinek <jakub@redhat.com>
5772
818ab71a
JJ
5773 Update copyright years.
5774
21fa2a29
JJ
5775 * libgomp.texi: Bump @copying's copyright year.
5776
9310efbc
NS
57772015-12-31 Nathan Sidwell <nathan@acm.org>
5778
5779 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5780 dg-additional-options syntax.
5781 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5782 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5783 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5784 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5785 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5786 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5787 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5788 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5789 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5790 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5791 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5792 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5793 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5794 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5795 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5796 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5797 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5798 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5799
4a38b02b
IV
58002015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5801
5802 * libgomp.h (REFCOUNT_LINK): Define.
5803 (struct splay_tree_key_s): Add link_key.
5804 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5805 Replace target address of the pointer with target address of newly
5806 mapped object in the splay tree. Set link pointer on target to the
5807 device address of the mapped object.
5808 (gomp_unmap_vars): Restore target address of the pointer in the splay
5809 tree for REFCOUNT_LINK objects after unmapping.
5810 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5811 declare target link" objects.
5812 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5813 "omp declare target link" objects, which were mapped for the image.
5814 (gomp_exit_data): Restore target address of the pointer in the splay
5815 tree for REFCOUNT_LINK objects after unmapping.
5816 * testsuite/libgomp.c/target-link-1.c: New file.
5817
d84ffc0a
IV
58182015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5819
5820 * libgomp.h (gomp_device_state): New enum.
5821 (struct gomp_device_descr): Replace is_initialized with state.
5822 (gomp_fini_device): Remove declaration.
5823 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5824 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5825 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5826 (acc_set_device_type): Use state instead of is_initialized.
5827 (acc_set_device_num): Likewise.
5828 * target.c (resolve_device): Use state instead of is_initialized.
5829 Do not initialize finalized device.
5830 (gomp_map_vars): Do nothing if device is finalized.
5831 (gomp_unmap_vars): Likewise.
5832 (gomp_update): Likewise.
5833 (GOMP_offload_register_ver): Use state instead of is_initialized.
5834 (GOMP_offload_unregister_ver): Likewise.
5835 (gomp_init_device): Likewise.
5836 (gomp_unload_device): Likewise.
5837 (gomp_fini_device): Remove.
5838 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5839 (GOMP_target): Go to host fallback if device is finalized.
5840 (GOMP_target_ext): Likewise.
5841 (gomp_exit_data): Do nothing if device is finalized.
5842 (gomp_target_task_fn): Go to host fallback if device is finalized.
5843 (gomp_target_fini): New static function.
5844 (gomp_target_init): Use state instead of is_initialized.
5845 Call gomp_target_fini at exit.
5846
76680678
TV
58472015-12-09 Tom de Vries <tom@codesourcery.com>
5848
5849 PR tree-optimization/68716
5850 * testsuite/libgomp.c/omp-nested-2.c: New test.
5851
ff7a55bf
TS
58522015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5853
5854 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5855 target openacc_nvidia_accel_selected.
5856 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5857 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5858 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5859 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5860
37d5ad46
JB
58612015-12-01 Julian Brown <julian@codesourcery.com>
5862 James Norris <James_Norris@mentor.com>
5863
5864 * oacc-parallel.c (GOACC_host_data): New function.
5865 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5866 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5867 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5868 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5869 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5870 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5871 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5872
db941d7e
CP
58732015-11-30 James Norris <jnorris@codesourcery.com>
5874 Cesar Philippidis <cesar@codesourcery.com>
5875
5876 libgomp/
5877 * libgomp.oacc-fortran/routine-5.f90: New test.
5878 * libgomp.oacc-fortran/routine-7.f90: New test.
5879 * libgomp.oacc-fortran/routine-9.f90: New test.
5880
e0ca27c5
TV
58812015-11-30 Tom de Vries <tom@codesourcery.com>
5882
5883 PR tree-optimization/46032
5884 * testsuite/libgomp.c/pr46032.c: New test.
5885
aec17bfe
JJ
58862015-11-27 Jakub Jelinek <jakub@redhat.com>
5887
8e4e4719
JJ
5888 PR libgomp/68579
5889 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5890 (gomp_create_target_task): Call it before freeing
5891 GOMP_TARGET_TASK_DATA tasks.
5892
aec17bfe
JJ
5893 PR c/63326
5894 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5895 in between case label and OpenMP standalone directives.
5896 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5897
6cfe90e6
DE
58982015-11-26 David Edelsohn <dje.gcc@gmail.com>
5899
5900 * configure: Regenerate.
5901
0e65fd7d
JJ
59022015-11-26 Jakub Jelinek <jakub@redhat.com>
5903
5904 * testsuite/libgomp.c/target-35.c: New test.
5905
dc7a8b4b
JN
59062015-11-22 James Norris <jnorris@codesourcery.com>
5907 Cesar Philippidis <cesar@codesourcery.com>
5908
5909 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5910 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5911 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5912 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5913 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5914
48a78aee
JJ
59152015-11-20 Jakub Jelinek <jakub@redhat.com>
5916
5917 PR middle-end/68221
5918 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5919 * testsuite/libgomp.c/reduction-12.c: Likewise.
5920 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5921 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5922
2d256816
NS
59232015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5924
5925 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5926 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5927 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5928 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5929 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5930 and fix.
5931 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5932 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5933
33f47f42
NS
59342015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5935
5936 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5937 worker & gang cases.
5938 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5939
3d7bfee0
CP
59402015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5941
5942 * config/nvptx/priority_queue.c: New file.
5943
00b9bd52
JJ
59442015-11-14 Jakub Jelinek <jakub@redhat.com>
5945
5946 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5947 sections.
5948
e4606348
JJ
59492015-11-14 Jakub Jelinek <jakub@redhat.com>
5950 Aldy Hernandez <aldyh@redhat.com>
5951 Ilya Verbin <ilya.verbin@intel.com>
5952
5953 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5954 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5955 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5956 iterators or IV by chunk size.
5957 * parallel.c (gomp_resolve_num_threads): Don't assume that
5958 if thr->ts.team is non-NULL, then pool must be non-NULL.
5959 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5960 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5961 GOMP_PLUGIN_target_task_completion.
5962 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5963 * Makefile.in: Regenerate.
5964 * libgomp.h: Shuffle prototypes and forward definitions around so
5965 priority queues can be defined.
5966 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5967 (enum gomp_target_task_state): New enum.
5968 (struct gomp_target_task): Add state, tgt, task and team fields.
5969 (gomp_create_target_task): Change return type to bool, add
5970 state argument.
5971 (gomp_target_task_fn): Change return type to bool.
5972 (struct gomp_device_descr): Add async_run_func.
5973 (struct gomp_task): Remove children, next_child, prev_child,
5974 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5975 Add pnode field.
5976 (struct gomp_taskgroup): Remove children.
5977 Add taskgroup_queue.
5978 (struct gomp_team): Change task_queue type to a priority queue.
5979 (splay_compare): Define inline.
5980 (priority_queue_offset): New.
5981 (priority_node_to_task): New.
5982 (task_to_priority_node): New.
5983 * oacc-mem.c: Do not include splay-tree.h.
5984 * priority_queue.c: New file.
5985 * priority_queue.h: New file.
5986 * splay-tree.c: Do not include splay-tree.h.
5987 (splay_tree_foreach_internal): New.
5988 (splay_tree_foreach): New.
5989 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5990 (splay_tree_callback): Define typedef.
5991 * target.c (splay_compare): Move to libgomp.h.
5992 (GOMP_target): Don't adjust *thr in any way around running offloaded
5993 task.
5994 (GOMP_target_ext): Likewise. Handle target nowait.
5995 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5996 return value from gomp_create_target_task, if false, fallthrough
5997 as if no dependencies exist.
5998 (gomp_target_task_fn): Change return type to bool, return true
5999 if the task should have another part scheduled later. Handle
6000 target nowait.
6001 (gomp_load_plugin_for_device): Initialize async_run.
6002 * task.c (gomp_init_task): Initialize children_queue.
6003 (gomp_clear_parent_in_list): New.
6004 (gomp_clear_parent_in_tree): New.
6005 (gomp_clear_parent): Handle priorities.
6006 (GOMP_task): Likewise.
6007 (priority_queue_move_task_first,
6008 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6009 New functions.
6010 (gomp_create_target_task): Use priority queues. Change return type
6011 to bool, add state argument, return false if for async
6012 {{enter,exit} data,update} constructs no dependencies need to be
6013 waited for, handle target nowait. Set task->fn to NULL instead of
6014 gomp_target_task_fn.
6015 (verify_children_queue): Remove.
6016 (priority_list_upgrade_task): New.
6017 (priority_queue_upgrade_task): New.
6018 (verify_task_queue): Remove.
6019 (priority_list_downgrade_task): New.
6020 (priority_queue_downgrade_task): New.
6021 (gomp_task_run_pre): Use priority queues.
6022 Abstract code out to priority_queue_downgrade_task.
6023 (gomp_task_run_post_handle_dependers): Use priority queues.
6024 (gomp_task_run_post_remove_parent): Likewise.
6025 (gomp_task_run_post_remove_taskgroup): Likewise.
6026 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6027 tasks specially.
6028 (GOMP_taskwait): Likewise.
6029 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6030 priority-queue_upgrade_task.
6031 (GOMP_taskgroup_start): Use priority queues.
6032 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6033 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6034 barrier.
6035 * taskloop.c (GOMP_taskloop): Handle priorities.
6036 * team.c (gomp_new_team): Call priority_queue_init.
6037 (free_team): Call priority_queue_free.
6038 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6039 team created for target nowait in implicit parallel region.
6040 (gomp_team_start): For nested check, test thr->ts.level instead of
6041 thr->ts.team != NULL.
6042 * testsuite/libgomp.c/doacross-3.c: New test.
6043 * testsuite/libgomp.c/ordered-5.c: New test.
6044 * testsuite/libgomp.c/priority.c: New test.
6045 * testsuite/libgomp.c/target-31.c: New test.
6046 * testsuite/libgomp.c/target-32.c: New test.
6047 * testsuite/libgomp.c/target-33.c: New test.
6048 * testsuite/libgomp.c/target-34.c: New test.
6049
1d1ab74f
NS
60502015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6051
c5a64cfe
NS
6052 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6053
1d1ab74f
NS
6054 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6055 loop is sequential.
6056
dd3c1b14
NS
60572015-11-13 Nathan Sidwell <nathan@codesourcery.com>
6058
6059 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6060 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6061
6e232ba4
JN
60622015-11-12 James Norris <jnorris@codesourcery.com>
6063 Joseph Myers <joseph@codesourcery.com>
6064
6065 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6066 * oacc-parallel.c (GOACC_declare): New function.
6067 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6068 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6069 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6070 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6071 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6072
fffeedeb
NS
60732015-11-12 Nathan Sidwell <nathan@codesourcery.com>
6074
6075 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6076
182190f2
NS
60772015-11-1 Nathan Sidwell <nathan@codesourcery.com>
6078
6079 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6080 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6081
36fa0f5f
NS
60822015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6083
d350c40c
NS
6084 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6085 inadvertent commit.
6086
60872015-11-09 Nathan Sidwell <nathan@codesourcery.com>
6088
36fa0f5f
NS
6089 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6090 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6091 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6092 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6093 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6094
66a5f0b4
TS
60952015-11-06 Thomas Schwinge <thomas@codesourcery.com>
6096
6097 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6098 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6099
e01d41e5
JJ
61002015-11-05 Jakub Jelinek <jakub@redhat.com>
6101 Ilya Verbin <ilya.verbin@intel.com>
6102
6103 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6104 GOMP_loop_nonmonotonic_dynamic_start,
6105 GOMP_loop_nonmonotonic_guided_next,
6106 GOMP_loop_nonmonotonic_guided_start,
6107 GOMP_loop_ull_nonmonotonic_dynamic_next,
6108 GOMP_loop_ull_nonmonotonic_dynamic_start,
6109 GOMP_loop_ull_nonmonotonic_guided_next,
6110 GOMP_loop_ull_nonmonotonic_guided_start,
6111 GOMP_parallel_loop_nonmonotonic_dynamic,
6112 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6113 (GOMP_target_41): Renamed to ...
6114 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6115 arguments.
6116 (GOMP_target_data_41): Renamed to ...
6117 (GOMP_target_data_ext): ... this.
6118 (GOMP_target_update_41): Renamed to ...
6119 (GOMP_target_update_ext): ... this.
6120 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6121 GOMP_target_data_ext and GOMP_target_update_ext instead of
6122 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6123 Export GOMP_loop_nonmonotonic_dynamic_next,
6124 GOMP_loop_nonmonotonic_dynamic_start,
6125 GOMP_loop_nonmonotonic_guided_next,
6126 GOMP_loop_nonmonotonic_guided_start,
6127 GOMP_loop_ull_nonmonotonic_dynamic_next,
6128 GOMP_loop_ull_nonmonotonic_dynamic_start,
6129 GOMP_loop_ull_nonmonotonic_guided_next,
6130 GOMP_loop_ull_nonmonotonic_guided_start,
6131 GOMP_parallel_loop_nonmonotonic_dynamic and
6132 GOMP_parallel_loop_nonmonotonic_guided.
6133 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6134 GOMP_parallel_loop_nonmonotonic_guided,
6135 GOMP_loop_nonmonotonic_dynamic_start,
6136 GOMP_loop_nonmonotonic_guided_start,
6137 GOMP_loop_nonmonotonic_dynamic_next,
6138 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6139 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6140 GOMP_loop_ull_nonmonotonic_guided_start,
6141 GOMP_loop_ull_nonmonotonic_dynamic_next,
6142 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6143 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6144 functions.
6145 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
6146 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6147 Use gomp_map_val function.
6148 (gomp_target_fallback_firstprivate): New static function.
6149 (GOMP_target_41): Renamed to ...
6150 (GOMP_target_ext): ... this. Add num_teams and thread_limit
6151 arguments. Move firstprivate fallback handling into a new
6152 function.
6153 (GOMP_target_data_41): Renamed to ...
6154 (GOMP_target_data_ext): ... this.
6155 (GOMP_target_update_41): Renamed to ...
6156 (GOMP_target_update_ext): ... this.
6157 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6158 gomp_map_0len_lookup instead of gomp_map_lookup.
6159 (omp_target_is_present): Use gomp_map_0len_lookup instead of
6160 gomp_map_lookup.
6161 * testsuite/libgomp.c/target-28.c: Likewise.
6162 * testsuite/libgomp.c/monotonic-1.c: New test.
6163 * testsuite/libgomp.c/monotonic-2.c: New test.
6164 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
6165 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
6166 * testsuite/libgomp.c/pr66199-5.c: New test.
6167 * testsuite/libgomp.c/pr66199-6.c: New test.
6168 * testsuite/libgomp.c/pr66199-7.c: New test.
6169 * testsuite/libgomp.c/pr66199-8.c: New test.
6170 * testsuite/libgomp.c/pr66199-9.c: New test.
6171 * testsuite/libgomp.c/reduction-11.c: New test.
6172 * testsuite/libgomp.c/reduction-12.c: New test.
6173 * testsuite/libgomp.c/reduction-13.c: New test.
6174 * testsuite/libgomp.c/reduction-14.c: New test.
6175 * testsuite/libgomp.c/reduction-15.c: New test.
6176 * testsuite/libgomp.c/target-12.c (main): Adjust for
6177 omp_target_is_present change for one-past-last element.
6178 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
6179 the same var is both mapped and privatized.
6180 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
6181 handling of zero-length array sections.
6182 * testsuite/libgomp.c/target-28.c: New test.
6183 * testsuite/libgomp.c/target-29.c: New test.
6184 * testsuite/libgomp.c/target-30.c: New test.
6185 * testsuite/libgomp.c/target-teams-1.c: New test.
6186 * testsuite/libgomp.c++/member-6.C: New test.
6187 * testsuite/libgomp.c++/member-7.C: New test.
6188 * testsuite/libgomp.c++/monotonic-1.C: New test.
6189 * testsuite/libgomp.c++/monotonic-2.C: New test.
6190 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6191 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6192 * testsuite/libgomp.c++/pr66199-3.C: New test.
6193 * testsuite/libgomp.c++/pr66199-4.C: New test.
6194 * testsuite/libgomp.c++/pr66199-5.C: New test.
6195 * testsuite/libgomp.c++/pr66199-6.C: New test.
6196 * testsuite/libgomp.c++/pr66199-7.C: New test.
6197 * testsuite/libgomp.c++/pr66199-8.C: New test.
6198 * testsuite/libgomp.c++/pr66199-9.C: New test.
6199 * testsuite/libgomp.c++/reduction-11.C: New test.
6200 * testsuite/libgomp.c++/reduction-12.C: New test.
6201 * testsuite/libgomp.c++/target-13.C: New test.
6202 * testsuite/libgomp.c++/target-14.C: New test.
6203 * testsuite/libgomp.c++/target-15.C: New test.
6204 * testsuite/libgomp.c++/target-16.C: New test.
6205 * testsuite/libgomp.c++/target-17.C: New test.
6206 * testsuite/libgomp.c++/target-18.C: New test.
6207 * testsuite/libgomp.c++/target-19.C: New test.
6208
ccc8282b
NS
62092015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6210
6211 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6212 and reduction copy.
6213 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6214 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6215 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6216 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6217 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6218 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6219 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6220 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6221 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6222 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6223 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6224 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6225 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6226 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6227
5d6823a2
NS
62282015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6229
6230 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6231 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6232 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6233 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6234 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6235 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6236 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6237 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6238
5c06742f
NS
62392015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6240
6241 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6242 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6243 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6244 * oacc-host.c (host_openacc_exec): Likewise.
6245 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6246
4bf9e5a8
TS
62472015-11-03 Julian Brown <julian@codesourcery.com>
6248 Thomas Schwinge <thomas@codesourcery.com>
6249
6250 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6251 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6252 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6253 Likewise.
6254 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6255 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6256
62572015-11-03 James Norris <jnorris@codesourcery.com>
6258
6259 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6260 file.
6261 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6262 Likewise.
6263 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6264 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6265 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6266 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6267 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6268
a0e701d8
NS
62692015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6270
6271 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6272 compatibility.
6273 (enum acc_async_t): Reformat.
6274 (acc_on_device): Declare compatible with builtin and provide C++
6275 wrapper.
6276 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6277
41e977ac
TS
62782015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6279 Cesar Philippidis <cesar@codesourcery.com>
6280
6281 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6282 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6283 ... this. Add a description of the test at the top of the file.
6284 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6285 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6286 ... this. Add a description of the test at the top of the file.
6287
e3091406
NS
62882015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6289
6290 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6291 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6292 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6293 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6294 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6295 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6296
a1c1908b
NS
62972015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6298
6299 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6300 dimensions.
6301
b3962a4a
TS
63022015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6303
6304 PR testsuite/68063
6305 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6306
88bae6f4
TS
63072015-10-27 James Norris <jnorris@codesourcery.com>
6308
6309 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6310 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6311
8baa7864
TS
63122015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6313
bdeb752c
TS
6314 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6315 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6316
ecd4fd43
TS
6317 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6318 acc_device_nvidia usage.
6319 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6320 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6321 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6322
aa8b7d30
TS
6323 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6324 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6325
7c8f138d
TS
6326 PR libgomp/66518
6327 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6328
8baa7864
TS
6329 PR libgomp/65437
6330 PR libgomp/66518
6331 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6332 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6333
88ebcde5
TV
63342015-10-23 Tom de Vries <tom@codesourcery.com>
6335
6336 PR testsuite/68063
6337 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6338
9ef83c04
NS
63392015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6340
6341 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6342 vector_length.
6343 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6344
3837c6d6
IV
63452015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6346 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6347
6348 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6349 to 0 when mapnum is 0.
6350
ac8a1965
SH
63512015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6352
6353 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6354 Cast to int from int32_t.
6355
d9a6bd32
JJ
63562015-10-13 Jakub Jelinek <jakub@redhat.com>
6357 Aldy Hernandez <aldyh@redhat.com>
6358 Ilya Verbin <ilya.verbin@intel.com>
6359
6360 * config/linux/affinity.c (omp_get_place_num_procs,
6361 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6362 * config/linux/doacross.h: New file.
6363 * config/posix/affinity.c (omp_get_place_num_procs,
6364 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6365 * config/posix/doacross.h: New file.
6366 * env.c: Include gomp-constants.h.
6367 (struct gomp_task_icv): Rename run_sched_modifier to
6368 run_sched_chunk_size.
6369 (gomp_max_task_priority_var): New variable.
6370 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6371 (handle_omp_display_env): Change _OPENMP value from 201307 to
6372 201511. Print OMP_MAX_TASK_PRIORITY.
6373 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6374 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6375 chunk_size and run_sched_modifier to run_sched_chunk_size.
6376 (omp_get_max_task_priority, omp_get_initial_device,
6377 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6378 omp_get_partition_place_nums): New functions.
6379 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6380 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6381 to chunk_size.
6382 (omp_get_num_places_, omp_get_place_num_procs_,
6383 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6384 omp_get_place_proc_ids_8_, omp_get_place_num_,
6385 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6386 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6387 omp_get_max_task_priority_): New functions.
6388 * libgomp_g.h (GOMP_loop_doacross_static_start,
6389 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6390 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6391 GOMP_loop_ull_doacross_dynamic_start,
6392 GOMP_loop_ull_doacross_guided_start,
6393 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6394 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6395 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6396 GOMP_target_data_41, GOMP_target_update_41,
6397 GOMP_target_enter_exit_data): New prototypes.
6398 (GOMP_task): Add prototype argument.
6399 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6400 (struct gomp_doacross_work_share): New type.
6401 (struct gomp_work_share): Add doacross field.
6402 (struct gomp_task_icv): Rename run_sched_modifier to
6403 run_sched_chunk_size.
6404 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6405 GOMP_TASK_UNDEFERRED. Add comments.
6406 (struct gomp_task_depend_entry): Add comments.
6407 (struct gomp_task): Likewise.
6408 (struct gomp_taskgroup): Likewise.
6409 (struct gomp_target_task): New type.
6410 (struct gomp_team): Add comment.
6411 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6412 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6413 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6414 (struct target_var_desc): New type.
6415 (struct target_mem_desc): Adjust comment. Use struct
6416 target_var_desc instead of splay_tree_key for list.
6417 (REFCOUNT_INFINITY): Define.
6418 (struct splay_tree_key_s): Remove copy_from field.
6419 (struct gomp_device_descr): Add dev2dev_func field.
6420 (enum gomp_map_vars_kind): New enum.
6421 (gomp_map_vars): Add one argument.
6422 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6423 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6424 omp_get_place_num_procs, omp_get_place_num_procs_,
6425 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6426 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6427 omp_get_place_num_, omp_get_partition_num_places,
6428 omp_get_partition_num_places_, omp_get_partition_place_nums,
6429 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6430 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6431 omp_target_free, omp_target_is_present, omp_target_memcpy,
6432 omp_target_memcpy_rect, omp_target_associate_ptr and
6433 omp_target_disassociate_ptr.
6434 (GOMP_4.0.2): Renamed to ...
6435 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6436 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6437 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6438 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6439 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6440 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6441 GOMP_loop_ull_doacross_guided_start,
6442 GOMP_loop_ull_doacross_runtime_start,
6443 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6444 GOMP_doacross_ull_wait.
6445 * libgomp.texi: Document omp_get_max_task_priority.
6446 Rename modifier argument to chunk_size for omp_set_schedule and
6447 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6448 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6449 to run_sched_chunk_size renaming.
6450 (GOMP_loop_ordered_runtime_start): Likewise.
6451 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6452 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6453 GOMP_parallel_loop_runtime_start): New functions.
6454 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6455 to run_sched_chunk_size renaming.
6456 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6457 GOMP_loop_doacross_guided_start): New functions or aliases.
6458 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6459 run_sched_modifier to run_sched_chunk_size renaming.
6460 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6461 (gomp_loop_ull_doacross_static_start,
6462 gomp_loop_ull_doacross_dynamic_start,
6463 gomp_loop_ull_doacross_guided_start,
6464 GOMP_loop_ull_doacross_runtime_start): New functions.
6465 (GOMP_loop_ull_doacross_static_start,
6466 GOMP_loop_ull_doacross_dynamic_start,
6467 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6468 * oacc-mem.c (acc_map_data, present_create_copy,
6469 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6470 to gomp_map_vars.
6471 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6472 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6473 instead of false to gomp_map_vars.
6474 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6475 * omp.h.in (omp_lock_hint_t): New type.
6476 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6477 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6478 omp_get_place_num, omp_get_partition_num_places,
6479 omp_get_partition_place_nums, omp_get_initial_device,
6480 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6481 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6482 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6483 prototypes.
6484 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6485 (omp_lock_hint_none, omp_lock_hint_uncontended,
6486 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6487 omp_lock_hint_speculative): New parameters.
6488 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6489 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6490 omp_get_place_num, omp_get_partition_num_places,
6491 omp_get_partition_place_nums, omp_get_initial_device,
6492 omp_get_max_task_priority): New interfaces.
6493 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6494 to chunk_size.
6495 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6496 (omp_lock_hint_none, omp_lock_hint_uncontended,
6497 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6498 omp_lock_hint_speculative): New parameters.
6499 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6500 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6501 omp_get_place_num, omp_get_partition_num_places,
6502 omp_get_partition_place_nums, omp_get_initial_device,
6503 omp_get_max_task_priority): New functions and subroutines.
6504 * ordered.c: Include stdarg.h and string.h.
6505 (MAX_COLLAPSED_BITS): Define.
6506 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6507 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6508 GOMP_doacross_ull_wait): New functions.
6509 * target.c: Include errno.h.
6510 (resolve_device): If device is not initialized, call
6511 gomp_init_device on it.
6512 (gomp_map_lookup): New function.
6513 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6514 Don't bump refcount if REFCOUNT_INFINITY. Handle
6515 GOMP_MAP_ALWAYS_TO_P.
6516 (get_kind): Rename is_openacc argument to short_mapkind.
6517 (gomp_map_pointer): Use gomp_map_lookup.
6518 (gomp_map_fields_existing): New function.
6519 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6520 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6521 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6522 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6523 Adjust for tgt->list changed type and copy_from living in there.
6524 (gomp_copy_from_async): Adjust for tgt->list changed type and
6525 copy_from living in there.
6526 (gomp_unmap_vars): Likewise.
6527 (gomp_update): Likewise. Rename is_openacc argument to
6528 short_mapkind. Don't fail if object is not mapped.
6529 (gomp_load_image_to_device): Initialize refcount to
6530 REFCOUNT_INFINITY.
6531 (gomp_target_fallback): New function.
6532 (gomp_get_target_fn_addr): Likewise.
6533 (GOMP_target): Adjust gomp_map_vars caller, use
6534 gomp_get_target_fn_addr and gomp_target_fallback.
6535 (GOMP_target_41): New function.
6536 (gomp_target_data_fallback): New function.
6537 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6538 (GOMP_target_data_41): New function.
6539 (GOMP_target_update): Adjust gomp_update caller.
6540 (GOMP_target_update_41): New function.
6541 (gomp_exit_data, GOMP_target_enter_exit_data,
6542 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6543 omp_target_is_present, omp_target_memcpy,
6544 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6545 omp_target_associate_ptr, omp_target_disassociate_ptr,
6546 gomp_load_plugin_for_device): New functions.
6547 * task.c: Include gomp-constants.h. Include taskloop.c
6548 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6549 (gomp_task_handle_depend): New function.
6550 (GOMP_task): Use it. Add priority argument. Use
6551 gomp-constant.h constants instead of hardcoded numbers.
6552 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6553 (gomp_create_target_task): New function.
6554 (verify_children_queue, verify_taskgroup_queue,
6555 verify_task_queue): New functions.
6556 (gomp_task_run_pre): Call verify_*_queue functions.
6557 If an upcoming tied task is about to leave the sibling or
6558 taskgroup queues in an invalid state, adjust appropriately.
6559 Remove taskgroup argument. Add comments.
6560 (gomp_task_run_post_handle_dependers): Add comments.
6561 (gomp_task_run_post_remove_parent): Likewise.
6562 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6563 (GOMP_taskwait): Likewise. Add comments.
6564 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6565 problem such that the first non parent_depends_on task does not
6566 end up at the end of the children queue.
6567 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6568 GOMP_TASK_UNDEFERRED.
6569 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6570 * taskloop.c: New file.
6571 * testsuite/lib/libgomp.exp
6572 (check_effective_target_offload_device_nonshared_as): New proc.
6573 * testsuite/libgomp.c/affinity-2.c: New test.
6574 * testsuite/libgomp.c/doacross-1.c: New test.
6575 * testsuite/libgomp.c/doacross-2.c: New test.
6576 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6577 Add map clause to target.
6578 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6579 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6580 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6581 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6582 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6583 Likewise.
6584 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6585 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6586 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6587 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6588 not defined. Use those where needed.
6589 * testsuite/libgomp.c/for-4.c: New test.
6590 * testsuite/libgomp.c/for-5.c: New test.
6591 * testsuite/libgomp.c/for-6.c: New test.
6592 * testsuite/libgomp.c/linear-1.c: New test.
6593 * testsuite/libgomp.c/ordered-4.c: New test.
6594 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6595 only allowed on the loop iterator.
6596 * testsuite/libgomp.c/pr66199-3.c: New test.
6597 * testsuite/libgomp.c/pr66199-4.c: New test.
6598 * testsuite/libgomp.c/reduction-7.c: New test.
6599 * testsuite/libgomp.c/reduction-8.c: New test.
6600 * testsuite/libgomp.c/reduction-9.c: New test.
6601 * testsuite/libgomp.c/reduction-10.c: New test.
6602 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6603 map(tofrom:s).
6604 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6605 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6606 * testsuite/libgomp.c/target-11.c: New test.
6607 * testsuite/libgomp.c/target-12.c: New test.
6608 * testsuite/libgomp.c/target-13.c: New test.
6609 * testsuite/libgomp.c/target-14.c: New test.
6610 * testsuite/libgomp.c/target-15.c: New test.
6611 * testsuite/libgomp.c/target-16.c: New test.
6612 * testsuite/libgomp.c/target-17.c: New test.
6613 * testsuite/libgomp.c/target-18.c: New test.
6614 * testsuite/libgomp.c/target-19.c: New test.
6615 * testsuite/libgomp.c/target-20.c: New test.
6616 * testsuite/libgomp.c/target-21.c: New test.
6617 * testsuite/libgomp.c/target-22.c: New test.
6618 * testsuite/libgomp.c/target-23.c: New test.
6619 * testsuite/libgomp.c/target-24.c: New test.
6620 * testsuite/libgomp.c/target-25.c: New test.
6621 * testsuite/libgomp.c/target-26.c: New test.
6622 * testsuite/libgomp.c/target-27.c: New test.
6623 * testsuite/libgomp.c/taskloop-1.c: New test.
6624 * testsuite/libgomp.c/taskloop-2.c: New test.
6625 * testsuite/libgomp.c/taskloop-3.c: New test.
6626 * testsuite/libgomp.c/taskloop-4.c: New test.
6627 * testsuite/libgomp.c++/ctor-13.C: New test.
6628 * testsuite/libgomp.c++/doacross-1.C: New test.
6629 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6630 Replace offload_device with offload_device_nonshared_as.
6631 * testsuite/libgomp.c++/for-12.C: New test.
6632 * testsuite/libgomp.c++/for-13.C: New test.
6633 * testsuite/libgomp.c++/for-14.C: New test.
6634 * testsuite/libgomp.c++/linear-1.C: New test.
6635 * testsuite/libgomp.c++/member-1.C: New test.
6636 * testsuite/libgomp.c++/member-2.C: New test.
6637 * testsuite/libgomp.c++/member-3.C: New test.
6638 * testsuite/libgomp.c++/member-4.C: New test.
6639 * testsuite/libgomp.c++/member-5.C: New test.
6640 * testsuite/libgomp.c++/ordered-1.C: New test.
6641 * testsuite/libgomp.c++/reduction-5.C: New test.
6642 * testsuite/libgomp.c++/reduction-6.C: New test.
6643 * testsuite/libgomp.c++/reduction-7.C: New test.
6644 * testsuite/libgomp.c++/reduction-8.C: New test.
6645 * testsuite/libgomp.c++/reduction-9.C: New test.
6646 * testsuite/libgomp.c++/reduction-10.C: New test.
6647 * testsuite/libgomp.c++/reference-1.C: New test.
6648 * testsuite/libgomp.c++/simd14.C: New test.
6649 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6650 * testsuite/libgomp.c++/target-5.C: New test.
6651 * testsuite/libgomp.c++/target-6.C: New test.
6652 * testsuite/libgomp.c++/target-7.C: New test.
6653 * testsuite/libgomp.c++/target-8.C: New test.
6654 * testsuite/libgomp.c++/target-9.C: New test.
6655 * testsuite/libgomp.c++/target-10.C: New test.
6656 * testsuite/libgomp.c++/target-11.C: New test.
6657 * testsuite/libgomp.c++/target-12.C: New test.
6658 * testsuite/libgomp.c++/taskloop-1.C: New test.
6659 * testsuite/libgomp.c++/taskloop-2.C: New test.
6660 * testsuite/libgomp.c++/taskloop-3.C: New test.
6661 * testsuite/libgomp.c++/taskloop-4.C: New test.
6662 * testsuite/libgomp.c++/taskloop-5.C: New test.
6663 * testsuite/libgomp.c++/taskloop-6.C: New test.
6664 * testsuite/libgomp.c++/taskloop-7.C: New test.
6665 * testsuite/libgomp.c++/taskloop-8.C: New test.
6666 * testsuite/libgomp.c++/taskloop-9.C: New test.
6667 * testsuite/libgomp.fortran/affinity1.f90: New test.
6668 * testsuite/libgomp.fortran/affinity2.f90: New test.
6669
1f600fea
TV
66702015-10-13 Tom de Vries <tom@codesourcery.com>
6671
6672 PR tree-optimization/67476
6673 * testsuite/libgomp.c/autopar-3.c: New test.
6674 * testsuite/libgomp.c/autopar-4.c: New test.
6675 * testsuite/libgomp.c/autopar-5.c: New test.
6676 * testsuite/libgomp.c/autopar-6.c: New test.
6677 * testsuite/libgomp.c/autopar-7.c: New test.
6678 * testsuite/libgomp.c/autopar-8.c: New test.
6679
058a654b
JN
66802015-10-12 James Norris <jnorris@codesourcery.com>
6681
6682 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6683 initializer.
6684
9e531d37
DM
66852015-10-09 David Malcolm <dmalcolm@redhat.com>
6686
6687 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6688 using load_gcc_lib.
6689
113020dc
TS
66902015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6691
6692 * oacc-ptx.h: Remove file, moving its content into...
6693 * config/nvptx/fortran.c: ... here...
6694 * config/nvptx/oacc-init.c: ..., here...
6695 * config/nvptx/oacc-parallel.c: ..., and here.
6696 * config/nvptx/openacc.f90: New file.
6697 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6698 (link_ptx): Don't link in predefined bits of PTX code.
6699
cc3cd79b
NS
67002015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6701 Bernd Schmidt <bernds@codesourcery.com>
6702
6703 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6704 (struct targ_ptx_obj): New.
6705 (nvptx_tdata): Move earlier, change data format.
6706 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6707 objects.
6708 (GOMP_OFFLOAD_load_image): Adjust.
6709
4e2a5450
TS
67102015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6711
6712 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6713 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6714 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6715 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6716 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6717 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6718 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6719 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6720 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6721 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6722 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6723 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6724 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6725 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6726 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6727 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6728 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6729 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6730 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6731 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6734 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6735 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6736 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6737 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6740 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6742 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6744 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6747 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6749 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6752 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6756 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6757 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6758 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6759 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6760 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6761 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6762 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6763 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6764 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6765 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6766 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6767 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6768 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6769 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6770 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6771 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6772 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6773 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6774 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6775
164453bb
NS
67762015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6777
6778 * oacc-init.c (acc_on_device): Force optimization level.
6779
a12a0437
NS
67802015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6781
6782 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6783 (cuda_errlist): Delete.
6784 (cuda_error): Reimplement.
6785
3e32ee19
NS
67862015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6787
6788 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6789 array.
6790 * libgomp.map (GOACC_parallel_keyed): New.
6791 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6792 all callers.
6793 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6794 and take keyed varargs list. Adjust call to exec_func.
6795 (GOACC_parallel): Force host fallback.
6796 * libgomp_g.h (GOACC_parallel): Remove.
6797 (GOACC_parallel_keyed): Declare.
6798 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 6799 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
6800 (nvptx_exec): Lose separate geometry args, take array. Process
6801 dynamic dimensions and adjust.
6802 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6803 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6804 data.
6805 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6806 passing.
6807 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6808 passing.
6809
6bb4c3e2
CLT
68102015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6811
6812 PR libgomp/67141
6813 * oacc-int.h (goacc_host_init): Add declaration.
6814 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6815 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6816
74032f47 68172015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 6818 Sebastian Pop <s.pop@samsung.com>
74032f47 6819
93d90219 6820 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
6821 match o/p.
6822 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6823 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6824 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6825 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6826 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6827
97875f4a
JJ
68282015-09-03 Jakub Jelinek <jakub@redhat.com>
6829
6830 * configure.tgt: Add missing ;; in between nvptx and rtems
6831 snippets.
6832
06441dd5
SH
68332015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6834
6835 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6836 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6837 (gomp_thread_pool_reservoir): Add priority member.
6838 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6839 priority.
6840 (parse_thread_pools): Likewise.
6841 * team.c (gomp_team_start): Call configuration provided
6842 gomp_adjust_thread_attr(). Destroy thread attributes if
6843 necessary.
6844 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6845
66c59f92
SH
68462015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6847
6848 * config/posix/pool.h: New.
6849 * config/rtems/pool.h: Likewise.
6850 * config/rtems/proc.c: Likewise.
6851 * libgomp.h (gomp_thread_destructor): Declare.
6852 * team.c: Include configuration provided "pool.h".
6853 (gomp_get_thread_pool): Define in configuration.
6854 (gomp_team_end): Call configuration defined
6855 gomp_release_thread_pool().
6856
13c41b2e
SH
68572015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6858
6859 * config/rtems/bar.c: New.
6860 * config/rtems/bar.h: Likewise.
6861 * config/rtems/mutex.c: Likewise.
6862 * config/rtems/mutex.h: Likewise.
6863 * config/rtems/sem.c: Likewise.
6864 * config/rtems/sem.h: Likewise.
6865 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6866 <sys/lock.h> header file.
6867 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6868 supported by Newlib.
6869 * configure: Regenerate.
6870
7892ec67
SH
68712015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6872
6873 * team.c (gomp_new_thread_pool): Delete and move content to ...
6874 (gomp_get_thread_pool): ... new function. Allocate and
6875 initialize thread pool on demand.
6876 (get_last_team): Use gomp_get_thread_pool().
6877 (gomp_team_start): Delete thread pool initialization.
6878
1b96e9a4
TV
68792015-09-03 Tom de Vries <tom@codesourcery.com>
6880
6881 PR tree-optimization/65637
6882 * testsuite/libgomp.c/autopar-2.c: New test.
6883
3ff2d74e
TV
68842015-08-29 Tom de Vries <tom@codesourcery.com>
6885
6886 PR tree-optimization/46193
6887 * testsuite/libgomp.c/pr46193.c: New test.
6888
2a21ff19
NS
68892015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6890
6891 libgomp/
6892 * libgomp.map: Add 4.0.2 version.
6893 * target.c (offload_image_descr): Add version field.
6894 (gomp_load_image_to_device): Add version argument. Adjust plugin
6895 call. Improve load mismatch diagnostic.
6896 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6897 call.
6898 (GOMP_offload_regster): Make stub function, move bulk to ...
6899 (GOMP_offload_register_ver): ... here. Process version argument.
6900 (GOMP_offload_unregister): Make stub function, move bulk to ...
6901 (GOMP_offload_unregister_ver): ... here. Process version argument.
6902 (gomp_init_device): Process version field.
6903 (gomp_unload_device): Process version field.
6904 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6905 macros. Check plugin version.
6906 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6907 loader and unloader types.
6908 * oacc-host.c: Include gomp-constants.h.
6909 (host_version): New.
6910 (host_load_image, host_unload_image): Adjust.
6911 (host_dispatch): Add host_version.
6912 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6913 (GOMP_OFFLOAD_version): New.
6914 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6915 (GOMP_OFFLOAD_unload_image): Likewise.
6916 * plugin/plugin-host.c: Include gomp-constants.h.
6917 (GOMP_OFFLOAD_version): New.
6918 (GOMP_OFFLOAD_load_image): Add version arg.
6919 (GOMP_OFFLOAD_unload_image): Likewise.
6920
1358a747
TV
69212015-08-24 Tom de Vries <tom@codesourcery.com>
6922
6923 PR tree-optimization/65468
6924 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6925
6be5c241
TV
69262015-08-24 Tom de Vries <tom@codesourcery.com>
6927
6928 PR tree-optimization/65468
6929 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6930
bfe7ac89
JV
69312015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6932
6933 PR libgomp/66761
6934 PR libgomp/67303
6935 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6936 (gomp_iter_guided_next): Idem.
6937 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6938 (gomp_iter_ull_guided_next): Idem.
6939 * config/linux/wait.h (do_spin): Idem.
6940
b97e78b7
TS
69412015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6942
6943 * libgomp-plugin.h (enum offload_target_type): Remove
6944 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6945 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6946 * openacc.h (enum acc_device_t): Likewise.
6947 * openacc_lib.h: Likewise.
6948 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6949 (acc_on_device): Just use __builtin_acc_on_device.
6950 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6951 of acc_on_device builtin.
6952 * plugin/plugin-host.h: Remove file.
6953 * plugin/plugin-host.c: Likewise, but salvage some content into...
6954 * oacc-host.c: ... this file.
6955 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6956 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6957 * Makefile.in: Regenerate.
6958 * configure: Likewise.
6959 * testsuite/lib/libgomp.exp
6960 (check_effective_target_openacc_host_nonshm_selected): Remove.
6961 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6962 ACC_DEVICE_TYPE=host_nonshm.
6963 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6964 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6965 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6966 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6967 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6968 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6969
44a7d18d
TS
69702015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6971 Jakub Jelinek <jakub@redhat.com>
6972
6973 * config/nvptx/affinity.c: New file.
6974 * config/nvptx/alloc.c: Likewise.
6975 * config/nvptx/bar.c: Likewise.
6976 * config/nvptx/barrier.c: Likewise.
6977 * config/nvptx/critical.c: Likewise.
6978 * config/nvptx/env.c: Likewise.
6979 * config/nvptx/error.c: Likewise.
6980 * config/nvptx/fortran.c: Likewise.
6981 * config/nvptx/iter.c: Likewise.
6982 * config/nvptx/iter_ull.c: Likewise.
6983 * config/nvptx/libgomp-plugin.c: Likewise.
6984 * config/nvptx/lock.c: Likewise.
6985 * config/nvptx/loop.c: Likewise.
6986 * config/nvptx/loop_ull.c: Likewise.
6987 * config/nvptx/mutex.c: Likewise.
6988 * config/nvptx/oacc-async.c: Likewise.
6989 * config/nvptx/oacc-cuda.c: Likewise.
6990 * config/nvptx/oacc-host.c: Likewise.
6991 * config/nvptx/oacc-init.c: Likewise.
6992 * config/nvptx/oacc-mem.c: Likewise.
6993 * config/nvptx/oacc-parallel.c: Likewise.
6994 * config/nvptx/oacc-plugin.c: Likewise.
6995 * config/nvptx/omp-lock.h: Likewise.
6996 * config/nvptx/ordered.c: Likewise.
6997 * config/nvptx/parallel.c: Likewise.
6998 * config/nvptx/proc.c: Likewise.
6999 * config/nvptx/ptrlock.c: Likewise.
7000 * config/nvptx/sections.c: Likewise.
7001 * config/nvptx/sem.c: Likewise.
7002 * config/nvptx/single.c: Likewise.
7003 * config/nvptx/splay-tree.c: Likewise.
7004 * config/nvptx/target.c: Likewise.
7005 * config/nvptx/task.c: Likewise.
7006 * config/nvptx/team.c: Likewise.
7007 * config/nvptx/time.c: Likewise.
7008 * config/nvptx/work.c: Likewise.
7009 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7010 * configure: Regenerate.
7011 * configure.tgt (config_path): Set to "nvptx" for target
7012 nvptx*-*-*.
7013
96a2d174
TS
70142015-08-10 Thomas Schwinge <thomas@codesourcery.com>
7015
7016 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7017
9ebddeb0
NS
70182015-08-03 Nathan Sidwell <nathan@codesourcery.com>
7019
7020 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7021 (cuda_errlist): Constify.
7022 (errmsg): Move into ...
7023 (cuda_error): ... here. Make smaller.
7024 (_XSTR, _STR): Delete.
7025 (cuda_synames): Delete.
7026 (verify_device_library): Delete.
7027 (nvptx_init): Don't call it.
7028
12efb1d7
TV
70292015-07-28 Tom de Vries <tom@codesourcery.com>
7030
7031 * testsuite/libgomp.c/uns-outer-4.c: New test.
7032
710ee218
CP
70332015-07-24 Cesar Philippidis <cesar@codesourcery.com>
7034
7035 * testsuite/libgomp.c/pr66714.c: New test.
7036
27c4ac7d
MB
70372015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
7038
7039 PR libgomp/66950
7040 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7041 (fib_ref): New function.
7042 (fib): Correct corner cases in the recursion.
7043 (main): Replace the non-simd loop with fib_ref call.
7044 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7045 subroutine.
7046 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7047 for the last array element value. Replace the non-simd loop with
7048 fib_ref call. Remove redundant b_ref array. Remove the comparison
7049 of the last array element with according Fibonacci sequence element.
7050 (fib): Correct corner cases in the recursion.
7051
22be2349
NS
70522015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7053
7054 * target.c (gomp_offload_image_to_device): Rename to ...
7055 (gomp_load_image_to_device): ... here.
7056 (GOMP_offload_register): Adjust call.
7057 (gomp_init_device): Likewise.
7058 (gomp_unload_image_from_device): New. Broken out of ...
7059 (GOMP_offload_unregister): ... here. Call it.
7060 (gomp_unload_device): New.
7061 * libgomp.h (gomp_unload_device): Declare.
7062 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7063 mem maps.
7064
f3e9a059
NS
70652015-07-20 Nathan Sidwell <nathan@codesourcery.com>
7066
a091118d
NS
7067 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7068 wait=-specific if.
7069 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7070 !=0 condition.
7071 (goacc_waits): Move !num_waits handling to ...
7072 (GOACC_wait): ... here, the only caller that might have zero waits.
7073
f3e9a059
NS
7074 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7075 (struct ptx_image_data): Move earlier, add fns field.
7076 (struct ptx_device): Add images and image_lock fields.
7077 (ptx_images, ptx_image_lock): Delete.
7078 (nvptx_open_device): Initialize images and image_lock fields.
7079 (nvptx_close_device): Destroy image_lock.
7080 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7081 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7082 fields.
7083
afb2d80b
NS
70842015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7085
896c28a7
NS
7086 * target.c (GOMP_offload_register): Use int for device type arg.
7087 (GOMP_offload_unregister): Likewise.
7088
ebe4a560
NS
7089 * target.c (struct_offload_image_descr): Constify host_table.
7090 (gomp_offload_image_to_device): Likewise.
7091 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
7092
afb2d80b
NS
7093 * libgomp.h (gomp_device_descr): Constify target data arguments.
7094 * target.c (struct offload_image_descr): Constify target_data.
7095 (gomp_offload_image_to_device): Likewise.
7096 (GOMP_offload_register): Likewise.
93d90219 7097 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
7098 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7099 GOMP_OFFLOAD_unload_image): Constify target data.
7100 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7101 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7102
a4cb876d
NS
71032015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7104
7105 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7106 Workaround driver library const error.
7107 (struct nvptx_tdata, nvptx_tdata_t): New.
7108 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
7109 type.
7110
28ef6a27
MB
71112015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
7112
7113 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7114 of EPS parameter from integer to real.
7115 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7116 type of EPS parameter from integer to real.
7117
6dba0113
SH
71182015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7119
7120 * team.c (get_last_team): New.
7121 (gomp_new_team): Recycle last non-nested team if possible.
7122 (gomp_team_end): Move team work share list free lock destruction
7123 to ...
7124 (free_team): ... here.
7125
4c1cb4da
MB
71262015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
7127
7128 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7129 and ref from int to double. Replaced their comparison with
7130 an inequality of their difference and EPS.
7131 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7132 comparison of pri and a reference number with an inequality of their
7133 difference and EPS.
7134 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7135 the comparison of sum and sum_ref with an inequality of their
7136 difference and EPS.
7137 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7138 the comparison of pri and a reference number with an inequality of
7139 their difference and EPS.
7140
343587dc
MB
71412015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
7142
7143 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7144 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7145 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7146 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7147 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7148 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7149 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7150 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7151 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7152 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7153 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7154 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7155 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7156 variables.
7157 (vec_mult): Likewise. Add #pragma omp taskwait.
7158 (main): Adjust caller.
7159 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7160 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7161 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7162 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7163 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7164 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7165 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7166 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7167 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7168 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
7169 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7170 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
7171 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7172 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
7173 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
7174 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
7175 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
7176 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
7177 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
7178 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
7179 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
7180 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
7181 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7182 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
7183 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7184 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
7185 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7186 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
7187 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7188 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
7189 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7190 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
7191 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7192 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7193 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7194 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7195 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7196 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7197 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7198 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7199 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7200 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7201 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7202 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7203 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7204 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7205 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7206 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7207 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7208 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7209 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7210 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7211 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7212 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7213 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7214 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7215 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7216 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7217 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7218 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7219 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7220 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7221 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7222 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7223 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7224 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7225 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7226 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7227 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7228 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7229 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7230 (vec_mult): Add !$omp taskwait.
7231 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7232 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7233 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7234 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7235 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7236 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7237 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7238 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7239 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7240 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7241 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7242 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7243 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7244 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7245 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7246 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7247 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7248 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7249 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7250 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7251 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7252 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7253 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7254 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7255 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7256 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7257 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7258 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7259 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7260 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7261 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7262 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7263 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7264 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7265 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7266 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7267 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7268 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7269 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7270 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7271 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7272 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7273 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7274 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7275 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7276 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7277 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7278 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7279 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7280 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7281 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7282 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7283 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7284 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7285 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7286 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7287 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7288 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7289 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7290 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7291 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7292 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7293 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7294 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7295 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7296 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7297 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7298
9f620bf1
TV
72992015-07-10 Tom de Vries <tom@codesourcery.com>
7300
7301 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7302 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7303
a92defda
TS
73042015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7305
7306 PR libgomp/65099
7307 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7308 in a 64-bit configuration.
7309 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7310 offloading testing if no such device is available.
7311 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7312 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7313
cadb53a5
TV
73142015-07-08 Tom de Vries <tom@codesourcery.com>
7315
7316 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7317 second call to f.
7318 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7319
712cb0bb
TV
73202015-07-07 Tom de Vries <tom@codesourcery.com>
7321
7322 PR tree-optimization/66642
7323 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7324 iteration count case.
7325 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7326 function, factor out of ...
7327 (main): ... here. Test low iteration count case.
7328
e5210c77
SH
73292015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7330
7331 * libgomp.h (gomp_thread_pool): Comment last_team field.
7332
f70360e7
UB
73332015-07-02 Uros Bizjak <ubizjak@gmail.com>
7334
7335 * testsuite/libgomp.c++/pr66702-1.C: Require
7336 vect_simd_clones effective target.
7337 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7338
b451c271
TV
73392015-06-30 Tom de Vries <tom@codesourcery.com>
7340
7341 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7342 already set. Use DEFAULT_CFLAGS in dg-runtest.
7343 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7344 "-O2".
7345
f8e89d9f
TV
73462015-06-30 Tom de Vries <tom@codesourcery.com>
7347
7348 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7349 already set. Use DEFAULT_CFLAGS in dg-runtest.
7350 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7351 * testsuite/libgomp.c++/pr64824.C: Same.
7352 * testsuite/libgomp.c++/pr64868.C: Same.
7353 * testsuite/libgomp.c++/pr66199-1.C: Same.
7354 * testsuite/libgomp.c++/pr66199-2.C: Same.
7355 * testsuite/libgomp.c++/target-2.C: Same.
7356 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7357 -std=<standard> option.
7358 * testsuite/libgomp.c++/udr-11.C: Same.
7359 * testsuite/libgomp.c++/udr-12.C: Same.
7360 * testsuite/libgomp.c++/udr-13.C: Same.
7361 * testsuite/libgomp.c++/udr-14.C: Same.
7362 * testsuite/libgomp.c++/udr-15.C: Same.
7363 * testsuite/libgomp.c++/udr-16.C: Same.
7364 * testsuite/libgomp.c++/udr-17.C: Same.
7365 * testsuite/libgomp.c++/udr-18.C: Same.
7366 * testsuite/libgomp.c++/udr-19.C: Same.
7367 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7368 * testsuite/libgomp.c++/simd-1.C: Same.
7369 * testsuite/libgomp.c++/simd-2.C: Same.
7370 * testsuite/libgomp.c++/simd-3.C: Same.
7371 * testsuite/libgomp.c++/simd-4.C: Same.
7372 * testsuite/libgomp.c++/simd-5.C: Same.
7373 * testsuite/libgomp.c++/simd-6.C: Same.
7374 * testsuite/libgomp.c++/simd-7.C: Same.
7375 * testsuite/libgomp.c++/simd-8.C: Same.
7376 * testsuite/libgomp.c++/simd-9.C: Same.
7377 * testsuite/libgomp.c++/simd10.C: Same.
7378 * testsuite/libgomp.c++/simd11.C: Same.
7379 * testsuite/libgomp.c++/simd12.C: Same.
7380 * testsuite/libgomp.c++/simd13.C: Same.
7381
3446fe48
JJ
73822015-06-30 Jakub Jelinek <jakub@redhat.com>
7383
7384 PR middle-end/66702
7385 * testsuite/libgomp.c++/pr66702-1.C: New test.
7386 * testsuite/libgomp.c++/pr66702-2.C: New test.
7387
8a36714a
TV
73882015-06-30 Tom de Vries <tom@codesourcery.com>
7389
7390 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7391 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7392 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7393 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7394
4f75d608
TV
73952015-06-30 Tom de Vries <tom@codesourcery.com>
7396
7397 PR tree-optimization/66652
7398 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7399 using restrict pointers.
7400 (main): Add arguments to calls to f.
7401 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7402
6d9d1eeb
AT
74032015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7404
7405 * configure.ac: Fix check for header <sys/sysctl.h>.
7406 * configure: Regenerate.
7407 * config.h.in: Likewise.
7408
1222f22b
TV
74092015-06-23 Tom de Vries <tom@codesourcery.com>
7410
7411 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7412 abort.
7413 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7414
d7efbbf6
TS
74152015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7416
bfcd036f
TS
7417 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7418 acc_device_nvidia.
7419
d7efbbf6
TS
7420 PR libgomp/66518
7421 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7422 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7423
d7bfc710
TV
74242015-06-15 Tom de Vries <tom@codesourcery.com>
7425
7426 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7427 dg-additional-options for any remaining options.
7428 * testsuite/libgomp.c/atomic-2.c: Same.
7429 * testsuite/libgomp.c/atomic-4.c: Same.
7430 * testsuite/libgomp.c/atomic-5.c: Same.
7431 * testsuite/libgomp.c/atomic-6.c: Same.
7432 * testsuite/libgomp.c/autopar-1.c: Same.
7433 * testsuite/libgomp.c/copyin-1.c: Same.
7434 * testsuite/libgomp.c/copyin-2.c: Same.
7435 * testsuite/libgomp.c/copyin-3.c: Same.
7436 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7437 * testsuite/libgomp.c/nestedfn-5.c: Same.
7438 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7439 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7440 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7441 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7442 * testsuite/libgomp.c/pr32362-1.c: Same.
7443 * testsuite/libgomp.c/pr32362-2.c: Same.
7444 * testsuite/libgomp.c/pr32362-3.c: Same.
7445 * testsuite/libgomp.c/pr39591-1.c: Same.
7446 * testsuite/libgomp.c/pr39591-2.c: Same.
7447 * testsuite/libgomp.c/pr39591-3.c: Same.
7448 * testsuite/libgomp.c/pr58392.c: Same.
7449 * testsuite/libgomp.c/pr58756.c: Same.
7450 * testsuite/libgomp.c/simd-1.c: Same.
7451 * testsuite/libgomp.c/simd-10.c: Same.
7452 * testsuite/libgomp.c/simd-11.c: Same.
7453 * testsuite/libgomp.c/simd-12.c: Same.
7454 * testsuite/libgomp.c/simd-13.c: Same.
7455 * testsuite/libgomp.c/simd-14.c: Same.
7456 * testsuite/libgomp.c/simd-15.c: Same.
7457 * testsuite/libgomp.c/simd-2.c: Same.
7458 * testsuite/libgomp.c/simd-3.c: Same.
7459 * testsuite/libgomp.c/simd-4.c: Same.
7460 * testsuite/libgomp.c/simd-5.c: Same.
7461 * testsuite/libgomp.c/simd-6.c: Same.
7462 * testsuite/libgomp.c/simd-7.c: Same.
7463 * testsuite/libgomp.c/simd-8.c: Same.
7464 * testsuite/libgomp.c/simd-9.c: Same.
7465
fb5b5352
TV
74662015-06-15 Tom de Vries <tom@codesourcery.com>
7467
7468 * testsuite/libgomp.c/pr35625.c: Fix typo.
7469
ca431bef
TV
74702015-06-15 Tom de Vries <tom@codesourcery.com>
7471
7472 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7473 in dg-options.
7474 * testsuite/libgomp.c/atomic-3.c: Same.
7475 * testsuite/libgomp.c/debug-1.c: Same.
7476 * testsuite/libgomp.c/nqueens-1.c: Same.
7477 * testsuite/libgomp.c/pr26171.c: Same.
7478 * testsuite/libgomp.c/pr48591.c: Same.
7479 * testsuite/libgomp.c/pr64824.c: Same.
7480 * testsuite/libgomp.c/pr64868.c: Same.
7481 * testsuite/libgomp.c/pr66133.c: Same.
7482 * testsuite/libgomp.c/pr66199-1.c: Same.
7483 * testsuite/libgomp.c/pr66199-2.c: Same.
7484 * testsuite/libgomp.c/target-8.c: Same.
7485
0d8a9e20
TV
74862015-06-15 Tom de Vries <tom@codesourcery.com>
7487
7488 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7489 -std={gnu99,c99}.
7490 * testsuite/libgomp.c/for-1.c: Same.
7491 * testsuite/libgomp.c/for-2.c: Same.
7492 * testsuite/libgomp.c/for-3.c: Same.
7493 * testsuite/libgomp.c/pr35625.c: Same.
7494 * testsuite/libgomp.c/pr39154.c: Same.
7495 * testsuite/libgomp.c/simd-16.c: Same.
7496 * testsuite/libgomp.c/simd-17.c: Same.
7497
a6860be9
TV
74982015-06-13 Tom de Vries <tom@codesourcery.com>
7499
7500 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7501
ab3306d2
TV
75022015-06-13 Tom de Vries <tom@codesourcery.com>
7503
7504 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7505 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7506 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7507 (N): Define.
7508 (main): Use N instead of hardcoded constants.
7509
7c82d827
TV
75102015-06-05 Tom de Vries <tom@codesourcery.com>
7511
7512 merge from gomp4 branch:
7513 2015-05-28 Tom de Vries <tom@codesourcery.com>
7514
7515 PR tree-optimization/65443
7516 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7517 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7518 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7519
c469078d
BRF
75202015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7521
7522 * testsuite/libgomp.graphite/bounds.c: Adjust for
7523 cleanup-tree-dump removal.
7524 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7525 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7526 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7527 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7528 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7529 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7530 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7531 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7532 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7533 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7534
bb3caa35
UB
75352015-05-28 Uros Bizjak <ubizjak@gmail.com>
7536
7537 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7538 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7539 (futex_wake) [!__x86_64__]: Ditto.
7540
9fb5fd44
JB
75412015-05-28 Julian Brown <julian@codesourcery.com>
7542
7543 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7544 function comment. Only call gomp_fatal if new argument is true.
7545 (acc_dev_num_out_of_range): New function.
7546 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7547 acc_dev_num_out_of_range as appropriate.
7548 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
7549 (acc_get_device_num, acc_set_device_num): Update calls to
7550 resolve_device.
9fb5fd44
JB
7551 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7552 output.
7553
32eaed93
JB
75542015-05-28 Julian Brown <julian@codesourcery.com>
7555
7556 PR libgomp/65742
32eaed93
JB
7557 * oacc-init.c (plugin/plugin-host.h): Include.
7558 (acc_on_device): Check whether we're in an offloaded region for
7559 host_nonshm
7560 plugin. Don't use __builtin_acc_on_device.
7561 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7562 nonshm_exec flag in thread-local data.
7563 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7564 data for host_nonshm plugin.
7565 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7566 for host_nonshm plugin.
7567 * plugin/plugin-host.h: New.
7568
ea023bcf
UB
75692015-05-27 Uros Bizjak <ubizjak@gmail.com>
7570
8ed501f1
UB
7571 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7572
75732015-05-27 Uros Bizjak <ubizjak@gmail.com>
7574
7575 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7576 Declare as int.
7577 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7578 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7579 Declare as int.
7580
75812015-05-27 Uros Bizjak <ubizjak@gmail.com>
7582
bb3caa35 7583 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 7584
1716efeb
CLT
75852015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7586
7587 * target.c (gomp_map_pointer): New function abstracting out
7588 GOMP_MAP_POINTER handling.
7589 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7590 gomp_map_pointer().
7591
41b37d5e
JJ
75922015-05-19 Jakub Jelinek <jakub@redhat.com>
7593
7594 PR middle-end/66199
7595 * testsuite/libgomp.c/pr66199-1.c: New test.
7596 * testsuite/libgomp.c/pr66199-2.c: New test.
7597 * testsuite/libgomp.c++/pr66199-1.C: New test.
7598 * testsuite/libgomp.c++/pr66199-2.C: New test.
7599 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7600 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7601
c8319826
JB
76022015-05-19 Julian Brown <julian@codesourcery.com>
7603
7604 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7605 on cuInit failure.
7606
b37dddbc
JJ
76072015-05-13 Jakub Jelinek <jakub@redhat.com>
7608
7609 PR middle-end/66133
7610 * testsuite/libgomp.c/pr66133.c: New test.
7611
55fba601
MH
76122015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7613
7614 * Makefile.in: Regenerated with automake-1.11.6.
7615 * aclocal.m4: Likewise.
7616 * config.h.in: Likewise.
7617 * configure: Likewise.
7618 * testsuite/Makefile.in: Likewise.
7619
1be0899d
JM
76202015-05-08 Jason Merrill <jason@redhat.com>
7621
7622 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7623 _Complex.
7624
7625 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7626
d2463960
JB
76272015-05-06 Julian Brown <julian@codesourcery.com>
7628
7629 * oacc-init.c (acc_device_lock): Add explanatory comment.
7630 (resolve_device): Add comment about locking requirement.
7631 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7632 gomp_init_device and gomp_fini_device calls.
7633 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7634 (acc_get_device_num, acc_set_device_num): Add locking around
7635 resolve_device and gomp_init_device calls.
7636
e38fdba4
JB
76372015-05-06 Julian Brown <julian@codesourcery.com>
7638
7639 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7640 goacc_thread_lock on error paths.
7641 * oacc-mem.c (lookup_host): Remove locking from function. Note
7642 locking requirement for caller in function comment.
7643 (lookup_dev): Likewise.
7644 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7645 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7646 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7647 Add locking.
7648
ae8ffbbb
TS
76492015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7650
7651 PR testsuite/65205
7652 PR libgomp/65993
7653 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7654 don't expect "0x" prefix for "%p" format specifier, don't expect
7655 "(nil)" for NULL pointer.
7656 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7657 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7658 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7659 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7660 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7661 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7662 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7663 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7664 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7665 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7666 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7667 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7668 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7669 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7670 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7676 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7678 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7680 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7682 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7684 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7685 accurately specify what we're looking for.
7686 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7687 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7688 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7689 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7690 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7691
1309f1d2
JN
76922015-04-30 James Norris <jnorris@codesourcery.com>
7693
7694 PR testsuite/65205
7695 * testsuite/lib/libgomp.exp
7696 (check_effective_target_openacc_host_selected)
7697 (check_effective_target_openacc_host_nonshm_selected): New
7698 procedures.
7699 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7700 dg-shouldfail.
7701 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7702 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7703 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7704 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7705 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7706 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7707 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7708 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7709 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7710 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7711 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7712 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7713 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7714 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7715 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7716 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7717 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7718 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7719 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7720 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7721 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7722 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7723 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7724 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7725 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7726 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7727 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7728 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7729 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7730 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7731 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7732 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7733 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7734 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7735 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7736 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7737 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7738 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7739 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7740 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7741 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7742 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7743 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7744
d93bdab5
JB
77452015-04-08 Julian Brown <julian@codesourcery.com>
7746
7747 * libgomp.h (target_mem_desc: Remove mem_map field.
7748 (acc_dispatch_t): Remove open_device_func, close_device_func,
7749 get_device_num_func, set_device_num_func, target_data members.
7750 Change create_thread_data_func argument to device number instead of
7751 generic pointer.
7752 * oacc-async.c (assert.h): Include.
7753 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7754 (acc_wait_all, acc_wait_all_async): Use current host thread's
7755 active device, not base_dev.
7756 * oacc-cuda.c (acc_get_current_cuda_device)
7757 (acc_get_current_cuda_context, acc_get_cuda_stream)
7758 (acc_set_cuda_stream): Likewise.
7759 * oacc-host.c (host_dispatch): Don't set open_device_func,
7760 close_device_func, get_device_num_func or set_device_num_func.
7761 * oacc-init.c (base_dev, init_key): Remove.
7762 (cached_base_dev): New.
7763 (name_of_acc_device_t): New.
7764 (acc_init_1): Initialise default-numbered device, not zeroth.
7765 (acc_shutdown_1): Close all devices of a given type.
7766 (goacc_destroy_thread): Don't use base_dev.
7767 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7768 (goacc_attach_host_thread_to_device): New.
7769 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7770 (acc_get_num_devices): Don't use base_dev.
7771 (acc_set_device_type): Reimplement.
7772 (acc_get_device_type): Don't use base_dev.
7773 (acc_get_device_num): Tweak logic.
7774 (acc_set_device_num): Likewise.
7775 (acc_on_device): Use acc_get_device_type.
7776 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7777 (goacc_lazy_initialize): Reimplement with acc_init and
7778 goacc_attach_host_thread_to_device.
7779 * oacc-int.h (goacc_thread): Add base_dev field.
7780 (base_dev): Remove extern declaration.
7781 (goacc_attach_host_thread_to_device): Add prototype.
7782 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7783 base_dev.
7784 (acc_free): Likewise.
7785 (acc_memcpy_to_device): Likewise.
7786 (acc_memcpy_from_device): Likewise.
7787 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7788 goacc_lazy_initialize (throughout).
7789 (GOACC_parallel): Use tgt_offset to locate target functions.
7790 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7791 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7792 (gomp_load_plugin_for_device): Remove open_device, close_device,
7793 get_device_num, set_device_num openacc hook initialisation. Don't set
7794 openacc.target_data.
7795 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7796 (GOMP_OFFLOAD_openacc_close_device)
7797 (GOMP_OFFLOAD_openacc_get_device_num)
7798 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7799 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7800 to int.
7801 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7802 (instantiated_devices, ptx_dev_lock): New.
7803 (struct ptx_image_data): New.
7804 (ptx_devices, ptx_images, ptx_image_lock): New.
7805 (fini_streams_for_device): Reorder cuStreamDestroy call.
7806 (nvptx_get_num_devices): Remove forward declaration.
7807 (nvptx_init): Change return type to bool.
7808 (nvptx_fini): Remove.
7809 (nvptx_attach_host_thread_to_device): New.
7810 (nvptx_open_device): Return struct ptx_device* instead of void*.
7811 (nvptx_close_device): Change argument type to struct ptx_device*,
7812 return type to void.
7813 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7814 (kernel_target_data, kernel_host_table): Remove static globals.
7815 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7816 (GOMP_OFFLOAD_init_device): Reimplement.
7817 (GOMP_OFFLOAD_fini_device): Likewise.
7818 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7819 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7820 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7821 (GOMP_OFFLOAD_openacc_open_device)
7822 (GOMP_OFFLOAD_openacc_close_device)
7823 (GOMP_OFFLOAD_openacc_set_device_num)
7824 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7825 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7826 (device number).
7827
7828 testsuite/
7829 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7830
a51df54e
IV
78312015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7832
7833 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7834 * libgomp.h (struct gomp_memory_mapping): Remove.
7835 (struct target_mem_desc): Change type of mem_map from
7836 gomp_memory_mapping * to splay_tree_s *.
7837 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7838 Add load_image_func, unload_image_func.
7839 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7840 Remove offload_regions_registered.
7841 (gomp_init_tables): Remove.
7842 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7843 to splay_tree_s *.
7844 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7845 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7846 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7847 offload_regions_registered.
7848 Initialize load_image_func, unload_image_func, mem_map.root.
7849 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7850 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7851 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7852 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7853 gomp_memory_mapping *. Use dev's lock and splay_tree.
7854 (lookup_dev): Use dev's lock.
7855 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7856 (acc_is_present): Likewise.
7857 (acc_map_data): Likewise.
7858 (acc_unmap_data): Likewise. Use dev's lock.
7859 (present_create_copy): Likewise.
7860 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7861 (update_dev_host): Likewise.
7862 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7863 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7864 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7865 (GOMP_OFFLOAD_get_table): Remove
7866 (GOMP_OFFLOAD_load_image): New function.
7867 (GOMP_OFFLOAD_unload_image): New function.
7868 * target.c (register_lock): New mutex for offload image registration.
7869 (num_devices): Do not guard with PLUGIN_SUPPORT.
7870 (gomp_realloc_unlock): New static function.
7871 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7872 before gomp_fatal.
7873 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7874 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7875 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7876 mem_map's.
7877 (gomp_unmap_vars): Likewise.
7878 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7879 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7880 (gomp_offload_image_to_device): New static function.
7881 (GOMP_offload_register): Add mutex lock.
7882 Call gomp_offload_image_to_device for all initialized devices.
7883 Replace gomp_realloc with gomp_realloc_unlock.
7884 (GOMP_offload_unregister): New function.
7885 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7886 get_table_func from the plugin with calls to init_device_func and
7887 gomp_offload_image_to_device.
7888 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7889 to splay_tree_s *.
7890 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7891 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7892 (GOMP_target_data): Do not call gomp_init_tables.
7893 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7894 (gomp_load_plugin_for_device): Replace register_image and get_table
7895 with load_image and unload_image in DLSYM ().
7896 (gomp_register_images_for_device): Remove function.
7897 (gomp_target_init): Do not initialize current_device.mem_map.*,
7898 current_device.offload_regions_registered.
7899 Remove call to gomp_register_images_for_device.
7900 Do not free offload_images and num_offload_images.
7901
6c384511
JJ
79022015-03-30 Jakub Jelinek <jakub@redhat.com>
7903
7904 PR fortran/65597
7905 * testsuite/libgomp.fortran/pr65597.f90: New test.
7906
3e8165a5
TV
79072015-03-27 Tom de Vries <tom@codesourcery.com>
7908
7909 PR testsuite/65594
7910 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7911 (init, check): New function.
7912 (foo): Change return type to void.
7913 (main): Call init and check.
7914
4d688c9a
TV
79152015-03-27 Tom de Vries <tom@codesourcery.com>
7916
7917 PR testsuite/65594
7918 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7919 (foo): Use M for non-inner loops to scale down test-case.
7920
01c0b3b0
KT
79212015-03-25 Kai Tietz <ktietz@redhat.com>
7922
7923 PR libgomp/64972
7924 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7925 (GOACC_data_start): Likewise.
7926 * target.c (gomp_map_vars): Likewise.
7927
844d9a76
JDA
79282015-03-21 John David Anglin <danglin@gcc.gnu.org>
7929
7930 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7931 hppa*-*-hpux*.
7932
9b65e171
JJ
79332015-03-19 Jakub Jelinek <jakub@redhat.com>
7934
7935 * testsuite/libgomp.c/target-10.c: New test.
7936 * testsuite/libgomp.c++/target-4.C: New test.
7937
db397e2e
IV
79382015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7939
7940 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7941 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7942
cd93945d
SH
79432015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7944
7945 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7946 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7947 (pthread.h): Check for this header file.
7948 * configure: Regenerate.
7949
05deba9f
TV
79502015-02-25 Tom de Vries <tom@codesourcery.com>
7951
7952 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7953 (check_reduction_op, check_reduction_macro, max, min):
7954 Declare.
7955 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7956 function.
7957 (main): Use new functions.
7958
196904d8
IT
79592015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7960
7961 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7962 char * for variables holding dlerror return values.
7963 (DLSYM_OPT): Ditto.
7964
a2818955
TS
79652015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7966
7967 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7968
26f93312
TS
79692015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7970 Cesar Philippidis <cesar@codesourcery.com>
7971
7972 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7973 GOACC_ctaid, and GOACC_nctaid routines.
7974
fa01ffcc
JJ
79752015-02-11 Jakub Jelinek <jakub@redhat.com>
7976
7977 PR c/64824
7978 * testsuite/libgomp.c/atomic-18.c: New test.
7979 * testsuite/libgomp.c++/atomic-16.C: New test.
7980
4886ec8e
JJ
79812015-02-04 Jakub Jelinek <jakub@redhat.com>
7982
7983 PR c/64824
7984 PR c/64868
7985 * testsuite/libgomp.c/pr64824.c: New test.
7986 * testsuite/libgomp.c/pr64868.c: New test.
7987 * testsuite/libgomp.c++/pr64824.C: New test.
7988 * testsuite/libgomp.c++/pr64868.C: New test.
7989
02d3e45e
DE
79902015-02-01 David Edelsohn <dje.gcc@gmail.com>
7991
7992 PR libgomp/64635
7993 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7994 Link with -lpthread.
7995 * config/aix/plugin-suffix.h: Delete.
7996
b5f7a6ca
JH
79972015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7998
7999 PR libgomp/64635
8000 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8001 (*-*-darwin*): Use config_path "bsd darwin posix".
8002 (*-*-hpux*): Use config_path "hpux posix".
8003 * target.c: Add include of plugin-suffix.h and use
8004 SONAME_SUFFIX macro.
8005 * config/aix/plugin-suffix.h: New file.
8006 * config/darwin/plugin-suffix.h: New file.
8007 * config/hpux/plugin-suffix.h: New file.
8008 * config/posix/plugin-suffix.h: New file.
8009
b8910447
JJ
80102015-01-23 Jakub Jelinek <jakub@redhat.com>
8011
8012 PR middle-end/64734
8013 * libgomp.c/pr64734.c: New test.
8014
a0c88d06
TV
80152015-01-23 Tom de Vries <tom@codesourcery.com>
8016
8017 PR libgomp/64672
8018 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8019
1506ae0e
TV
80202015-01-23 Tom de Vries <tom@codesourcery.com>
8021
8022 PR libgomp/64707
8023 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8024 dg-options.
8025
128b26dc
TS
80262015-01-19 Thomas Schwinge <thomas@codesourcery.com>
8027
bed62c21 8028 PR libgomp/64625
128b26dc
TS
8029 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8030 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8031 formal parameter. Update all users.
8032 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8033 Document unused formal parameter.
8034
6e36114c
TS
80352015-01-16 Thomas Schwinge <thomas@codesourcery.com>
8036
8037 * oacc-parallel.c: Don't include <alloca.h>.
8038 (GOACC_parallel): Use gomp_alloca instead of alloca.
8039
973e9808
GP
80402015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
8041
8042 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8043
41dbbb37
TS
80442015-01-15 Thomas Schwinge <thomas@codesourcery.com>
8045 James Norris <jnorris@codesourcery.com>
8046 Tom de Vries <tom@codesourcery.com>
8047 Julian Brown <julian@codesourcery.com>
8048 Cesar Philippidis <cesar@codesourcery.com>
8049 Nathan Sidwell <nathan@codesourcery.com>
8050 Tobias Burnus <burnus@net-b.de>
8051
8052 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8053 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8054 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8055 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8056 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8057 Include $(top_srcdir)/plugin/Makefrag.am.
8058 (nodist_libsubinclude_HEADERS): Add openacc.h.
8059 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8060 openacc.f90, openacc.mod, openacc_kinds.mod.
8061 (omp_lib.mod): Generalize into...
8062 (%.mod): ... this new rule.
8063 (openacc_kinds.mod, openacc.mod): New rules.
8064 * plugin/configfrag.ac: New file.
8065 * configure.ac: Move plugin/offloading support into it. Include
8066 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8067 * plugin/Makefrag.am: New file.
8068 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8069 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8070 export.
8071 (libgomp-test-support.exp): New rule.
8072 (all-local): Depend on it.
8073 * Makefile.in: Regenerate.
8074 * testsuite/Makefile.in: Regenerate.
8075 * config.h.in: Likewise.
8076 * configure: Likewise.
8077 * configure.tgt: Harden shell syntax.
8078 * env.c: Include "oacc-int.h".
8079 (parse_acc_device_type): New function.
8080 (gomp_debug_var, goacc_device_type, goacc_device_num): New
8081 variables.
8082 (initialize_env): Initialize those. Call
8083 goacc_runtime_initialize.
8084 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8085 (gomp_fatal): Call gomp_vfatal.
8086 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8087 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8088 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8089 (splay_tree_node, splay_tree, splay_tree_key)
8090 (struct target_mem_desc, struct splay_tree_key_s)
8091 (struct gomp_memory_mapping, struct acc_dispatch_t)
8092 (struct gomp_device_descr, gomp_acc_insert_pointer)
8093 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8094 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8095 (gomp_free_memmap, gomp_fini_device): New declarations.
8096 (gomp_vdebug, gomp_debug): New macros.
8097 Include "splay-tree.h".
8098 * libgomp.map (OACC_2.0): New symbol version. Use for
8099 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8100 acc_set_device_type_h_, acc_get_device_type,
8101 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8102 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8103 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8104 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8105 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8106 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8107 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8108 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8109 acc_copyin_array_h_, acc_present_or_copyin,
8110 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8111 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8112 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8113 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8114 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8115 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8116 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8117 acc_update_device, acc_update_device_32_h_,
8118 acc_update_device_64_h_, acc_update_device_array_h_,
8119 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8120 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8121 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8122 acc_is_present_64_h_, acc_is_present_array_h_,
8123 acc_memcpy_to_device, acc_memcpy_from_device,
8124 acc_get_current_cuda_device, acc_get_current_cuda_context,
8125 acc_get_cuda_stream, acc_set_cuda_stream.
8126 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
8127 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8128 GOACC_update, GOACC_wait, GOACC_get_thread_num,
8129 GOACC_get_num_threads.
8130 (GOMP_PLUGIN_1.0): New symbol version. Use for
8131 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8132 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8133 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8134 GOMP_PLUGIN_acc_thread.
8135 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8136 environment variable.
8137 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
8138 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8139 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8140 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
8141 (splay_tree_remove): New declarations.
8142 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8143 (splay_tree_remove, splay_tree_lookup): Move into...
8144 * splay-tree.c: ... this new file.
8145 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8146 (splay_tree_node, splay_tree, splay_tree_key)
8147 (struct target_mem_desc, struct splay_tree_key_s)
8148 (struct gomp_device_descr): Don't declare.
8149 (num_devices_openmp): New variable.
8150 (gomp_get_num_devices ): Use it.
8151 (gomp_init_targets_once): New function.
8152 (gomp_get_num_devices ): Use it.
8153 (get_kind, gomp_copy_from_async, gomp_free_memmap)
8154 (gomp_fini_device, gomp_register_image_for_device): New functions.
8155 (gomp_map_vars): Add devaddrs parameter.
8156 (gomp_update): Add mm parameter.
8157 (gomp_init_device): Move most of it into...
8158 (gomp_init_tables): ... this new function.
8159 (gomp_register_images_for_device): Remove function.
8160 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8161 Make them hidden instead of static.
8162 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8163 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8164 (GOMP_target_end_data, GOMP_target_update)
8165 (gomp_load_plugin_for_device, gomp_target_init): Update for
8166 OpenACC changes.
8167 * oacc-async.c: New file.
8168 * oacc-cuda.c: Likewise.
8169 * oacc-host.c: Likewise.
8170 * oacc-init.c: Likewise.
8171 * oacc-int.h: Likewise.
8172 * oacc-mem.c: Likewise.
8173 * oacc-parallel.c: Likewise.
8174 * oacc-plugin.c: Likewise.
8175 * oacc-plugin.h: Likewise.
8176 * oacc-ptx.h: Likewise.
8177 * openacc.f90: Likewise.
8178 * openacc.h: Likewise.
8179 * openacc_lib.h: Likewise.
8180 * plugin/plugin-host.c: Likewise.
8181 * plugin/plugin-nvptx.c: Likewise.
8182 * libgomp-plugin.c: Likewise.
8183 * libgomp-plugin.h: Likewise.
8184 * libgomp_target.h: Remove file after merging content into the
8185 former file. Update all users.
8186 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8187 (offload_targets_s, offload_targets_s_openacc): New variables.
8188 (check_effective_target_openacc_nvidia_accel_present)
8189 (check_effective_target_openacc_nvidia_accel_selected): New
8190 procedures.
8191 (libgomp_init): Update for OpenACC changes.
8192 * testsuite/libgomp-test-support.exp.in: New file.
8193 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8194 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8195 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8196 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8197 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8198 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8199 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8200 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8201 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8202 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8203 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8204 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8205 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8206 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8207 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8208 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8209 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8210 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8211 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8212 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8213 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8214 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8215 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8216 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8217 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8218 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8219 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8220 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8221 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8222 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8223 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8224 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8225 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8226 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8227 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8228 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8229 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8230 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8231 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8232 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8233 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8234 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8235 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8236 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8237 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8238 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8239 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8240 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8241 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8242 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8243 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8244 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8245 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8246 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8247 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8248 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8249 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8250 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8251 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8252 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8253 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8254 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8255 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8256 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8257 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8259 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8260 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8261 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8262 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8263 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8264 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8265 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8266 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8267 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8268 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8269 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8270 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8271 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8272 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8273 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8274 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8275 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8276 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8277 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8278 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8279 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8280 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8281 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8282 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8283 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8284 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8285 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8286 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8287 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8288 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8289 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8290 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8291 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8292 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8293 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8294 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8295 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8296 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8297 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8298 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8299 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8300 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8301 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8302 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8303 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8304 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8305 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8306 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8307 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8308 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8309 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8310 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8311 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8312 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8313 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8314 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8315 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8316 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8317 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8318 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8319 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8320 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8321 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8322 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8323 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8324 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8325 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8326 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8327 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8328 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8329 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8330 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8331 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8332 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8333 Likewise.
8334 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8335 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8336 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8337 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8338 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8339 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8340 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8341 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8342 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8343 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8344 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8345 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8346 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8347 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8348 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8349 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8350 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8351 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8352 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8353 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8354 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8355 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8356 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8357 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8358 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8359 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8360 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8361 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8362 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8363 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8364 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8365 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8366 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8367 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8368 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8369 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8370 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8371 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8372 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8373 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8374 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8375 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8376 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8377 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8378 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8379 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8380 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8381 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8382 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8383 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8384 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8385 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8386 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8387 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8388 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8389 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8390 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8391 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8392 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8393 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8394
f1f3453e
TS
83952015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8396 Julian Brown <julian@codesourcery.com>
8397 David Malcolm <dmalcolm@redhat.com>
8398
8399 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8400 to "GNU Offloading and Multi Processing Runtime Library". Change
8401 all users.
8402 * configure: Regenerate.
8403 * libgomp.texi: Update.
8404
f9a0eca4
TS
84052015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8406
b335ef4e
TS
8407 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8408 "$tgt_dir/lib32".
8409 * configure: Regenerate.
8410
f9a0eca4
TS
8411 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8412 "intelmic" in $offload_targets.
8413
b67cd4e3
JJ
84142015-01-05 Jakub Jelinek <jakub@redhat.com>
8415
5624e564
JJ
8416 Update copyright years.
8417
b67cd4e3
JJ
8418 * libgomp.texi: Bump @copying's copyright year.
8419
3b41b583
KT
84202014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8421
8422 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 8423 Move load of target-supports.exp earlier.
3b41b583 8424
2354caec
IV
84252014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8426
8427 * testsuite/libgomp.c/target-9.c: New test.
8428
f50eecba
VR
84292014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8430
8431 * config.h.in: Regenerate.
8432 * configure: Regenerate.
8433 * configure.ac: Add GCC_CHECK_EMUTLS.
8434 * libgomp.h: Add check for USE_EMUTLS: this case
8435 is equal to HAVE_TLS.
8436 * team.c: Likewise.
8437
68bc9270
UB
84382014-12-03 Uros Bizjak <ubizjak@gmail.com>
8439
8440 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8441
476ff787
AT
84422014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8443 Ilya Verbin <ilya.verbin@intel.com>
8444
8445 * testsuite/libgomp.c/target-critical-1.c: New test.
8446
31a30e62
JJ
84472014-11-26 Jakub Jelinek <jakub@redhat.com>
8448
8449 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 8450 to dg-options unless expensive testing is on.
31a30e62
JJ
8451 (TESTITERS): Define to N if not defined.
8452 (main): Use TESTITERS instead of N.
8453 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8454 dg-additional-options depending on whether expensive testing is on.
8455 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8456 Decrease N to 100000 and CHUNKSZ to 10000.
8457
3f9e8f13
JJ
84582014-11-24 Jakub Jelinek <jakub@redhat.com>
8459
8460 PR fortran/63938
31a30e62
JJ
8461 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8462 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 8463
c8451a46
SE
84642014-11-21 Steve Ellcey <sellcey@imgtec.com>
8465
8466 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8467
a699d672
L
84682014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8469
8470 PR bootstrap/63784
8471 * configure: Regenerated.
8472
4a19f719
UB
84732014-11-19 Uros Bizjak <ubizjak@gmail.com>
8474
8475 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8476 vect_simd_clones effective target.
8477 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8478
b1bf6c52
JJ
84792014-11-14 Jakub Jelinek <jakub@redhat.com>
8480
8481 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8482 of 32 as block_size.
8483 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8484 instead of 32 as block_size.
8485
d64ae614
AT
84862014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8487 Ilya Verbin <ilya.verbin@intel.com>
8488
8489 * Makefile.in: Regenerate.
8490 * configure: Regenerate.
8491 * configure.ac: Set up offload_additional_options,
8492 offload_additional_lib_paths and offload_targets.
8493 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8494 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8495 * testsuite/Makefile.in: Regenerate.
8496 * testsuite/lib/libgomp.exp (libgomp_init): Append
8497 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8498 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8499 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8500
122d7303
AT
85012014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8502 Ilya Verbin <ilya.verbin@intel.com>
8503 Kirill Yukhin <kirill.yukhin@intel.com>
8504 Ilya Tocar <ilya.tocar@intel.com>
8505
8506 * testsuite/lib/libgomp.exp
8507 (check_effective_target_offload_device): New.
8508 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8509 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8510 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8511 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8512 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8513 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8514 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8515 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8516 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8517 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8518 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8519 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8520 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8521 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8522 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8523 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8524 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8525 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8526 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8527 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8528 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8529 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8530 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8531 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8532 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8533 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8534 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8535 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8536 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8537 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8538 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8539 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8540 * testsuite/libgomp.c/target-7.c: Fix test.
8541 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8542 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8543 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8544 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8545 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8546 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8547 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8548 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8549 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8550 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8551 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8552 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8553 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8554 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8555 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8556 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8557 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8558 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8559 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8560 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8561 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8562 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8563 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8564 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8565 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8566 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8567 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8568 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8569 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8570 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8571 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8572
1df3f842
JJ
85732014-11-13 Jakub Jelinek <jakub@redhat.com>
8574 Ilya Verbin <ilya.verbin@intel.com>
8575 Thomas Schwinge <thomas@codesourcery.com>
8576 Andrey Turetskiy <andrey.turetskiy@intel.com>
8577
8578 * libgomp.map (GOMP_4.0.1): New symbol version.
8579 Add GOMP_offload_register.
8580 * libgomp_target.h: New file.
8581 * splay-tree.h: New file.
8582 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8583 (gomp_target_init): New forward declaration.
8584 (gomp_is_initialized): New static variable.
8585 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8586 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8587 New structures.
8588 (offload_images, num_offload_images, devices, num_devices): New static
8589 variables.
8590 (splay_compare): New static function.
8591 (struct gomp_device_descr): New structure.
8592 (gomp_get_num_devices): Call gomp_target_init.
8593 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8594 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8595 (GOMP_offload_register): New function.
8596 (GOMP_target): Arrange for host callback to be performed in a separate
8597 initial thread and contention group, inheriting ICVs from
8598 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8599 Add device initialization and lookup for target function in splay tree.
8600 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8601 (GOMP_target_end_data): Call gomp_unmap_vars.
8602 (GOMP_target_update): Add device initialization and call gomp_update.
8603 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8604 (gomp_target_init): New static functions.
8605
85c64bbe
BS
86062014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8607 Thomas Schwinge <thomas@codesourcery.com>
8608 Ilya Verbin <ilya.verbin@intel.com>
8609 Andrey Turetskiy <andrey.turetskiy@intel.com>
8610
8611 * config.h.in: Regenerate.
8612 * configure: Regenerate.
8613 * configure.ac: Check for libdl, required for plugin support.
8614 (PLUGIN_SUPPORT): Define if plugins are supported.
8615 (enable_offload_targets): Support Intel MIC targets.
8616 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8617
ebf6d33b
FXC
86182014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8619
8620 PR target/63610
8621 * configure: Regenerate.
8622
8c768629
RO
86232014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8624
8625 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8626
c1d62412
MP
86272014-10-06 Marek Polacek <polacek@redhat.com>
8628
8629 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8630 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8631 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8632 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8633
44a0c6cb
MP
86342014-10-06 Marek Polacek <polacek@redhat.com>
8635
8636 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8637 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8638 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8639 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8640 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8641 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8642 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8643 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8644 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8645 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8646 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8647 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8648 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8649 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8650 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8651 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8652 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8653 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8654 declarations.
8655
5771c391
JJ
86562014-10-03 Jakub Jelinek <jakub@redhat.com>
8657
8658 PR libgomp/61200
8659 * testsuite/libgomp.c/pr61200.c: New test.
8660
bce16b88
JJ
86612014-09-18 Jakub Jelinek <jakub@redhat.com>
8662
8663 PR c++/63248
8664 * testsuite/libgomp.c++/pr63248.C: New test.
8665
3696163c
JJ
86662014-08-04 Jakub Jelinek <jakub@redhat.com>
8667
8668 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8669 is not zero, but taskgroup->children is NULL and there are
8670 any task->children, schedule those instead of waiting.
8671 * testsuite/libgomp.c/depend-6.c: New test.
8672 * testsuite/libgomp.c/depend-7.c: New test.
8673 * testsuite/libgomp.c/depend-8.c: New test.
8674 * testsuite/libgomp.c/depend-9.c: New test.
8675 * testsuite/libgomp.c/depend-10.c: New test.
8676
0494285a
JJ
86772014-08-01 Jakub Jelinek <jakub@redhat.com>
8678
8679 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8680 (struct gomp_taskwait): New type.
8681 (struct gomp_task): Add taskwait and parent_depends_on, remove
8682 in_taskwait and taskwait_sem fields.
8683 (gomp_finish_task): Don't destroy taskwait_sem.
8684 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8685 taskwait and parent_depends_on.
8686 (GOMP_task): For if (0) tasks with depend clause that depend on
8687 earlier tasks don't defer them, instead call
8688 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8689 Initialize redundant_out field, for redundant out entries just
8690 move them at the end of linked list instead of removing them
8691 completely, and set redundant_out flag instead of redundant.
8692 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8693 that task.
8694 (gomp_task_run_post_handle_dependers): If parent is in
8695 gomp_task_maybe_wait_for_dependencies and newly runnable task
8696 is not parent_depends_on, queue it in parent->children linked
8697 list after all runnable tasks with parent_depends_on set.
8698 Adjust for addition of taskwait indirection.
8699 (gomp_task_run_post_remove_parent): If parent is in
8700 gomp_task_maybe_wait_for_dependencies and task to be removed
8701 is parent_depends_on, decrement n_depend and if needed awake
8702 parent. Adjust for addition of taskwait indirection.
8703 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8704 (gomp_task_maybe_wait_for_dependencies): New function.
8705 * testsuite/libgomp.c/depend-5.c: New test.
8706
60ab4b44
TB
87072014-07-13 Tobias Burnus <burnus@net-b.de>
8708
8709 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 8710 with TS 18508/Fortran 2015.
60ab4b44 8711
773ec47f
MP
87122014-07-06 Marek Polacek <polacek@redhat.com>
8713
8714 PR c/6940
8715 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8716
f707da16
JJ
87172014-07-03 Jakub Jelinek <jakub@redhat.com>
8718
8719 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8720 matches regex $lang_source_re, add $lang_include_flags to options.
8721 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8722 * testsuite/libgomp.c++/c++.exp: Likewise.
8723 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8724 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8725 ALWAYS_CFLAGS.
8726 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8727
07b6c044
TS
87282014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8729
8730 * testsuite/libgomp.fortran/fortran.exp: Explain
8731 gfortran-dg-runtest usage.
8732
da6f124d
JJ
87332014-06-25 Jakub Jelinek <jakub@redhat.com>
8734
8735 * testsuite/libgomp.fortran/simd5.f90: New test.
8736 * testsuite/libgomp.fortran/simd6.f90: New test.
8737 * testsuite/libgomp.fortran/simd7.f90: New test.
8738
b46ebd6c
JJ
87392014-06-24 Jakub Jelinek <jakub@redhat.com>
8740
56ad0e38
JJ
8741 * testsuite/libgomp.c/for-2.c: Define SC to static for
8742 #pragma omp for simd testing.
8743 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8744 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8745 SC macro.
8746 * testsuite/libgomp.c/simd-14.c: New test.
8747 * testsuite/libgomp.c/simd-15.c: New test.
8748 * testsuite/libgomp.c/simd-16.c: New test.
8749 * testsuite/libgomp.c/simd-17.c: New test.
8750 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8751 #pragma omp for simd testing.
8752 * testsuite/libgomp.c++/simd10.C: New test.
8753 * testsuite/libgomp.c++/simd11.C: New test.
8754 * testsuite/libgomp.c++/simd12.C: New test.
8755 * testsuite/libgomp.c++/simd13.C: New test.
8756
b46ebd6c
JJ
8757 * testsuite/libgomp.fortran/aligned1.f03: New test.
8758 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8759 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8760 tasks with !$omp parallel !$omp single.
8761 * testsuite/libgomp.fortran/target8.f90: New test.
8762 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8763 not to use trim in the combiner, instead call elemental function.
8764 (fn): New elemental function.
8765 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8766 Make elemental.
8767 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8768 omp_in): Likewise.
8769 * testsuite/libgomp.fortran/udr12.f90: New test.
8770 * testsuite/libgomp.fortran/udr13.f90: New test.
8771 * testsuite/libgomp.fortran/udr14.f90: New test.
8772 * testsuite/libgomp.fortran/udr15.f90: New test.
8773
f014c653
JJ
87742014-06-18 Jakub Jelinek <jakub@redhat.com>
8775
8776 * omp_lib.f90.in (openmp_version): Set to 201307.
8777 * omp_lib.h.in (openmp_version): Likewise.
8778 * testsuite/libgomp.c/target-8.c: New test.
8779 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8780 and inbranch clauses.
8781 * testsuite/libgomp.fortran/depend-3.f90: New test.
8782 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8783 openmp_version.
8784 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8785 * testsuite/libgomp.fortran/target1.f90: New test.
8786 * testsuite/libgomp.fortran/target2.f90: New test.
8787 * testsuite/libgomp.fortran/target3.f90: New test.
8788 * testsuite/libgomp.fortran/target4.f90: New test.
8789 * testsuite/libgomp.fortran/target5.f90: New test.
8790 * testsuite/libgomp.fortran/target6.f90: New test.
8791 * testsuite/libgomp.fortran/target7.f90: New test.
8792
92d28cbb
JJ
87932014-06-10 Jakub Jelinek <jakub@redhat.com>
8794
8795 PR fortran/60928
8796 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8797 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8798 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8799 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8800 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8801 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8802 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8803 * testsuite/libgomp.fortran/associate1.f90: New test.
8804 * testsuite/libgomp.fortran/associate2.f90: New test.
8805 * testsuite/libgomp.fortran/procptr1.f90: New test.
8806
5f23671d
JJ
88072014-06-06 Jakub Jelinek <jakub@redhat.com>
8808
8809 * testsuite/libgomp.fortran/simd1.f90: New test.
8810 * testsuite/libgomp.fortran/udr1.f90: New test.
8811 * testsuite/libgomp.fortran/udr2.f90: New test.
8812 * testsuite/libgomp.fortran/udr3.f90: New test.
8813 * testsuite/libgomp.fortran/udr4.f90: New test.
8814 * testsuite/libgomp.fortran/udr5.f90: New test.
8815 * testsuite/libgomp.fortran/udr6.f90: New test.
8816 * testsuite/libgomp.fortran/udr7.f90: New test.
8817 * testsuite/libgomp.fortran/udr8.f90: New test.
8818 * testsuite/libgomp.fortran/udr9.f90: New test.
8819 * testsuite/libgomp.fortran/udr10.f90: New test.
8820 * testsuite/libgomp.fortran/udr11.f90: New test.
8821
0389fbb5
UB
88222014-05-27 Uros Bizjak <ubizjak@gmail.com>
8823
8824 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8825 vect_simd_clones effective target.
8826 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8827
decaaec8
JJ
88282014-05-21 Jakub Jelinek <jakub@redhat.com>
8829
8830 PR middle-end/61252
8831 * testsuite/libgomp.c++/simd-9.C: New test.
8832
72832460
UB
88332014-05-18 Uros Bizjak <ubizjak@gmail.com>
8834
8835 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8836 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8837 texts according to their @menu entry positions.
8838
dd2fc525
JJ
88392014-05-11 Jakub Jelinek <jakub@redhat.com>
8840
8841 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8842 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8843 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8844 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8845 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8846 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8847 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8848 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8849 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8850 * testsuite/libgomp.fortran/depend-1.f90: New test.
8851 * testsuite/libgomp.fortran/depend-2.f90: New test.
8852 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8853 * testsuite/libgomp.fortran/simd1.f90: New test.
8854 * testsuite/libgomp.fortran/simd2.f90: New test.
8855 * testsuite/libgomp.fortran/simd3.f90: New test.
8856 * testsuite/libgomp.fortran/simd4.f90: New test.
8857 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8858
95782571
JJ
88592014-05-02 Jakub Jelinek <jakub@redhat.com>
8860
8861 * testsuite/libgomp.c/simd-10.c: New test.
8862 * testsuite/libgomp.c/simd-11.c: New test.
8863 * testsuite/libgomp.c/simd-12.c: New test.
8864 * testsuite/libgomp.c/simd-13.c: New test.
8865
f7468577
JJ
88662014-04-24 Jakub Jelinek <jakub@redhat.com>
8867
42056eac
JJ
8868 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8869 atomic type clauses in any order and optional comma in between.
8870 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8871 * testsuite/libgomp.c/atomic-17.c: Likewise.
8872
f7468577
JJ
8873 * testsuite/libgomp.c/simd-7.c: New test.
8874 * testsuite/libgomp.c/simd-8.c: New test.
8875 * testsuite/libgomp.c/simd-9.c: New test.
8876 * testsuite/libgomp.c/loop-16.c: New test.
8877
ab18f2f5
RH
88782014-04-02 Richard Henderson <rth@redhat.com>
8879
8880 * config/linux/futex.h (futex_wait): Get error value from errno.
8881 (futex_wake): Likewise.
8882
8bcc90b0
JJ
88832014-03-25 Jakub Jelinek <jakub@redhat.com>
8884
8885 PR c++/60331
8886 * testsuite/libgomp.c++/udr-11.C: New test.
8887 * testsuite/libgomp.c++/udr-12.C: New test.
8888 * testsuite/libgomp.c++/udr-13.C: New test.
8889 * testsuite/libgomp.c++/udr-14.C: New test.
8890 * testsuite/libgomp.c++/udr-15.C: New test.
8891 * testsuite/libgomp.c++/udr-16.C: New test.
8892 * testsuite/libgomp.c++/udr-17.C: New test.
8893 * testsuite/libgomp.c++/udr-18.C: New test.
8894 * testsuite/libgomp.c++/udr-19.C: New test.
8895
18d73c7f
RS
88962014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8897
8898 Update copyright years
8899
f9030485
RS
89002014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8901
8902 * hashtab.h: Use the standard form for the copyright notice.
8903
98db73df
TB
89042014-01-02 Tobias Burnus <burnus@net-b.de>
8905
8906 * libgomp.texi: Bump @copying's copyright year.
8907
ae246f7f
AT
89082013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8909
93d90219 8910 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
8911 alloca () with __builtin_alloca ().
8912 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8913 * testsuite/libgomp.c/lock-3.c: Likewise.
8914 * testsuite/libgomp.c/pr48591.c: Likewise.
8915
fa00a5fe
JJ
89162013-12-17 Jakub Jelinek <jakub@redhat.com>
8917
8918 PR testsuite/59534
8919 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8920 comparisons.
8921
e9792e1d
JJ
89222013-12-16 Jakub Jelinek <jakub@redhat.com>
8923
8924 PR libgomp/58756
8925 * testsuite/libgomp.c/pr58756.c: New test.
8926
cab37c89
JJ
89272013-12-12 Jakub Jelinek <jakub@redhat.com>
8928
8929 PR libgomp/59467
8930 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8931 !$omp parallel.
8932
de14871c
TS
89332013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8934
1707a5de
TS
8935 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8936 ALWAYS_CFLAGS.
8937 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8938 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8939 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8940 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8941 Likewise.
8942
70f05c43
TS
8943 * libgomp_g.h: Include <stddef.h> for size_t.
8944
de14871c
TS
8945 * libgomp.spec.in: Update comment about libgomp's dependencies.
8946 * configure.ac: Likewise.
8947 * configure: Regenerate.
8948
83fd6c5b
TB
89492013-10-16 Tobias Burnus <burnus@net-b.de>
8950
8951 * libgomp.texi: (Runtime Library Routines): Update references for
8952 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8953 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8954 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8955 (Environment Variables): Update references for OpenMP 4.0. Add
8956 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8957 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8958 order.
8959
c8673881
JJ
89602013-10-14 Jakub Jelinek <jakub@redhat.com>
8961
8962 * env.c (parse_bind_var): Initialize value to avoid
8963 (false positive) warning.
8964
f89163fd
JJ
89652013-10-12 Jakub Jelinek <jakub@redhat.com>
8966
8967 PR libgomp/58691
8968 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8969 to check variable.
8970 (gomp_init_num_threads): Move i variable declaration into
8971 #ifdef CPU_ALLOC_SIZE block.
8972 * config/linux/affinity.c (gomp_affinity_init_level): Test
8973 gomp_places_list_len == 0 rather than gomp_places_list == 0
8974 when checking for topology reading error.
8975 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8976 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8977 gomp_places_list, only parse env var and always return false.
8978 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8979 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8980 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8981 and either of these variables were parsed correctly into a places
8982 list.
8983
1d340638
TS
89842013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8985 Jakub Jelinek <jakub@redhat.com>
8986
8987 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8988 of 5 loopfn matches.
8989 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8990 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8991 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8992 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8993 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8994 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8995 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8996 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8997
71a81c21
TS
89982013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8999
bd87f731
TS
9000 * Makefile.am (omp_lib.mod): Streamline rule.
9001 * Makefile.in: Regenerate.
9002
f5745bed
TS
9003 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9004 exceptions.
9005
b5512c66
TS
9006 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9007 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9008 * testsuite/libgomp.fortran/lib2.f: Likewise.
9009 * testsuite/libgomp.fortran/lib3.f: Likewise.
9010
451c19c4
TS
9011 * configure.ac: Typo fix.
9012 * configure: Regenerate.
9013
86a6016d
TS
9014 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9015 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9016
71a81c21
TS
9017 * omp.h.in: Don't touch the user's namespace.
9018
acf0174b
JJ
90192013-10-11 Jakub Jelinek <jakub@redhat.com>
9020 Tobias Burnus <burnus@net-b.de>
9021 Richard Henderson <rth@redhat.com>
9022
9023 * target.c: New file.
9024 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9025 * Makefile.in: Regenerated.
9026 * libgomp_g.h (GOMP_task): Add depend argument.
9027 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9028 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9029 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9030 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9031 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9032 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9033 GOMP_taskgroup_start, GOMP_taskgroup_end,
9034 GOMP_parallel_sections): New prototypes.
9035 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9036 (omp_is_initial_device_): New function.
9037 (ULP, STR1, STR2, ialias_redirect): Removed.
9038 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9039 omp_set_default_device_8_, omp_get_default_device_,
9040 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9041 functions.
9042 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9043 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9044 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9045 @@GOMP_4.0.
9046 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9047 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9048 omp_set_default_device, omp_set_default_device_,
9049 omp_set_default_device_8_, omp_get_default_device,
9050 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9051 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9052 omp_get_team_num_): Export @@OMP_4.0.
9053 * team.c (struct gomp_thread_start_data): Add place field.
9054 (gomp_thread_start): Clear thr->thread_pool and
9055 thr->task before returning. Use gomp_team_barrier_wait_final
9056 instead of gomp_team_barrier_wait. Initialize thr->place.
9057 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9058 team_cancelled and task_queued_count fields.
9059 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9060 before calling pthread_exit.
9061 (gomp_free_thread): No longer static. Use
9062 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9063 (gomp_team_start): Add flags argument. Set
9064 thr->thread_pool->threads_busy to nthreads immediately after creating
9065 new pool. Use gomp_managed_threads_lock instead of
9066 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9067 (gomp_team_end): Use gomp_managed_threads_lock instead of
9068 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9069 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 9070 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
9071 rather than thr->ts.work_share.
9072 (initialize_team): Don't call gomp_sem_init here.
9073 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9074 caller.
9075 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9076 * env.c (gomp_global_icv): Add default_device_var, target_data and
9077 bind_var initializers.
9078 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9079 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9080 gomp_places_list_len): New variables.
9081 (parse_bind_var, parse_one_place, parse_places_var): New functions.
9082 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
9083 sized places.
9084 (gomp_cancel_var): New global variable.
9085 (parse_int): New function.
9086 (handle_omp_display_env): New function.
9087 (initialize_env): Use it. Initialize default_device_var.
9088 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
9089 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
9090 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
9091 been successfully parsed (and call gomp_init_affinity in that case).
9092 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9093 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9094 omp_get_team_num, omp_is_initial_device): New functions.
9095 * libgomp.h: Include stdlib.h.
9096 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9097 Define.
9098 (struct target_mem_desc): Forward declare.
9099 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
9100 and thread_limit_var fields.
9101 (gomp_get_num_devices): New prototype.
9102 (gomp_cancel_var): New extern decl.
9103 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9104 team_cancelled and task_queued_count fields. Add comments about
9105 task_{,queued_,running_}count.
9106 (gomp_cancel_kind): New enum.
9107 (gomp_work_share_end_cancel): New prototype.
9108 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9109 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9110 and depend fields.
9111 (struct gomp_taskgroup): New type.
9112 (struct gomp_task_depend_entry,
9113 struct gomp_dependers_vec): New types.
9114 (gomp_finish_task): Free depend_hash if non-NULL.
9115 (struct gomp_team_state): Add place_partition_off
9116 and place_partition_len fields.
9117 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9118 gomp_places_list_len): New extern decls.
9119 (struct gomp_thread): Add place field.
9120 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9121 (gomp_init_thread_affinity): Add place argument.
9122 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9123 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9124 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9125 gomp_affinity_init_level, gomp_affinity_print_place): New
9126 prototypes.
9127 (gomp_team_start): Add flags argument.
9128 (gomp_thread_limit_var, gomp_remaining_threads_count,
9129 gomp_remaining_threads_lock): Remove.
9130 (gomp_managed_threads_lock): New variable.
9131 (struct gomp_thread_pool): Add threads_busy field.
9132 (gomp_free_thread): New prototype.
9133 * task.c: Include hashtab.h.
9134 (hash_entry_type): New typedef.
9135 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9136 (gomp_init_task): Clear dependers, depend_hash, depend_count,
9137 copy_ctors_done and taskgroup fields.
9138 (GOMP_task): Add depend argument, handle depend clauses. If
9139 gomp_team_barrier_cancelled or if it's taskgroup has been
9140 cancelled, don't queue or start new tasks. Set copy_ctors_done
9141 field if needed. Initialize taskgroup field. If copy_ctors_done
9142 and already cancelled, don't discard the task. If taskgroup is
9143 non-NULL, enqueue the task into taskgroup queue. Increment
9144 num_children field in taskgroup. Increment task_queued_count.
9145 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
9146 gomp_task_run_post_remove_taskgroup): New inline functions.
9147 (gomp_task_run_post_handle_depend_hash,
9148 gomp_task_run_post_handle_dependers,
9149 gomp_task_run_post_handle_depend): New functions.
9150 (GOMP_taskwait): Use them. If more than one new tasks
9151 have been queued, wake other threads if needed.
9152 (gomp_barrier_handle_tasks): Likewise. If
9153 gomp_team_barrier_cancelled, don't start any new tasks, just free
9154 all tasks.
9155 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9156 * omp_lib.f90.in
9157 (omp_proc_bind_kind, omp_proc_bind_false,
9158 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9159 omp_proc_bind_spread): New params.
9160 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9161 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9162 omp_get_team_num, omp_is_initial_device): New interfaces.
9163 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
9164 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9165 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9166 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9167 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9168 useless use omp_lib_kinds.
9169 * omp.h.in (omp_proc_bind_t): New typedef.
9170 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9171 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9172 omp_get_team_num, omp_is_initial_device): New prototypes.
9173 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9174 through to gomp_team_start.
9175 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9176 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9177 Adjust gomp_parallel_loop_start callers.
9178 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9179 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9180 GOMP_loop_end_cancel): New functions.
9181 (GOMP_parallel_end): Add ialias_redirect.
9182 * hashtab.h: New file.
9183 * libgomp.texi (Environment Variables): Minor cleanup,
9184 update section refs to OpenMP 4.0rc2.
9185 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9186 environment variables.
9187 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9188 team->work_shares_to_free to thr->ts.work_share before calling
9189 free_work_share.
9190 (gomp_work_share_end_cancel): New function.
9191 * config/linux/proc.c: Include errno.h.
9192 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9193 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9194 sizeof (cpu_set_t) to determine number of iterations. Fix up check
9195 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
9196 gomp_cpuset_size is sizeof (cpu_set_t).
9197 (gomp_init_num_threads): Initialize gomp_cpuset_size,
9198 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9199 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9200 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
9201 contain any logical CPUs.
9202 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9203 is NULL. Use gomp_cpusetp instead of &cpuset and pass
9204 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9205 pthread_getaffinity_np. Check gomp_places_list instead of
9206 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
9207 * config/linux/bar.c (gomp_barrier_wait_end,
9208 gomp_barrier_wait_last): Use BAR_* defines.
9209 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
9210 from state where needed. Set work_share_cancelled to 0 on last
9211 thread.
9212 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9213 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9214 functions.
9215 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9216 Add cpusetsize argument.
9217 (gomp_cpuset_size, gomp_cpusetp): Declare.
9218 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9219 (affinity_counter): Remove.
9220 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9221 if CPU_ALLOC_SIZE isn't defined.
9222 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9223 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9224 bind current thread to the first place.
9225 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9226 pthread_setaffinity_np to gomp_places_list[place].
9227 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9228 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9229 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9230 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9231 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9232 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9233 (gomp_barrier_t): Add awaited_final field.
9234 (gomp_barrier_init): Initialize awaited_final field.
9235 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9236 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9237 prototypes.
9238 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9239 defines.
9240 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9241 gomp_team_barrier_cancelled): New inline functions.
9242 (gomp_barrier_last_thread,
9243 gomp_team_barrier_set_task_pending,
9244 gomp_team_barrier_clear_task_pending,
9245 gomp_team_barrier_set_waiting_for_tasks,
9246 gomp_team_barrier_waiting_for_tasks,
9247 gomp_team_barrier_done): Use BAR_* defines.
9248 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9249 (gomp_barrier_wait_end): Use BAR_* defines.
9250 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9251 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9252 Use BAR_* defines.
9253 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9254 gomp_team_barrier_cancel): New functions.
9255 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9256 argument.
9257 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9258 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9259 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9260 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9261 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9262 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9263 (gomp_barrier_t): Add cancellable field.
9264 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9265 gomp_team_barrier_cancel): New prototypes.
9266 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9267 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9268 gomp_team_barrier_cancelled): New inline functions.
9269 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9270 gomp_team_barrier_set_task_pending,
9271 gomp_team_barrier_clear_task_pending,
9272 gomp_team_barrier_set_waiting_for_tasks,
9273 gomp_team_barrier_waiting_for_tasks,
9274 gomp_team_barrier_done): Use BAR_* defines.
9275 * barrier.c (GOMP_barrier_cancel): New function.
9276 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9277 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9278 omp_proc_bind_spread): New params.
9279 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9280 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9281 omp_get_team_num, omp_is_initial_device): New externals.
9282 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9283 New functions.
9284 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9285 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9286 infinity. If not nested, just return minimum of max_num_threads
9287 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9288 to the returned value. Otherwise, don't update atomically
9289 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9290 (GOMP_parallel_end): Adjust for thread_limit now being in
9291 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9292 infinity. Adjust threads_busy in the pool rather than
9293 gomp_remaining_threads_count. Remember team->nthreads and call
9294 gomp_team_end before adjusting threads_busy, if not nested
9295 afterwards, just set it to 1 non-atomically. Add ialias.
9296 (GOMP_parallel_start): Adjust gomp_team_start caller.
9297 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9298 * testsuite/libgomp.c/affinity-1.c: New test.
9299 * testsuite/libgomp.c/atomic-15.c: New test.
9300 * testsuite/libgomp.c/atomic-16.c: New test.
9301 * testsuite/libgomp.c/atomic-17.c: New test.
9302 * testsuite/libgomp.c/cancel-for-1.c: New test.
9303 * testsuite/libgomp.c/cancel-for-2.c: New test.
9304 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9305 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9306 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9307 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9308 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9309 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9310 * testsuite/libgomp.c/depend-1.c: New test.
9311 * testsuite/libgomp.c/depend-2.c: New test.
9312 * testsuite/libgomp.c/depend-3.c: New test.
9313 * testsuite/libgomp.c/depend-4.c: New test.
9314 * testsuite/libgomp.c/for-1.c: New test.
9315 * testsuite/libgomp.c/for-1.h: New file.
9316 * testsuite/libgomp.c/for-2.c: New test.
9317 * testsuite/libgomp.c/for-2.h: New file.
9318 * testsuite/libgomp.c/for-3.c: New test.
9319 * testsuite/libgomp.c/pr58392.c: New test.
9320 * testsuite/libgomp.c/simd-1.c: New test.
9321 * testsuite/libgomp.c/simd-2.c: New test.
9322 * testsuite/libgomp.c/simd-3.c: New test.
9323 * testsuite/libgomp.c/simd-4.c: New test.
9324 * testsuite/libgomp.c/simd-5.c: New test.
9325 * testsuite/libgomp.c/simd-6.c: New test.
9326 * testsuite/libgomp.c/target-1.c: New test.
9327 * testsuite/libgomp.c/target-2.c: New test.
9328 * testsuite/libgomp.c/target-3.c: New test.
9329 * testsuite/libgomp.c/target-4.c: New test.
9330 * testsuite/libgomp.c/target-5.c: New test.
9331 * testsuite/libgomp.c/target-6.c: New test.
9332 * testsuite/libgomp.c/target-7.c: New test.
9333 * testsuite/libgomp.c/taskgroup-1.c: New test.
9334 * testsuite/libgomp.c/thread-limit-1.c: New test.
9335 * testsuite/libgomp.c/thread-limit-2.c: New test.
9336 * testsuite/libgomp.c/thread-limit-3.c: New test.
9337 * testsuite/libgomp.c/udr-1.c: New test.
9338 * testsuite/libgomp.c/udr-2.c: New test.
9339 * testsuite/libgomp.c/udr-3.c: New test.
9340 * testsuite/libgomp.c++/affinity-1.C: New test.
9341 * testsuite/libgomp.c++/atomic-10.C: New test.
9342 * testsuite/libgomp.c++/atomic-11.C: New test.
9343 * testsuite/libgomp.c++/atomic-12.C: New test.
9344 * testsuite/libgomp.c++/atomic-13.C: New test.
9345 * testsuite/libgomp.c++/atomic-14.C: New test.
9346 * testsuite/libgomp.c++/atomic-15.C: New test.
9347 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9348 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9349 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9350 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9351 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9352 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9353 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9354 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9355 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9356 * testsuite/libgomp.c++/cancel-test.h: New file.
9357 * testsuite/libgomp.c++/for-9.C: New test.
9358 * testsuite/libgomp.c++/for-10.C: New test.
9359 * testsuite/libgomp.c++/for-11.C: New test.
9360 * testsuite/libgomp.c++/simd-1.C: New test.
9361 * testsuite/libgomp.c++/simd-2.C: New test.
9362 * testsuite/libgomp.c++/simd-3.C: New test.
9363 * testsuite/libgomp.c++/simd-4.C: New test.
9364 * testsuite/libgomp.c++/simd-5.C: New test.
9365 * testsuite/libgomp.c++/simd-6.C: New test.
9366 * testsuite/libgomp.c++/simd-7.C: New test.
9367 * testsuite/libgomp.c++/simd-8.C: New test.
9368 * testsuite/libgomp.c++/target-1.C: New test.
9369 * testsuite/libgomp.c++/target-2.C: New test.
9370 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9371 * testsuite/libgomp.c++/target-3.C: New test.
9372 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9373 * testsuite/libgomp.c++/udr-1.C: New test.
9374 * testsuite/libgomp.c++/udr-2.C: New test.
9375 * testsuite/libgomp.c++/udr-3.C: New test.
9376 * testsuite/libgomp.c++/udr-4.C: New test.
9377 * testsuite/libgomp.c++/udr-5.C: New test.
9378 * testsuite/libgomp.c++/udr-6.C: New test.
9379 * testsuite/libgomp.c++/udr-7.C: New test.
9380 * testsuite/libgomp.c++/udr-8.C: New test.
9381 * testsuite/libgomp.c++/udr-9.C: New test.
9382
bd599dea
JJ
93832013-09-20 Jakub Jelinek <jakub@redhat.com>
9384
9385 PR testsuite/57605
9386 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9387 ALWAYS_CFLAGS.
9388
3cbe17f7
AM
93892013-09-20 Alan Modra <amodra@gmail.com>
9390
9391 * configure: Regenerate.
9392
4befd127
JJ
93932013-09-19 Jakub Jelinek <jakub@redhat.com>
9394
9395 * testsuite/libgomp.c/sections-2.c: New test.
9396
946c8f7b
MS
93972013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9398
9399 * testsuite/libgomp.fortran/strassen.f90:
9400 Add dg-skip-if aarch64_tiny.
9401
1ef3b58e
IS
94022013-06-20 Iain Sandoe <iain@codesourcery.com>
9403 Cesar Philippidis <cesar@codesourcery.com>
9404
9405 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9406 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9407 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9408 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9409 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9410 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9411 Use dg-runtest rather than gfortran-dg-runtest.
9412
9275f73a
TS
94132013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9414
9415 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9416 Linux-based x86 systems to cover all GNU systems.
9417 * testsuite/libgomp.c/lock-3.c: Likewise.
9418 * testsuite/libgomp.c/pr48591.c: Likewise.
9419
492992e2
TS
94202013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9421
48df3acb
TS
9422 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9423 GNU/Hurd, as done for Linux-based systems.
9424
492992e2
TS
9425 * config/posix/ptrlock.h: Fix comment.
9426
4fed6b25
TB
94272013-05-27 Tobias Burnus <burnus@net-b.de>
9428
9429 PR fortran/57423
9430 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9431 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9432 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9433 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9434 omp_destroy_nest_lock): Correct arguments to match the one in
9435 the OpenMP spec.
9436 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9437 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9438 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9439 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9440
5a0f4dd3
JJ
94412013-05-16 Jakub Jelinek <jakub@redhat.com>
9442
9443 * testsuite/libgomp.c/loop-13.c: New test.
9444 * testsuite/libgomp.c/loop-14.c: New test.
9445 * testsuite/libgomp.c/loop-15.c: New test.
9446 * testsuite/libgomp.c++/loop-13.C: New test.
9447 * testsuite/libgomp.c++/loop-14.C: New test.
9448 * testsuite/libgomp.c++/loop-15.C: New test.
9449
6d840d99
JJ
94502013-02-06 Jakub Jelinek <jakub@redhat.com>
9451
9452 PR middle-end/56217
9453 * testsuite/libgomp.c++/pr56217.C: New test.
9454
bed8d8a6
AM
94552013-02-01 Alan Modra <amodra@gmail.com>
9456
9457 * task.c (GOMP_task, GOMP_taskwait): Comment.
9458
3b35cd04
DV
94592013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9460 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9461
9462 PR libgomp/55561
9463 * config/linux/wait.h (do_spin): Use atomic load for addr.
9464 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9465 for intptr and ptrlock.
9466 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9467 for ptrlock.
9468
9a647288
AM
94692013-01-22 Alan Modra <amodra@gmail.com>
9470
9471 PR libgomp/51376
9472 PR libgomp/56073
9473 * task.c (GOMP_task): Revert 2011-12-09 change.
9474 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9475 barrier to read task->children..
9476 (gomp_barrier_handle_tasks): ..and matching atomic store with
9477 release barrier here when setting parent->children to NULL.
9478
f34dea03
JJ
94792013-01-16 Jakub Jelinek <jakub@redhat.com>
9480 Tobias Burnus <burnus@net-b.de>
9481
9482 PR driver/55884
9483 * testsuite/libgomp.fortran/fortran.exp: Use
9484 -fintrinsic-modules-path= instead of
9485 -fintrinsic-modules-path.
9486
8129609c
RS
94872013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9488
9489 Update copyright years.
9490
aa86bf1e
TB
94912012-12-19 Tobias Burnus <burnus@net-b.de>
9492
9493 * testsuite/libgomp.fortran/fortran.exp: Set
9494 -fintrinsic-modules-path.
9495
2865ea66
TB
94962012-12-19 Tobias Burnus <burnus@net-b.de>
9497
9498 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9499 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9500
4c5ba8d0
JJ
95012012-11-21 Jakub Jelinek <jakub@redhat.com>
9502
9503 PR libgomp/55411
9504 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9505 if pool had any threads_used.
9506
e9f958c2
JH
95072012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9508
9509 * testsuite/libgomp.c++/pr24455.C: Use
9510 -Wl,-undefined,dynamic_lookup on darwin.
9511
a57d75dc
DE
95122012-11-07 David Edelsohn <dje.gcc@gmail.com>
9513
9514 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9515
c6c08485
DH
95162012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9517
9518 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9519
c1f37c00
IB
95202012-10-23 Ian Bolton <ian.bolton@arm.com>
9521 Jim MacArthur <jim.macarthur@arm.com>
9522 Marcus Shawcroft <marcus.shawcroft@arm.com>
9523 Nigel Stephens <nigel.stephens@arm.com>
9524 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9525 Richard Earnshaw <rearnsha@arm.com>
9526 Sofiane Naci <sofiane.naci@arm.com>
9527 Stephen Thomas <stephen.thomas@arm.com>
9528 Tejas Belagod <tejas.belagod@arm.com>
9529 Yufeng Zhang <yufeng.zhang@arm.com>
9530
9531 * configure.tgt: Add AArch64.
9532
7c424acd
JM
95332012-10-04 Jason Merrill <jason@redhat.com>
9534
9535 * testsuite/libgomp.c++/tls-init1.C: New.
9536
6608378b
DE
95372012-09-14 David Edelsohn <dje.gcc@gmail.com>
9538
9539 * configure: Regenerated.
9540
c24dbebb
CLT
95412012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9542
9543 * config/linux/mips/futex.h (sys_futex0): Change to static
9544 function with noinline, nomips16 attributes under MIPS16. Adjust
9545 asm statement to place 'li v0,SYS_futex' immediately before
9546 syscall insn.
9547
3d3949df
SL
95482012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9549
9550 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9551 conflict with index.html on case-insensitive file systems.
9552
68a12ef3
UB
95532012-07-03 Uros Bizjak <ubizjak@gmail.com>
9554
9555 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9556 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9557
33ad93b9 95582012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
9559 Michael Matz <matz@suse.de>
9560 Tobias Grosser <tobias@grosser.es>
9561 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
9562
9563 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9564 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9565 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9566 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9567
e6fdc918
AS
95682012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9569
9570 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9571
62e0a1ed
RG
95722012-06-22 Richard Guenther <rguenther@suse.de>
9573
9574 Merge from graphite branch
9575 2012-01-13 Tobias Grosser <tobias@grosser.es>
9576
9577 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9578 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9579
26127932
JJ
95802012-06-07 Jakub Jelinek <jakub@redhat.com>
9581
9582 PR middle-end/53580
9583 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9584 use GOMP_barrier () call instead.
9585 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9586 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9587 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9588 call GOMP_barrier instead.
9589 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9590
43fa5db5
JJ
95912012-06-06 Jakub Jelinek <jakub@redhat.com>
9592
9593 PR libgomp/52993
9594 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9595 argument to memset call.
9596
e6d5f8c9
L
95972012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9598
9599 * configure: Regenerated.
9600
559d990c
MLI
96012012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9602
9603 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9604
b9c23a61
L
96052012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9606
9607 PR bootstrap/52812
9608 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9609
c140ddf3
JJ
96102012-03-22 Jakub Jelinek <jakub@redhat.com>
9611
9612 PR middle-end/52547
9613 * testsuite/libgomp.c/pr52547.c: New test.
9614
6a26a74d
BRF
96152012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9616
9617 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9618
b24513a1
RO
96192012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9620
9621 * configure.tgt (mips-sgi-irix6*): Remove.
9622
5c30094f
RO
96232012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9624
9625 * configure.tgt (alpha*-dec-osf*): Remove.
9626
9627 * config/osf/sem.h: Remove.
9628 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9629
a339c9d6
EB
96302012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9631
9632 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9633
cc2de92d
RO
96342012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9635
9636 PR libstdc++/52188
9637 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9638 Remove ENABLE_SYMVERS_SOL2.
9639 * configure: Regenerate.
9640 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9641 (PREPROCESS): New variable.
9642 (libgomp.ver): New target.
9643 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9644 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9645 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9646 Use libgomp.ver.
9647 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9648 * Makefile.in: Regenerate.
9649
dd552284
WL
96502012-02-14 Walter Lee <walt@tilera.com>
9651
9652 * configure.tgt: Handle tilegx and tilepro.
9653 * config/linux/tile/futex.h: New file.
9654
31432e21
RG
96552012-02-08 Richard Guenther <rguenther@suse.de>
9656
9657 PR tree-optimization/46886
9658 * testsuite/libgomp.c/pr46886.c: New testcase.
9659
b9264b5f
MK
96602012-01-25 Matthias Klose <doko@ubuntu.com>
9661
9662 * config/linux/arm: Remove empty directory.
9663 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9664
fbf7be80
AM
96652011-12-09 Alan Modra <amodra@gmail.com>
9666
9667 PR libgomp/51376
9668 * task.c (GOMP_taskwait): Don't access task->children outside of
9669 task_lock mutex region.
9670 (GOMP_task): Likewise.
9671
5de62d00
JJ
96722011-12-06 Jakub Jelinek <jakub@redhat.com>
9673
9674 PR libgomp/51132
9675 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9676 to file scope.
9677 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9678 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9679 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9680 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9681 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9682
45608a43
AM
96832011-12-02 Alan Modra <amodra@gmail.com>
9684
9685 * config/linux/affinity.c: Use atomic rather than sync builtin.
9686 * config/linux/lock.c: Likewise.
9687 * config/linux/ptrlock.h: Likewise.
9688 * config/linux/ptrlock.c: Likewise.
9689 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9690 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9691 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9692 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9693 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9694 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9695 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9696 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9697 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9698 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9699
ab6dd406
AM
97002011-11-30 Alan Modra <amodra@gmail.com>
9701
9702 PR libgomp/51298
9703 * config/linux/bar.h: Use atomic rather than sync builtins.
9704 * config/linux/bar.c: Likewise. Add missing acquire
9705 synchronisation on generation field.
9706 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9707 double unlock.
9708
b40c885f
AM
97092011-11-30 Alan Modra <amodra@gmail.com>
9710
9711 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9712 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9713 * config/linux/mutex.h: Use atomic rather than sync builtins.
9714 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9715 * config/linux/omp-lock.h: Comment fix.
9716 * config/linux/arm/mutex.h: Delete.
9717 * config/linux/powerpc/mutex.h: Delete.
9718 * config/linux/ia64/mutex.h: Delete.
9719 * config/linux/mips/mutex.h: Delete.
9720
3e348fcc
AM
97212011-11-30 Alan Modra <amodra@gmail.com>
9722
9723 PR libgomp/51249
9724 * config/linux/sem.h: Rewrite.
9725 * config/linux/sem.c: Rewrite.
9726
cef86eb2
RH
97272011-11-28 Richard Henderson <rth@redhat.com>
9728
9729 * libgomp.h (enum memmodel): New.
9730
c6084f68
AT
97312011-11-21 Andreas Tobler <andreast@fgznet.ch>
9732
9733 * configure: Regenerate.
9734
06fe026c
MK
97352011-10-10 Matthias Klose <doko@ubuntu.com>
9736
9737 * config/posix95: Remove empty directory.
9738
a6c975bd
JJ
97392011-08-26 Jakub Jelinek <jakub@redhat.com>
9740
9741 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9742
c26dffff
JJ
97432011-08-19 Jakub Jelinek <jakub@redhat.com>
9744
9745 PR fortran/49792
9746 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9747 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9748
ddaad3c8
RO
97492011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9750
9751 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9752
98d03683
RO
97532011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9754
9755 PR libgomp/49965
9756 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9757
e0b23d9f
UB
97582011-08-03 Uros Bizjak <ubizjak@gmail.com>
9759
9760 * config/linux/proc.h: New.
9761 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9762 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9763 (gomp_init_num_threads): Update call to cpuset_popcount.
9764 (get_num_procs): Ditto.
9765 * config/linux/affinity.c (gomp_init_affinity): Call
9766 gomp_cpuset_popcount.
9767
20906c66
JJ
97682011-08-02 Jakub Jelinek <jakub@redhat.com>
9769
9770 PR fortran/42041
9771 PR fortran/46752
9772 * omp.h.in (omp_in_final): New prototype.
9773 * omp_lib.f90.in (omp_in_final): New interface.
9774 (omp_integer_kind, omp_logical_kind): Remove
9775 and replace all its uses in the module with 4.
9776 (openmp_version): Change to 201107.
9777 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9778 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9779 kind for the parameters.
9780 (omp_in_final): New external.
9781 (openmp_version): Change to 201107.
9782 * task.c (omp_in_final): New function.
9783 (gomp_init_task): Initialize final_task.
9784 (GOMP_task): Remove unused attribute from flags. Handle final
9785 tasks.
9786 (GOMP_taskyield): New function.
9787 (omp_in_final): Return true if if (false) or final (true) task
9788 or descendant of final (true).
9789 * fortran.c (omp_in_final_): New function.
9790 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9791 (GOMP_3.0): Export GOMP_taskyield.
9792 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9793 variables.
9794 (parse_unsigned_long_list): New function.
9795 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9796 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9797 even if parse_affinity returned false.
9798 * config/linux/affinity.c (gomp_init_affinity): Handle
9799 gomp_cpu_affinity_len == 0.
9800 * libgomp_g.h (GOMP_taskyield): New prototype.
9801 * libgomp.h (struct gomp_task): Add final_task field.
9802 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9803 * team.c (gomp_team_start): Override new task's nthreads_var icv
9804 if list form OMP_NUM_THREADS has been used and it has value for
9805 the new nesting level.
9806
9807 * testsuite/libgomp.c/atomic-11.c: New test.
9808 * testsuite/libgomp.c/atomic-12.c: New test.
9809 * testsuite/libgomp.c/atomic-13.c: New test.
9810 * testsuite/libgomp.c/atomic-14.c: New test.
9811 * testsuite/libgomp.c/reduction-6.c: New test.
9812 * testsuite/libgomp.c/task-5.c: New test.
9813 * testsuite/libgomp.c++/atomic-2.C: New test.
9814 * testsuite/libgomp.c++/atomic-3.C: New test.
9815 * testsuite/libgomp.c++/atomic-4.C: New test.
9816 * testsuite/libgomp.c++/atomic-5.C: New test.
9817 * testsuite/libgomp.c++/atomic-6.C: New test.
9818 * testsuite/libgomp.c++/atomic-7.C: New test.
9819 * testsuite/libgomp.c++/atomic-8.C: New test.
9820 * testsuite/libgomp.c++/atomic-9.C: New test.
9821 * testsuite/libgomp.c++/task-8.C: New test.
9822 * testsuite/libgomp.c++/reduction-4.C: New test.
9823 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9824 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9825 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9826 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9827 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9828 * testsuite/libgomp.fortran/pointer1.f90: New test.
9829 * testsuite/libgomp.fortran/pointer2.f90: New test.
9830 * testsuite/libgomp.fortran/task4.f90: New test.
9831
98322011-08-02 Tobias Burnus <burnus@net-b.de>
9833
9834 * libgomp.texi: Update OpenMP spec references to 3.1.
9835 (omp_in_final,OMP_PROC_BIND): New sections.
9836 (OMP_NUM_THREADS): Document that the value can be now a list.
9837 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9838
c01ecafc
L
98392011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9840
9841 * config/linux/x86/futex.h: Check __x86_64__ instead of
9842 __LP64__.
9843
25142650
JJ
98442011-07-29 Jakub Jelinek <jakub@redhat.com>
9845
9846 PR middle-end/49897
9847 PR middle-end/49898
9848 * testsuite/libgomp.c/pr49897-1.c: New test.
9849 * testsuite/libgomp.c/pr49897-2.c: New test.
9850 * testsuite/libgomp.c/pr49898-1.c: New test.
9851 * testsuite/libgomp.c/pr49898-2.c: New test.
9852
f53d712f
L
98532011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9854
9855 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9856 for ia32 instead of ilp32.
9857
9858 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9859 * testsuite/libgomp.c/atomic-6.c: Likewise.
9860
3689198d
SP
98612011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9862
9863 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9864 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9865
1a79cb73
RO
98662011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9867
9868 PR libgomp/45351
9869 * config/osf/sem.h: New file.
9870 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9871
c1f51484
RO
98722011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9873
9874 PR target/49541
9875 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9876 ldflags.
9877
bfee0724
JJ
98782011-07-15 Jakub Jelinek <jakub@redhat.com>
9879
9880 * config/linux/wait.h (do_spin): New inline, largely copied
9881 from do_wait, just don't do futex_wait here, instead return true if
9882 it should be done.
9883 (do_wait): Implement using do_spin.
9884 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9885 to prototype.
9886 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9887 __sync_bool_compare_and_swap, pass the oldval to
9888 gomp_mutex_lock_slow.
9889 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9890 If all mutex contenders are just spinning and not sleeping, don't
9891 change state to 2 unnecessarily. Optimize the loop when state has
9892 already become 2 to use just one atomic operation per loop instead
9893 of two.
9894 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9895 to prototype.
9896 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9897 __sync_bool_compare_and_swap, pass the oldval to
9898 gomp_mutex_lock_slow.
9899
fb79f500
JJ
99002011-06-22 Jakub Jelinek <jakub@redhat.com>
9901
9902 PR libgomp/49490
9903 * iter.c (gomp_iter_static_next): For chunk size 0
9904 only use n ceil/ nthreads size for the first
9905 n % nthreads threads in the team instead of
9906 all threads except for the last few ones which
9907 get less work or none at all.
9908 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9909 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9910 chunk argument, set run_sched_modifier to 0 for static
9911 resp. 1 for other kinds. If chunk argument is 0
9912 and not static, set value to 1.
9913
4577f730
JJ
99142011-05-19 Jakub Jelinek <jakub@redhat.com>
9915
ea93a47b
JJ
9916 PR c++/49043
9917 * testsuite/libgomp.c++/pr49043.C: New test.
9918
4577f730
JJ
9919 PR c++/48869
9920 * testsuite/libgomp.c++/pr48869.C: New test.
9921
e7385332
JJ
99222011-05-06 Jakub Jelinek <jakub@redhat.com>
9923
9924 PR fortran/48894
9925 * fortran.c: Include limits.h.
9926 (TO_INT): Define.
9927 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9928 *set.
9929 (omp_set_num_threads_8_, omp_set_schedule_8_,
9930 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9931 omp_get_team_size_8_): Use TO_INT macro.
9932 * testsuite/libgomp.fortran/pr48894.f90: New test.
9933
20790697
JJ
99342011-04-13 Jakub Jelinek <jakub@redhat.com>
9935
9936 PR middle-end/48591
9937 * testsuite/libgomp.c/pr48591.c: New test.
9938
bf382f5f
RO
99392011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9940
9941 PR bootstrap/48135
9942 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9943 * configure: Regenerate.
9944
113a53c1
JJ
99452011-02-27 Jakub Jelinek <jakub@redhat.com>
9946
9947 PR fortran/47886
9948 * testsuite/libgomp.fortran/task3.f90: New test.
9949
0024f1af
TB
99502011-02-24 Tobias Burnus <burnus@net-b.de>
9951
9952 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9953
21e1e594
JJ
99542011-02-23 Jakub Jelinek <jakub@redhat.com>
9955
9956 PR libgomp/47854
9957 * libgomp.texi (omp_get_wtime): Don't say time in the past
9958 must be Unix Epoch.
9959
67962076
JJ
99602011-02-18 Jakub Jelinek <jakub@redhat.com>
9961
9962 PR libgomp/47804
9963 * testsuite/libgomp.fortran/fortran.exp: Check for both
9964 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9965 but $blddir != "", still append ${blddir}/${lang_library_path}
9966 to ld_library_path.
9967
3808007c
TB
99682011-02-16 Tobias Burnus <burnus@net-b.de>
9969
9970 PR libgomp/47758
9971 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9972 of libquadmath.a before adding its libpath to ldflags.
9973
53b4d41d
JJ
99742011-02-14 Jakub Jelinek <jakub@redhat.com>
9975
9976 PR libgomp/47731
9977 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9978 to FUTEX_WAIT futex syscall.
9979 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9980
029c8f3e
RW
99812011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9982
9983 * configure: Regenerate.
9984
bddd6626
BK
99852011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9986
9987 PR libstdc++/36104
9988 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9989
f1d4ab26
GP
99902011-01-16 Gerald Pfeifer
9991
9992 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9993
2b503136
JJ
99942010-12-14 Jakub Jelinek <jakub@redhat.com>
9995
9996 PR fortran/46874
9997 * libgomp.fortran/allocatable6.f90: New test.
9998
c0f9d583
RO
99992010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10000
10001 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10002 * configure: Regenerate.
10003
7de6ba7a
DK
100042010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
10005
10006 PR target/40125
10007 PR lto/46695
10008 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10009 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10010 * aclocal.m4: Regenerate.
10011 * configure: Regenerate.
10012 * Makefile.in: Regenerate.
10013 * testsuite/Makefile.in: Regenerate.
10014
b7516041
JJ
100152010-12-02 Jakub Jelinek <jakub@redhat.com>
10016
edaadf74
JJ
10017 PR fortran/46753
10018 * libgomp.fortran/pr46753.f90: New test.
10019
4c698cf8
JJ
10020 PR libgomp/43706
10021 * env.c (initialize_env): Default to spin count 300000
10022 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10023 is specified.
10024
b7516041
JJ
10025 PR libgomp/45240
10026 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10027 at the end if sync builtins aren't supported.
10028
6b43a34c
RO
100292010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10030
10031 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10032
950691fa
RO
100332010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10034
10035 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10036
fb9041ea
IS
100372010-11-24 Iain Sandoe <iains@gcc.gnu.org>
10038
10039 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10040
1ec601bf
FXC
100412010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10042 Tobias Burnus <burnus@net-b.de>
10043
10044 PR fortran/32049
3e348fcc 10045 * configure.ac:
1ec601bf
FXC
10046 * configure: Regenerate.
10047
d213e92e
MS
100482010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
10049
10050 * config/linux/futex.h: New.
10051 * config/linux/arm/mutex.h: New.
10052 * configure.tgt (arm*-*-linux*): Add config path.
10053
89d5c66f
SP
100542010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10055
10056 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10057
87350d4a
TB
100582010-09-23 Tobias Burnus <burnus@net-b.de>
10059
10060 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10061 Change Fortran datatype to LOGICAL.
10062 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10063 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10064
75bc9e5e
RW
100652010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10066
10067 * configure: Regenerate.
10068
acb5c916
JJ
100692010-07-26 Jakub Jelinek <jakub@redhat.com>
10070
10071 * libgomp.texi: Add function keyword to a couple of Fortran
10072 interfaces, use integer instead of int for Fortran.
10073
6a2ba183
AH
100742010-07-26 Aldy Hernandez <aldyh@redhat.com>
10075
10076 * libgomp.texi: Fix spelling and pasto problems throughout.
10077 Adjust prototypes to match code.
10078
df161b69
TB
100792010-07-24 Tobias Burnus <burnus@net-b.de>
10080
10081 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10082 silence -fwhole-file warning.
10083
16c9d3b1
RO
100842010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10085
10086 * configure.tgt (*-*-solaris2.[56]*): Removed.
10087
6d28b933
RO
100882010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10089
10090 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10091 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10092 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10093 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10094 targetting solaris2*.
10095 * configure: Regenerate.
10096 * config.h.in: Regenerate.
10097
10098 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10099 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10100 Add libgomp_version_dep.
10101 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10102 versioning.
10103 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10104 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10105 * Makefile.in: Regenerate.
10106
10107 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10108 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10109 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10110 to common block, protected by
10111 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10112
07a67d6a
GP
101132010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
10114
10115 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
10116
dbd34b89
IS
101172010-06-09 Iain Sandoe <iains@gcc.gnu.org>
10118
10119 PR bootstrap/43170
10120 * configure: Regenerate.
10121
13917ae3
RW
101222010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10123
10124 PR other/43620
10125 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10126 * configure: Regenerate.
10127 * Makefile.in: Regenerate.
10128 * testsuite/Makefile.in: Regenerate.
10129
b83a701b
JJ
101302010-04-26 Jakub Jelinek <jakub@redhat.com>
10131
10132 PR c/43893
10133 * testsuite/libgomp.c/pr43893.c: New test.
10134 * testsuite/libgomp.c++/pr43893.C: New test.
10135
78db7d92
JJ
101362010-04-21 Jakub Jelinek <jakub@redhat.com>
10137
10138 PR middle-end/43570
10139 * testsuite/libgomp.fortran/vla8.f90: New test.
10140
5221d7a9
JJ
101412010-04-20 Jakub Jelinek <jakub@redhat.com>
10142
e4ba7a60
JJ
10143 PR libgomp/43706
10144 * config/linux/affinity.c (gomp_init_affinity): Decrease
10145 gomp_available_cpus if affinity mask confines the process to fewer
10146 CPUs.
10147 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10148 non-NULL, just return gomp_available_cpus.
10149
5221d7a9
JJ
10150 PR libgomp/43569
10151 * sections.c (gomp_sections_init): Initialize ws->mode.
10152
289a9f86
UB
101532010-04-14 Uros Bizjak <ubizjak@gmail.com>
10154
10155 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10156 not unused bar variable.
10157 * configure: Regenerate.
10158
4d9e8446
RW
101592010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10160
10161 * Makefile.in: Regenerate.
10162 * aclocal.m4: Regenerate.
10163 * testsuite/Makefile.in: Regenerate.
10164
80f046cc
JJ
101652010-03-22 Jakub Jelinek <jakub@redhat.com>
10166
10167 PR libgomp/42942
10168 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10169 (initialize_env): Adjust callers.
10170 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
10171 when the argument is 0.
10172
10173 * testsuite/libgomp.c/pr42942.c: New test.
10174
b58543c3
SP
101752010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
10176
10177 PR middle-end/42644
10178 PR middle-end/42130
10179 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10180 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10181
41d1138f
RO
101822010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10183
10184 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
10185 * testsuite/libgomp.c++/task-6.C: Likewise.
10186
6684eb28
SE
101872010-01-28 Steve Ellcey <sje@cup.hp.com>
10188
10189 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10190
2122aa97
PB
101912010-01-26 Paolo Bonzini <bonzini@gnu.org>
10192
10193 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
10194 * configure: Regenerate.
10195
057dd91d
JJ
101962010-01-26 Jakub Jelinek <jakub@redhat.com>
10197
10198 PR fortran/42866
10199 * testsuite/libgomp.fortran/allocatable5.f90: New test.
10200
d0709b6a
PB
102012010-01-20 Paolo Bonzini <bonzini@gnu.org>
10202
10203 * configure.ac: Test for executability of GFORTRAN.
10204 * configure: Regenerate.
10205
b9497ab5
RO
102062010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10207
10208 * configure: Regenerate.
10209
45de5648
L
102102010-01-04 H.J. Lu <hongjiu.lu@intel.com>
10211
10212 PR libgomp/42602
10213 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10214
e74003a1
RG
102152010-01-03 Richard Guenther <rguenther@suse.de>
10216
10217 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10218
1b3abda8
SP
102192009-12-23 Sebastian Pop <sebpop@gmail.com>
10220
10221 * testsuite/libgomp.graphite/pr4118.c: New.
10222
e19977d3
IS
102232009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10224
10225 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10226 for darwin, protect the test with require-effective-target tls_runtime.
10227 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10228
1d32a772
IS
102292009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10230
10231 PR target/41605
10232 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10233 link spec %s substitutions for static libraries.
10234
deb109b2
JH
102352009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10236
10237 PR testsuite/42135
10238 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10239
43e02a8a
RW
102402009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10241
10242 * Makefile.in: Regenerate.
10243 * configure: Regenerate.
10244 * testsuite/Makefile.in: Regenerate.
10245
17f35e23
DK
102462009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10247
10248 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10249 settings for LC_ALL and LANG.
10250
281e33e1
JJ
102512009-11-25 Jakub Jelinek <jakub@redhat.com>
10252
10253 PR fortran/42162
10254 * testsuite/libgomp.fortran/pr42162.f90: New test.
10255
2b32c27d
JJ
102562009-11-13 Jakub Jelinek <jakub@redhat.com>
10257
10258 PR middle-end/42029
281e33e1 10259 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 10260
89c74f4a
JJ
102612009-10-26 Jakub Jelinek <jakub@redhat.com>
10262
10263 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10264 *s. Accept ld version without text in ()s.
10265 * configure: Regenerated.
10266
7e06c3d6
EB
102672009-10-22 Razya Ladelsky <razya@il.ibm.com>
10268
10269 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10270
0046b1a7
RW
102712009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10272
10273 PR libgomp/41418
10274 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10275 or a hyphen (happens with fortran language disabled).
10276 * configure: Regenerate.
10277
c82852f7
RW
102782009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10279
10280 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10281 use sed script portable to Solaris /bin/sed for extracting ld
10282 version.
10283 * configure: Regenerate.
10284
98f3eb1f
AM
102852009-09-17 Alexander Monakov <amonakov@ispras.ru>
10286
10287 * testsuite/libgomp.graphite/bounds.c: New test.
10288
878f62e5
RW
102892009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10290
10291 * Makefile.am (libgomp_la_LINK): New.
10292 * Makefile.in: Regenerate.
10293
df58e648
RW
102942009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10295
10296 * configure.ac (AC_PREREQ): Bump to 2.64.
10297
5213506e
RW
102982009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10299
70fa0efa
RW
10300 * Makefile.am (install-html, install-pdf): Remove.
10301 * Makefile.in: Regenerate.
10302
5213506e
RW
10303 * Makefile.in: Regenerate.
10304 * aclocal.m4: Regenerate.
10305 * config.h.in: Regenerate.
10306 * configure: Regenerate.
10307 * testsuite/Makefile.in: Regenerate.
10308
84fec8a5
RW
103092009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10310
10311 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10312 * Makefile.in: Regenerate.
10313
197c68cc
DK
103142009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10315
10316 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10317 * Makefile.in: Regenerate.
10318
693d54f2
TB
103192009-08-19 Tobias Burnus <burnus@net-b.de>
10320
10321 PR fortran/41102
10322 omp_lib.h.in: Fix -std=f95 errors.
10323
8cac884c
DE
103242009-08-14 David Edelsohn <edelsohn@gnu.org>
10325
10326 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10327 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10328 * testsuite/libgomp.graphite/graphite.exp: New.
10329
78729ee2
AT
103302009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10331
10332 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10333 only build.
10334
b13b7f39
DD
103352009-08-04 David Daney <ddaney@caviumnetworks.com>
10336
10337 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10338 needed memory barrier semantics.
10339 * config/linux/mips/mutex.h: New file.
10340
1b3b24c2
RW
103412009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10342
10343 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10344
396b7fa4
JM
103452009-07-16 Joseph Myers <joseph@codesourcery.com>
10346
10347 * configure: Regenerate.
10348
33cde516
RS
103492009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10350
10351 PR testsuite/40699
10352 PR testsuite/40707
10353 PR testsuite/40709
10354 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10355 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10356 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10357
bc21bfa5
RS
103582009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10359
10360 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10361 options when choosing a multilib.
10362
b30bfd40
RS
103632009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10364
10365 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10366 ld_library_path. Use add_path. Add just find_libgcc_s to
10367 ld_library_path, not every libgcc multilib directory.
10368 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10369 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10370 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10371 Use add_path.
10372 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10373
479c15c2
NF
103742009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10375
10376 * Makefile.am (LTLDFLAGS): Define.
10377 (LINK): Define.
10378 * Makefile.in: Regenerate.
10379
667e6f89
JB
103802009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10381
10382 PR fortran/39718
10383 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10384 libgfortranbegin, check existence of libgfortran.a instead of
10385 libgfortranbegin.a.
10386
6dea8e99
JJ
103872009-05-20 Jakub Jelinek <jakub@redhat.com>
10388
10389 PR libgomp/40174
10390 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10391 (gomp_free_pool_helper): Likewise.
10392
34d01e1d
VL
103932009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10394 Jakub Jelinek <jakub@redhat.com>
10395
10396 PR fortran/35423
10397 * testsuite/libgomp.fortran/workshare2.f90: New test.
10398
748086b7
JJ
103992009-04-09 Nick Clifton <nickc@redhat.com>
10400
10401 * iter.c: Change copyright header to refer to version 3 of the
10402 GNU General Public License with version 3.1 of the GCC Runtime
10403 Library Exception and to point readers at the COPYING3 and
10404 COPYING3.RUNTIME files and the FSF's license web page.
10405 * alloc.c: Likewise.
10406 * barrier.c: Likewise.
10407 * config/bsd/proc.c: Likewise.
10408 * config/linux/affinity.c: Likewise.
10409 * config/linux/alpha/futex.h: Likewise.
10410 * config/linux/bar.c: Likewise.
10411 * config/linux/bar.h: Likewise.
10412 * config/linux/ia64/futex.h: Likewise.
10413 * config/linux/ia64/mutex.h: Likewise.
10414 * config/linux/lock.c: Likewise.
10415 * config/linux/mips/futex.h: Likewise.
10416 * config/linux/mutex.c: Likewise.
10417 * config/linux/mutex.h: Likewise.
10418 * config/linux/powerpc/futex.h: Likewise.
10419 * config/linux/proc.c: Likewise.
10420 * config/linux/ptrlock.c: Likewise.
10421 * config/linux/ptrlock.h: Likewise.
10422 * config/linux/s390/futex.h: Likewise.
10423 * config/linux/sem.c: Likewise.
10424 * config/linux/sem.h: Likewise.
10425 * config/linux/sparc/futex.h: Likewise.
10426 * config/linux/wait.h: Likewise.
10427 * config/linux/x86/futex.h: Likewise.
10428 * config/mingw32/proc.c: Likewise.
10429 * config/mingw32/time.c: Likewise.
10430 * config/posix/affinity.c: Likewise.
10431 * config/posix/bar.c: Likewise.
10432 * config/posix/bar.h: Likewise.
10433 * config/posix/lock.c: Likewise.
10434 * config/posix/mutex.h: Likewise.
10435 * config/posix/proc.c: Likewise.
10436 * config/posix/ptrlock.h: Likewise.
10437 * config/posix/sem.c: Likewise.
10438 * config/posix/sem.h: Likewise.
10439 * config/posix/time.c: Likewise.
10440 * config/posix95/lock.c: Likewise.
10441 * critical.c: Likewise.
10442 * env.c: Likewise.
10443 * error.c: Likewise.
10444 * fortran.c: Likewise.
10445 * iter_ull.c: Likewise.
10446 * libgomp.h: Likewise.
10447 * libgomp_f.h.in: Likewise.
10448 * libgomp_g.h: Likewise.
10449 * loop.c: Likewise.
10450 * loop_ull.c: Likewise.
10451 * omp.h.in: Likewise.
10452 * omp_lib.f90.in: Likewise.
10453 * omp_lib.h.in: Likewise.
10454 * ordered.c: Likewise.
10455 * parallel.c: Likewise.
10456 * sections.c: Likewise.
10457 * single.c: Likewise.
10458 * task.c: Likewise.
10459 * team.c: Likewise.
10460 * work.c: Likewise.
10461
104622009-04-09 Jakub Jelinek <jakub@redhat.com>
10463
10464 * testsuite/config/default.exp: Change copyright header to refer to
10465 version 3 of the GNU General Public License and to point readers
10466 at the COPYING3 file and the FSF's license web page.
10467
4f0ae266
JJ
104682009-04-08 Jakub Jelinek <jakub@redhat.com>
10469
10470 PR middle-end/39573
10471 * libgomp.c++/pr39573.C: New test.
10472
03742a9b
JJ
104732009-04-01 Jakub Jelinek <jakub@redhat.com>
10474
10475 PR other/39591
10476 * testsuite/libgomp.c/pr39591-1.c: New test.
10477 * testsuite/libgomp.c/pr39591-2.c: New test.
10478 * testsuite/libgomp.c/pr39591-3.c: New test.
10479
e50ea10b
UB
104802009-03-25 Uros Bizjak <ubizjak@gmail.com>
10481
10482 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10483 * testsuite/libgomp.c/atomic-6.c: Ditto.
10484
c5cdb03f
JJ
104852009-03-23 Jakub Jelinek <jakub@redhat.com>
10486
10487 PR c/39495
10488 * testsuite/libgomp.c/loop-12.c: New test.
10489 * testsuite/libgomp.c/loop-11.c: New test.
10490 * testsuite/libgomp.c++/loop-11.C: New test.
10491 * testsuite/libgomp.c++/loop-12.C: New test.
10492 * testsuite/libgomp.c++/for-8.C: New test.
10493
7a9d3fe8
RW
104942009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10495
10496 * configure: Regenerate.
10497
3ad6b266
JJ
104982009-02-11 Jakub Jelinek <jakub@redhat.com>
10499
10500 PR middle-end/39154
10501 * testsuite/libgomp.c/pr39154.c: New test.
10502
b39dea08
ILT
105032009-01-30 Ian Lance Taylor <iant@google.com>
10504
10505 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10506 libgomp_ld_is_gold. Get gold version number.
10507 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10508 * configure: Rebuild.
10509
72c66596
IS
105102009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10511
e50ea10b 10512 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
10513 use libgfortran.a%s in their specs.
10514
876080ff
JJ
105152009-01-07 Jakub Jelinek <jakub@redhat.com>
10516
10517 PR libgomp/38086
10518 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10519 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10520 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10521 * configure: Regenerated.
10522 * config.h.in: Likewise.
10523
e4ebaef3
JJ
105242008-12-28 Jakub Jelinek <jakub@redhat.com>
10525
10526 PR c++/38650
10527 * testsuite/libgomp.c/pr38650.c: New test.
10528 * testsuite/libgomp.c++/pr38650.C: New test.
10529
382017a6
JJ
105302008-12-27 Jakub Jelinek <jakub@redhat.com>
10531
10532 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10533
79644b27
UB
105342008-12-26 Uros Bizjak <ubizjak@gmail.com>
10535
10536 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10537
baafc534
RW
105382008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10539
10540 * configure: Regenerate.
10541
d9c194cb
JJ
105422008-12-08 Jakub Jelinek <jakub@redhat.com>
10543
10544 PR middle-end/36802
10545 * testsuite/libgomp.c/pr36802-1.c: New test.
10546 * testsuite/libgomp.c/pr36802-2.c: New test.
10547 * testsuite/libgomp.c/pr36802-3.c: New test.
10548
86a182bf
JJ
105492008-12-01 Janis Johnson <janis187@us.ibm.com>
10550
10551 PR libgomp/38270
10552 * config/linux/powerpc/mutex.h: New.
10553
956adfaf
JJ
105542008-12-01 Jakub Jelinek <jakub@redhat.com>
10555
a2d4cdc9
JJ
10556 PR c++/38257
10557 * testsuite/libgomp.c++/for-7.C: New test.
10558
956adfaf
JJ
10559 PR c++/38348
10560 * testsuite/libgomp.c++/for-6.C: New test.
10561
d4038ca2
JJ
105622008-11-26 Janis Johnson <janis187@us.ibm.com>
10563
10564 PR testsuite/28870
10565 * testsuite/lib/libgomp.exp: Include new timeout library files.
10566 (libgomp_target_compile): Set timeout value from new proc.
10567
8b159eea
SE
105682008-11-13 Steve Ellcey <sje@cup.hp.com>
10569
10570 PR libgomp/37938
10571 * config/linux/ia64/mutex.h: New.
10572
5c6ed53a
TB
105732008-11-04 Tobias Burnus <burnus@net-b.de>
10574
10575 PR libgomp/37935
10576 * libgomp.texi (Runtime library routines, environment variables):
10577 Update for OpenMP version 3.0.
10578
6b4a97ed
PG
105792008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10580 Steve Ellcey <sje@cup.hp.com>
10581
10582 * configure: Regenerate for new libtool.
10583 * Makefile.in: Ditto.
10584 * testsuite/Makefile.in: Ditto.
10585
e2b34106
JJ
105862008-09-19 Jakub Jelinek <jakub@redhat.com>
10587 Andreas Tobler <a.tobler@schweiz.org>
10588
10589 * config/bsd/proc.c: New file.
8c3b3600 10590 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
10591 * configure.ac: Check for header <sys/sysctl.h>
10592 * configure: Regenerate.
10593 * config.h.in: Likewise.
10594
3606b8bf
JJ
105952008-09-05 Janis Johnson <janis187@us.ibm.com>
10596
10597 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10598
6528b88d
AL
105992008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10600
10601 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10602 * Makefile.in: Regenerated.
10603 * testsuite/Makefile.in: Regenerated.
10604
d9b14b12 106052008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 10606
a16b68bb 10607 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
10608 depend on blddir if blddir exists.
10609 (libgomp_target_compile): Likewise.
10610 * testsuite/libgomp.c++/c++.exp: Likewise.
10611 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10612
70b1e376
RW
106132008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10614
10615 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10616 Do not list GPL as Invariant Section.
10617
318e8c3f
IG
106182008-07-28 Ilie Garbacea <ilie@mips.com>
10619 Chao-ying Fu <fu@mips.com>
10620
10621 * configure.tgt: Enable futex for MIPS.
10622 * config/linux/mips/futex.h: New file.
10623
4db72361
JJ
106242008-07-16 Jakub Jelinek <jakub@redhat.com>
10625
10626 * team.c (gomp_team_end): Free team immediately if it has
10627 just one thread.
10628
87bd23b8
DE
106292008-07-08 David Edelsohn <edelsohn@gnu.org>
10630
10631 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10632 * testsuite/libgomp.fortran/fortran.exp: Same.
10633 * testsuite/libgomp.c/c.exp: Same.
10634 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10635 directory to library path first.
10636
323ff903
KW
106372008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10638
10639 * env.c (parse_stacksize): Add cast to avoid warning.
10640 (parse_spincount): Likewise.
10641
b357f682
JJ
106422008-06-27 Jakub Jelinek <jakub@redhat.com>
10643
ca2b1311
JJ
10644 * testsuite/libgomp.c/loop-10.c: New test.
10645 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10646 * libgomp.c++/loop-6.C (main): Likewise.
10647
b357f682
JJ
10648 PR debug/36617
10649 * testsuite/libgomp.c/debug-1.c: New test.
10650
09a46078
JJ
106512008-06-19 Jakub Jelinek <jakub@redhat.com>
10652
10653 * testsuite/libgomp.c/nqueens-1.c: New test.
10654
2368a460
JJ
10655 PR c++/36523
10656 * testsuite/libgomp.c++/task-7.C: New function.
10657
18c04407
RW
106582008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10659
10660 * configure: Regenerate.
10661
9c4e59e0
JDA
106622008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10663
10664 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10665 mutex when HAVE_SYNC_BUILTINS isn't defined.
10666
6ccde948
RW
106672008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10668
10669 * libgomp.texi (omp_test_lock): Fix typo.
10670
b896f9fd
TB
106712008-06-12 Tobias Burnus <burnus@net-b.de>
10672
10673 * omp_lib.f90.in: Add "implicit none".
10674
c34938a8
JJ
106752008-06-12 Jakub Jelinek <jakub@redhat.com>
10676
10677 PR middle-end/36506
10678 * testsuite/libgomp.c/reduction-5.c: New test.
10679
976e44e3
JJ
106802008-06-11 Jakub Jelinek <jakub@redhat.com>
10681
5f836cbb
JJ
10682 * libgomp.h (struct gomp_task): Add in_tied_task field.
10683 * task.c (gomp_init_task): Initialize it.
10684 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10685 unconditionally. Don't call gomp_team_barrier_wake if
10686 current task is implicit or if(0) from implicit and number of
10687 running tasks is equal to nthreads - 1.
10688
01501fc8
JJ
10689 PR libgomp/36471
10690 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10691 omp_get_team_size_8): Fix pastos.
10692
976e44e3
JJ
10693 PR libgomp/36469
10694 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10695 * configure: Regenerated.
10696 * config.h.in: Regenerated.
10697 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10698 defined.
10699
e919209b
AT
107002008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10701
10702 PR bootstrap/36452
10703 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10704 (GOMP_loop_ull_dynamic_start): Likewise.
10705 (GOMP_loop_ull_guided_start): Likewise.
10706 (GOMP_loop_ull_ordered_static_start): Likewise.
10707 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10708 (GOMP_loop_ull_ordered_guided_start): Likewise.
10709
a68ab351
JJ
107102008-06-06 Jakub Jelinek <jakub@redhat.com>
10711 Richard Henderson <rth@redhat.com>
10712 Ulrich Drepper <drepper@redhat.com>
10713 Jakob Blomer <jakob.blomer@ira.uka.de>
10714
10715 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10716 Substitute also OMP_*LOCK_25*.
10717 * configure: Regenerated.
10718 * config.h.in: Regenerated.
10719 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10720 ptrlock.c and task.c.
10721 * Makefile.in: Regenerated.
10722 * testsuite/Makefile.in: Regenerated.
10723 * task.c: New file.
10724 * loop_ull.c: New file.
10725 * iter_ull.c: New file.
10726 * libgomp.h: Include ptrlock.h.
10727 (enum gomp_task_kind): New type.
10728 (struct gomp_team): Add task_lock, task_queue, task_count,
10729 task_running_count, single_count fields. Add
10730 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10731 Remove work_share_lock, generation_mask,
10732 oldest_live_gen, num_live_gen and init_work_shares fields, add
10733 work work_share_list_alloc, work_share_list_free and work_share_chunk
10734 fields. Change work_shares from pointer to pointers into an array.
10735 Change ordered_release field into gomp_sem_t ** from flexible array
10736 member. Add implicit_task and initial_work_shares fields.
10737 Move close to the end of the struct.
10738 (struct gomp_team_state): Add single_count, last_work_share,
10739 active_level and level fields, remove work_share_generation.
10740 (gomp_barrier_handle_tasks): New prototype.
10741 (gomp_finish_task): New inline function.
10742 (struct gomp_work_share): Move chunk_size, end, incr into
10743 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10744 next_ll fields. Reshuffle fields. Add next_alloc,
10745 next_ws, next_free and inline_ordered_team_ids fields, change
10746 ordered_team_ids into pointer from flexible array member.
10747 Add mode field. Put lock and next into a different cache line
10748 from most of the write-once fields.
10749 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10750 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10751 gomp_iter_ull_guided_next): New prototypes.
10752 (gomp_new_icv): New prototype.
10753 (struct gomp_thread): Add thread_pool and task fields.
10754 (struct gomp_thread_pool): New type.
10755 (gomp_new_team): New prototype.
10756 (gomp_team_start): Change type of last argument.
10757 (gomp_new_work_share): Removed.
10758 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10759 (gomp_work_share_init_done): New static inline.
10760 (gomp_throttled_spin_count_var, gomp_available_cpus,
10761 gomp_managed_threads): New extern decls.
10762 (gomp_init_task): New prototype.
10763 (gomp_spin_count_var): New extern var decl.
10764 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10765 or no alias support, or if not PIC.
10766 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10767 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10768 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10769 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10770 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10771 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10772 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10773 gomp_test_nest_lock_25): New prototypes.
10774 (omp_lock_symver, strong_alias): Define.
10775 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10776 decls.
10777 (gomp_end_task): New.
10778 (struct gomp_task_icv, gomp_global_icv): New.
10779 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10780 (struct gomp_task): New.
10781 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10782 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10783 (gomp_icv): New.
10784 (gomp_schedule_type): Reorder enum to match
10785 omp_sched_t.
10786 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10787 fields.
10788 (gomp_thread_start): Add gomp_team_barrier_wait call.
10789 For non-nested case remove clearing of docked thread thr fields.
10790 Use pool fields instead of global gomp_* variables. Use
10791 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10792 Create tasks for each member thread.
10793 (free_team): Only destroy team barrier, task_lock here and free it.
10794 (gomp_free_thread): Free last_team if non-NULL.
10795 (gomp_team_end): Call gomp_team_barrier_wait instead of
10796 gomp_barrier_wait. For nested case call one extra
10797 gomp_barrier_wait. Move here some destruction from free_team.
10798 Call free_team on pool->last_team if any, rather than freeing
10799 current team. Destroy work_share_list_free_lock ifndef
10800 HAVE_SYNC_BUILTINS.
10801 (gomp_new_icv): New function.
10802 (gomp_threads, gomp_threads_size, gomp_threads_used,
10803 gomp_threads_dock): Removed.
10804 (gomp_thread_destructor): New variable.
10805 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10806 functions.
10807 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 10808 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
10809 Initialize thread_pool field for new threads. Clear single_count.
10810 Change last argument from ws to team, don't create
10811 new team, set ts.work_share to &team->work_shares[0] and clear
10812 ts.last_work_share. Don't clear ts.work_share_generation.
10813 If number of threads changed, adjust atomically gomp_managed_threads.
10814 Use gomp_init_task instead of gomp_new_task,
10815 set thr->task to the corresponding implicit_task array entry.
10816 Create tasks for each member thread. Initialize ts.level.
10817 (initialize_team): Call pthread_key_create on
10818 gomp_thread_destructor.
10819 (team_destructor): New function.
10820 (new_team): Removed.
10821 (gomp_new_team): New function.
10822 (free_team): Free gomp_work_share blocks chained through next_alloc,
10823 instead of freeing work_shares and destroying work_share_lock.
10824 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10825 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10826 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10827 of gomp_barrier_wait.
10828 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10829 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10830 if gomp_work_share_start returned true. Don't unlock ws->lock.
10831 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10832 of gomp_barrier_wait.
10833 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10834 gomp_work_share_init_done if gomp_work_share_start returned true.
10835 Don't unlock ws->lock.
10836 * work.c: Include stddef.h.
10837 (free_work_share): Use work_share_list_free_lock instead
10838 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10839 Call gomp_fini_work_share and then either free ws if orphaned, or
10840 put it into work_share_list_free list of the current team.
10841 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10842 functions.
10843 (gomp_work_share_start, gomp_work_share_end,
10844 gomp_work_share_end_nowait): Rewritten.
10845 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10846 (openmp_version): Set to 200805.
10847 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10848 omp_sched_guided, omp_sched_auto): New parameters.
10849 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10850 omp_set_max_active_levels, omp_get_max_active_levels,
10851 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10852 omp_get_active_level): New interfaces.
10853 * omp_lib.h.in (openmp_version): Set to 200805.
10854 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10855 omp_sched_guided, omp_sched_auto): New parameters.
10856 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10857 omp_set_max_active_levels, omp_get_max_active_levels,
10858 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10859 omp_get_active_level): New externals.
10860 * loop.c: Include limits.h.
10861 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10862 GFS_AUTO.
10863 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10864 Likewise. Use gomp_icv.
10865 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10866 ts.static_trip here.
10867 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10868 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10869 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10870 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10871 don't unlock ws->lock, otherwise lock it.
10872 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10873 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10874 (gomp_parallel_loop_start): Call gomp_new_team instead of
10875 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10876 Adjust gomp_team_start caller. Pass 0 as second argument to
10877 gomp_resolve_num_threads.
10878 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10879 If adding ws->chunk_size nthreads + 1 times after end won't
10880 overflow, set ws->mode to 1.
10881 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10882 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10883 GOMP_loop_ull_ordered_static_start,
10884 GOMP_loop_ull_ordered_dynamic_start,
10885 GOMP_loop_ull_ordered_guided_start,
10886 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10887 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10888 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10889 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10890 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10891 prototypes.
10892 * libgomp.map: Export lock routines also @@OMP_2.0.
10893 (GOMP_loop_ordered_dynamic_first,
10894 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10895 GOMP_loop_ordered_static_first): Remove.
10896 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10897 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10898 GOMP_loop_ull_ordered_dynamic_next,
10899 GOMP_loop_ull_ordered_dynamic_start,
10900 GOMP_loop_ull_ordered_guided_next,
10901 GOMP_loop_ull_ordered_guided_start,
10902 GOMP_loop_ull_ordered_runtime_next,
10903 GOMP_loop_ull_ordered_runtime_start,
10904 GOMP_loop_ull_ordered_static_next,
10905 GOMP_loop_ull_ordered_static_start,
10906 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10907 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10908 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10909 (omp_set_schedule, omp_get_schedule,
10910 omp_get_thread_limit, omp_set_max_active_levels,
10911 omp_get_max_active_levels, omp_get_level,
10912 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10913 omp_set_schedule_, omp_set_schedule_8_,
10914 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10915 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10916 omp_get_max_active_levels_, omp_get_level_,
10917 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10918 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10919 New exports @@OMP_3.0.
10920 * omp.h.in (omp_sched_t): New type.
10921 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10922 omp_set_max_active_levels, omp_get_max_active_levels,
10923 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10924 omp_get_active_level): New prototypes.
10925 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10926 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10927 gomp_thread_limit_var, gomp_remaining_threads_count,
10928 gomp_remaining_threads_lock): New variables.
10929 (parse_spincount): New function.
10930 (initialize_env): Call gomp_init_num_threads unconditionally.
10931 Initialize gomp_available_cpus. Call parse_spincount,
10932 initialize gomp_{,throttled_}spin_count_var
10933 depending on presence and value of OMP_WAIT_POLICY and
10934 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10935 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10936 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10937 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10938 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10939 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10940 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10941 (gomp_global_icv): New.
10942 (parse_schedule): Use it. Parse "auto".
10943 (omp_set_num_threads): Use gomp_icv.
10944 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10945 Likewise.
10946 (omp_get_max_threads): Move from parallel.c.
10947 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10948 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10949 add ialias.
10950 (parse_stacksize, parse_wait_policy): New functions.
10951 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10952 both wrappers for compatibility and new locks.
10953 (omp_set_schedule, omp_get_schedule,
10954 omp_get_thread_limit, omp_set_max_active_levels,
10955 omp_get_max_active_levels, omp_get_level,
10956 omp_get_ancestor_thread_num, omp_get_team_size,
10957 omp_get_active_level): New ialias_redirect.
10958 (omp_set_schedule_, omp_set_schedule_8_,
10959 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10960 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10961 omp_get_max_active_levels_, omp_get_level_,
10962 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10963 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10964 New functions.
10965 * parallel.c: Include limits.h.
10966 (gomp_resolve_num_threads): Add count argument. Rewritten.
10967 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10968 argument to gomp_team_start. Pass 0 as second argument to
10969 gomp_resolve_num_threads.
10970 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10971 if gomp_thread_limit_var != ULONG_MAX.
10972 (omp_in_parallel): Implement using ts.active_level.
10973 (omp_get_max_threads): Move to env.c.
10974 (omp_get_level, omp_get_ancestor_thread_num,
10975 omp_get_team_size, omp_get_active_level): New functions,
10976 add ialias.
10977 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10978 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10979 gomp_iter_dynamic_next instead of the _locked variant and don't take
10980 lock around it, otherwise acquire it before calling
10981 gomp_iter_dynamic_next_locked.
10982 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10983 gomp_iter_dynamic_next instead of the _locked variant and don't take
10984 lock around it.
10985 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10986 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10987 Adjust gomp_team_start caller. Pass count as second argument to
10988 gomp_resolve_num_threads, don't adjust num_threads after the call.
10989 Use gomp_icv.
10990 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10991 ws->chunk_size by incr.
10992 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10993 code.
10994 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10995 types.
10996 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10997 (omp_check_defines): Check even the compat defines.
10998 * config/linux/ptrlock.c: New file.
10999 * config/linux/ptrlock.h: New file.
11000 * config/linux/wait.h: New file.
11001 * config/posix/ptrlock.c: New file.
11002 * config/posix/ptrlock.h: New file.
11003 * config/linux/bar.h (gomp_team_barrier_wait,
11004 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11005 (gomp_team_barrier_set_task_pending,
11006 gomp_team_barrier_clear_task_pending,
11007 gomp_team_barrier_set_waiting_for_tasks,
11008 gomp_team_barrier_waiting_for_tasks,
11009 gomp_team_barrier_done): New inlines.
11010 (gomp_barrier_t): Rewritten.
11011 (gomp_barrier_state_t): New typedef.
11012 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11013 gomp_barrier_wait_start): Rewritten.
11014 (gomp_barrier_wait_end): Change second argument to
11015 gomp_barrier_state_t.
11016 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11017 inlines.
11018 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11019 futex.h.
11020 (gomp_barrier_wait_end): Rewritten.
11021 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11022 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11023 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11024 (gomp_barrier_state_t): New typedef.
11025 (gomp_team_barrier_wait,
11026 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11027 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11028 into the return value. Return gomp_barrier_state_t.
11029 (gomp_team_barrier_set_task_pending,
11030 gomp_team_barrier_clear_task_pending,
11031 gomp_team_barrier_set_waiting_for_tasks,
11032 gomp_team_barrier_waiting_for_tasks,
11033 gomp_team_barrier_done): New inlines.
11034 (gomp_barrier_wait_end): Change second argument to
11035 gomp_barrier_state_t.
11036 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11037 inlines.
11038 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11039 (gomp_barrier_wait_end): Change second argument to
3e348fcc 11040 gomp_barrier_state_t.
a68ab351
JJ
11041 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11042 gomp_team_barrier_wake): New functions.
11043 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11044 futex.h.
11045 (gomp_futex_wake, gomp_futex_wait): New variables.
11046 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11047 * config/linux/lock.c: Rewrite to make locks task owned,
11048 for backwards compatibility provide the old entrypoints
11049 if symbol versioning. Include wait.h instead of libgomp.h and
11050 futex.h.
11051 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11052 * config/posix95/lock.c: Rewrite to make locks task owned,
11053 for backwards compatibility provide the old entrypoints
11054 if symbol versioning.
11055 * config/posix/lock.c: Rewrite to make locks task owned,
11056 for backwards compatibility provide the old entrypoints
11057 if symbol versioning.
11058 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11059 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11060 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11061 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11062 (sys_futex0): Return error code.
11063 (futex_wake, futex_wait): If ENOSYS was returned, clear
11064 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11065 (cpu_relax, atomic_write_barrier): New static inlines.
11066 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11067 (futex_wake, futex_wait): If ENOSYS was returned, clear
11068 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11069 (cpu_relax, atomic_write_barrier): New static inlines.
11070 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11071 (sys_futex0): Return error code.
11072 (futex_wake, futex_wait): If ENOSYS was returned, clear
11073 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11074 (cpu_relax, atomic_write_barrier): New static inlines.
11075 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11076 (sys_futex0): Return error code.
11077 (futex_wake, futex_wait): If ENOSYS was returned, clear
11078 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11079 (cpu_relax, atomic_write_barrier): New static inlines.
11080 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11081 (sys_futex0): Return error code.
11082 (futex_wake, futex_wait): If ENOSYS was returned, clear
11083 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11084 (cpu_relax, atomic_write_barrier): New static inlines.
11085 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11086 (sys_futex0): Return error code.
11087 (futex_wake, futex_wait): If ENOSYS was returned, clear
11088 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11089 (cpu_relax, atomic_write_barrier): New static inlines.
11090 * config/linux/sem.c: Include wait.h instead of libgomp.h and
11091 futex.h.
11092 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11093 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11094 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11095 types.
11096 (omp_nest_lock_t): Change owner into void *, add lock field.
11097 * config/posix95/omp-lock.h: Include semaphore.h.
11098 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11099 (omp_lock_t): Use sem_t instead of mutex if semaphores
11100 aren't broken.
11101 (omp_nest_lock_t): Likewise. Change owner to void *.
11102 * config/posix/omp-lock.h: Include semaphore.h.
11103 (omp_lock_25_t, omp_nest_lock_25_t): New types.
11104 (omp_lock_t): Use sem_t instead of mutex if semaphores
11105 aren't broken.
11106 (omp_nest_lock_t): Likewise. Add owner field.
11107
111082008-06-06 Jakub Jelinek <jakub@redhat.com>
11109
11110 * testsuite/libgomp.c/collapse-1.c: New test.
11111 * testsuite/libgomp.c/collapse-2.c: New test.
11112 * testsuite/libgomp.c/collapse-3.c: New test.
11113 * testsuite/libgomp.c/icv-1.c: New test.
11114 * testsuite/libgomp.c/icv-2.c: New test.
11115 * testsuite/libgomp.c/lib-2.c: New test.
11116 * testsuite/libgomp.c/lock-1.c: New test.
11117 * testsuite/libgomp.c/lock-2.c: New test.
11118 * testsuite/libgomp.c/lock-3.c: New test.
11119 * testsuite/libgomp.c/loop-4.c: New test.
11120 * testsuite/libgomp.c/loop-5.c: New test.
11121 * testsuite/libgomp.c/loop-6.c: New test.
11122 * testsuite/libgomp.c/loop-7.c: New test.
11123 * testsuite/libgomp.c/loop-8.c: New test.
11124 * testsuite/libgomp.c/loop-9.c: New test.
11125 * testsuite/libgomp.c/nested-3.c: New test.
11126 * testsuite/libgomp.c/nestedfn-6.c: New test.
11127 * testsuite/libgomp.c/sort-1.c: New test.
11128 * testsuite/libgomp.c/task-1.c: New test.
11129 * testsuite/libgomp.c/task-2.c: New test.
11130 * testsuite/libgomp.c/task-3.c: New test.
11131 * testsuite/libgomp.c/task-4.c: New test.
11132 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11133 to C++ testsuite default compiler options.
11134 * testsuite/libgomp.c++/collapse-1.C: New test.
11135 * testsuite/libgomp.c++/collapse-2.C: New test.
11136 * testsuite/libgomp.c++/ctor-10.C: New test.
11137 * testsuite/libgomp.c++/for-1.C: New test.
11138 * testsuite/libgomp.c++/for-2.C: New test.
11139 * testsuite/libgomp.c++/for-3.C: New test.
11140 * testsuite/libgomp.c++/for-4.C: New test.
11141 * testsuite/libgomp.c++/for-5.C: New test.
11142 * testsuite/libgomp.c++/loop-8.C: New test.
11143 * testsuite/libgomp.c++/loop-9.C: New test.
11144 * testsuite/libgomp.c++/loop-10.C: New test.
11145 * testsuite/libgomp.c++/task-1.C: New test.
11146 * testsuite/libgomp.c++/task-2.C: New test.
11147 * testsuite/libgomp.c++/task-3.C: New test.
11148 * testsuite/libgomp.c++/task-4.C: New test.
11149 * testsuite/libgomp.c++/task-5.C: New test.
11150 * testsuite/libgomp.c++/task-6.C: New test.
11151 * testsuite/libgomp.fortran/allocatable1.f90: New test.
11152 * testsuite/libgomp.fortran/allocatable2.f90: New test.
11153 * testsuite/libgomp.fortran/allocatable3.f90: New test.
11154 * testsuite/libgomp.fortran/allocatable4.f90: New test.
11155 * testsuite/libgomp.fortran/collapse1.f90: New test.
11156 * testsuite/libgomp.fortran/collapse2.f90: New test.
11157 * testsuite/libgomp.fortran/collapse3.f90: New test.
11158 * testsuite/libgomp.fortran/collapse4.f90: New test.
11159 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
11160 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
11161 * testsuite/libgomp.fortran/lib4.f90: New test.
11162 * testsuite/libgomp.fortran/lock-1.f90: New test.
11163 * testsuite/libgomp.fortran/lock-2.f90: New test.
11164 * testsuite/libgomp.fortran/nested1.f90: New test.
11165 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
11166 * testsuite/libgomp.fortran/strassen.f90: New test.
11167 * testsuite/libgomp.fortran/tabs1.f90: New test.
11168 * testsuite/libgomp.fortran/tabs2.f: New test.
11169 * testsuite/libgomp.fortran/task1.f90: New test.
11170 * testsuite/libgomp.fortran/task2.f90: New test.
11171 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11172 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11173 * testsuite/libgomp.c/pr26943-2.c: Likewise.
11174 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11175 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11176
7a0112e7
JJ
111772008-05-23 Jakub Jelinek <jakub@redhat.com>
11178
11179 PR c++/36308
11180 * testsuite/libgomp.c++/ctor-11.C: New test.
11181 * testsuite/libgomp.c++/ctor-12.C: New test.
11182
91a5b394
JJ
111832008-05-15 Janis Johnson <janis187@us.ibm.com>
11184
11185 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11186
c18c98c0
JJ
111872008-05-07 Jakub Jelinek <jakub@redhat.com>
11188
11189 PR middle-end/36106
11190 * testsuite/libgomp.c/atomic-5.c: New test.
11191 * testsuite/libgomp.c/atomic-6.c: New test.
11192 * testsuite/libgomp.c/autopar-1.c: New test.
11193
6d26724a
RW
111942008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11195
11196 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11197 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11198 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11199 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11200 * configure: Regenerate.
11201 * Makefile.in, testsuite/Makefile.in: Likewise.
11202
deb984e6
PB
112032008-04-18 Paolo Bonzini <bonzini@gnu.org>
11204
11205 PR bootstrap/35457
11206 * aclocal.m4: Regenerate.
11207 * configure: Regenerate.
11208
9e775963
JJ
112092008-03-18 Jakub Jelinek <jakub@redhat.com>
11210
8119fc93
JJ
11211 PR middle-end/35611
11212 * testsuite/libgomp.c/atomic-4.c: New test.
11213
9e775963
JJ
11214 PR libgomp/35625
11215 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11216 (gomp_iter_guided_next): Likewise.
11217 * testsuite/libgomp.c/pr35625.c: New test.
11218
38d24731
RW
112192008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11220
11221 * aclocal.m4: Regenerate.
11222 * configure: Likewise.
11223 * Makefile.in: Likewise.
11224 * testsuite/Makefile.in: Likewise.
11225
d0fb20be
JJ
112262008-03-13 Jakub Jelinek <jakub@redhat.com>
11227
11228 PR middle-end/35185
11229 * testsuite/libgomp.c++/pr35185.C: New test.
11230
7c8f7639
JJ
112312008-03-12 Jakub Jelinek <jakub@redhat.com>
11232
11233 PR middle-end/35549
11234 * testsuite/libgomp.c/pr35549.c: New test.
11235
251923f5
JJ
112362008-03-06 Jakub Jelinek <jakub@redhat.com>
11237
11238 * testsuite/libgomp.c/atomic-3.c: New test.
11239
f489fba1
FXC
112402008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11241
11242 PR fortran/33197
251923f5 11243 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
11244 .F08 file suffixes.
11245
a1b25e49
PG
112462008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11247
11248 PR libgomp/33131
11249 * configure.ac: Add ACX_HEADER_STRING.
11250 * env.c: Include strings.h.
11251 * aclocal.m4: Regenerate.
11252 * config.h.in: Regenerate.
11253 * configure: Regenerate.
11254 * Makefile.in: Regenerate.
11255 * testsuite/Makefile.in: Regenerate.
11256
6837b3b8
JJ
112572008-02-15 Jakub Jelinek <jakub@redhat.com>
11258
ac84c062
JJ
11259 PR middle-end/35196
11260 * testsuite/libgomp.c/pr35196.c: New test.
11261
6837b3b8
JJ
11262 PR middle-end/35130
11263 * testsuite/libgomp.fortran/pr35130.f90: New test.
11264 * testsuite/libgomp.c/pr35130.c: New test.
11265
c256730c
JJ
112662008-01-25 Jakub Jelinek <jakub@redhat.com>
11267
11268 PR middle-end/33880
11269 * testsuite/libgomp.c/pr33880.c: New test.
11270 * testsuite/libgomp.fortran/pr33880.f90: New test.
11271
c8e95542 112722008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
11273
11274 * configure: Regenerate.
11275
0f3e711e
JJ
112762008-01-08 Jakub Jelinek <jakub@redhat.com>
11277
11278 * configure.ac: Move futex checking into ../config/futex.m4.
11279 * configure: Rebuilt.
11280 * aclocal.m4: Rebuilt.
11281 * Makefile.in: Rebuilt.
11282
11283 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11284 2007-10-15 ../config/tls.m4 change.
11285
5259c813
JJ
112862007-12-19 Jakub Jelinek <jakub@redhat.com>
11287
11288 PR c++/34513
11289 * testsuite/libgomp.c/pr34513.c: New test.
11290 * testsuite/libgomp.c++/pr34513.C: New test.
11291
ae8d8879
JH
112922007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11293
11294 PR target/32765
11295 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11296
2b4cf991
JJ
112972007-12-04 Jakub Jelinek <jakub@redhat.com>
11298
11299 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11300
d2dda7fe
JJ
113012007-12-03 Jakub Jelinek <jakub@redhat.com>
11302
11303 * testsuite/libgomp.c/private-1.c: New test.
11304
d683ec81
PB
113052007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11306 Paolo Bonzini <bonzini@gnu.org>
11307
11308 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11309 instead of 'VPATH ='.
11310 * Makefile.in: Regenerate.
11311
a7415017
MK
113122007-11-23 Matthias Klose <doko@ubuntu.com>
11313
11314 * configure.ac: Adjust makeinfo version check.
11315 * configure: Regenerate.
11316
78e47463
JJ
113172007-11-10 Jakub Jelinek <jakub@redhat.com>
11318
11319 PR fortran/34020
11320 * testsuite/libgomp.fortran/pr34020.f90: New test.
11321
239371f9
JJ
113222007-11-06 Jakub Jelinek <jakub@redhat.com>
11323
11324 PR c++/33894
11325 * testsuite/libgomp.c++/atomic-1.C: New test.
11326
98a5fa94
JJ
113272007-10-25 Jakub Jelinek <jakub@redhat.com>
11328
11329 PR libgomp/33275
11330 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11331 Make x and y integers rather than (implicit) reals. Add private (j)
11332 clause to the last omp parallel.
11333
3afcaaf4
MR
113342007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11335
11336 * configure: Regenerate following changes to ../config/tls.m4.
11337
bd69daef
JJ
113382007-09-28 Jakub Jelinek <jakub@redhat.com>
11339
11340 * testsuite/libgomp.fortran/stack.f90: New test.
11341
1d0bd356
DS
113422007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11343
11344 * config/mingw32/proc.c: New file.
11345
b3172cab
UB
113462007-09-05 Uros Bizjak <ubizjak@gmail.com>
11347
11348 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11349 (main): Use __get_cpuid to get i386 target fetaures.
11350 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11351 (main): Use __get_cpuid to get x86_64 target fetaures.
11352
6da17392
JH
113532007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11354
11355 PR target/32765
11356 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11357 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11358
e1c82219
JJ
113592007-07-12 Jakub Jelinek <jakub@redhat.com>
11360
11361 PR fortran/32550
11362 * testsuite/libgomp.fortran/pr32550.f90: New test.
11363 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11364
12a27363
L
113652007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11366
11367 * aclocal.m4: Regenerated.
11368
5349080d
TB
113692007-07-05 Tobias Burnus <burnus@net-b.de>
11370
11371 PR fortran/32359
11372 * testsuite/libgomp.fortran/pr32359.f90: New.
11373
4f9c450c
JJ
113742007-07-02 Jakub Jelinek <jakub@redhat.com>
11375
11376 PR libgomp/32468
11377 * sections.c (GOMP_parallel_sections_start): Only decrease
11378 number of threads to COUNT if dyn_var is true.
11379 * testsuite/libgomp.c/pr32468.c: New test.
11380
28c67ed7
RO
113812007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11382
11383 PR libgomp/26308
11384 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11385
64964499
JJ
113862007-06-21 Jakub Jelinek <jakub@redhat.com>
11387
11388 PR middle-end/32362
11389 * testsuite/libgomp.c/pr32362-1.c: New test.
11390 * testsuite/libgomp.c/pr32362-2.c: New test.
11391 * testsuite/libgomp.c/pr32362-3.c: New test.
11392
46d8fbd1
JJ
113932007-06-07 Jakub Jelinek <jakub@redhat.com>
11394
11395 * team.c (gomp_team_start): Fix setting up thread_attr
11396 stack size.
11397
82a6cadf
PB
113982007-06-02 Paolo Bonzini <bonzini@gnu.org>
11399
11400 * configure: Regenerate.
11401
1cf3d07d
SE
114022007-05-23 Steve Ellcey <sje@cup.hp.com>
11403
11404 * Makefile.in: Regenerate.
11405 * configure: Regenerate.
11406 * aclocal.m4: Regenerate.
11407 * testsuite/Makefile.in: Regenerate.
11408
12aac30b
JJ
114092007-05-04 Jakub Jelinek <jakub@redhat.com>
11410
11411 * config/linux/proc.c: New file.
11412
f1028b02
JJ
11413 PR libgomp/28482
11414 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11415
06785a48
DF
114162007-04-19 Daniel Franke <franke.daniel@gmail.com>
11417
11418 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11419
b3b08ba0
MK
114202007-04-16 Matthias Klose <doko@debian.org>
11421
11422 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11423 flags if not building with -m64.
11424 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11425 flag for i?86-*-* targets, if current target matches -m64.
11426
6b2c5ce0
SE
114272007-04-14 Steve Ellcey <sje@cup.hp.com>
11428
11429 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11430 * Makefile.in: Regenerate.
11431
dd56fe7c
JDA
114322007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11433
11434 PR testsuite/31369
11435 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11436 ld_library_path.
11437 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11438
a0884cf0
JJ
114392007-04-04 Jakub Jelinek <jakub@redhat.com>
11440
11441 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11442 decls.
11443 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11444 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11445 (parse_affinity): New function.
11446 (initialize_env): Call it and gomp_init_affinity.
11447 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11448 create new pthread_attr_t and call gomp_init_thread_affinity
11449 on it for each thread before passing the attribute to pthread_create.
11450 * config/linux/affinity.c: New file.
11451 * config/posix/affinity.c: New file.
11452 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11453 * configure: Rebuilt.
11454 * config.h.in: Rebuilt.
11455 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11456 * Makefile.in: Rebuilt.
11457
1850744b
AT
114582007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11459
11460 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11461 *-*-darwin*.
11462 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11463 and use it if found.
11464
516f1ed8
UB
114652007-03-18 Uros Bizjak <ubizjak@gmail.com>
11466
11467 * testsuite/config/default.exp: New file.
11468 * testsuite/lib/libgomp.exp: New file.
11469 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11470 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11471 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11472 (libgomp_load): Remove.
11473 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11474 always_ld_library_path, not ld_library_path. Set additional_flags
11475 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11476 (target_compile): Do not call libgomp_init. Append lang_library_path
11477 and lang_link_flags to options.
11478 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11479 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11480 here.
11481 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11482 always_ld_library_path. Set LD_LIBRARY_PATH here.
11483 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11484 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11485 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11486 CX8 flag.
11487 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11488 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11489 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11490 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11491 * testsuite/libgomp.c/atomic-10.c: Ditto.
11492
2ada56f5
JJ
114932007-03-21 Jakub Jelinek <jakub@redhat.com>
11494
11495 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11496 dg-final cleanup-modules line.
11497 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11498 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11499 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11500 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11501 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11502 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11503 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11504
f210f1cd
AS
115052007-03-18 Andreas Schwab <schwab@suse.de>
11506
11507 * acinclude.m4: Adjust regular expression for ld version
11508 extraction.
11509 * configure: Regenerate.
11510
c4dc950d
BM
115112007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11512
11513 * Makefile.am: Add install-pdf target as copied from
11514 automake v1.10 rules.
11515 * Makefile.in: Regenerate
11516
e02a048f
JJ
115172007-02-07 Jakub Jelinek <jakub@redhat.com>
11518
78e075d4
JJ
11519 PR libgomp/28486
11520 * configure: Regenerate.
11521
e02a048f
JJ
11522 PR c++/30703
11523 * testsuite/libgomp.c++/pr30703.C: New test.
11524
60def7ed
JJ
115252007-02-02 Jakub Jelinek <jakub@redhat.com>
11526
11527 Revert:
11528 2006-07-05 Eric Christopher <echristo@apple.com>
11529 * configure.ac: Depend addition of -pthread on host OS.
11530 * configure: Regenerate.
11531
f1b0882e
RW
115322007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11533
11534 * libgomp.texi: Fix spacing after abbreviations.
11535
748b9d7c
DF
115362007-01-31 Daniel Franke <franke.daniel@gmail.com>
11537
11538 PR libgomp/30546
11539 * configure.ac: Add check for makeinfo
11540 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 11541 if an appropriate version of makeinfo is found.
748b9d7c
DF
11542 * aclocal.m4: Regenerated.
11543 * configure: Regenerated.
11544 * Makefile.in: Regenerated.
11545 * testsuite/Makefile.in: Regenerated.
11546
14734fc7
DF
115472007-01-29 Daniel Franke <franke.daniel@gmail.com>
11548
11549 PR libgomp/30540
11550 * libgomp.texi: More about implementation-dependent settings.
11551
7befd5d2
TB
115522007-01-26 Tobias Burnus <burnus@net-b.de>
11553
11554 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11555
4288fea2
JJ
115562007-01-24 Jakub Jelinek <jakub@redhat.com>
11557
11558 PR middle-end/30494
11559 * testsuite/libgomp.c/pr30494.c: New test.
11560
627ab4b8
TT
115612007-01-15 Tom Tromey <tromey@redhat.com>
11562
11563 * configure: Rebuilt.
11564 * configure.ac: Fixed comment.
11565
7c2b7f45
DF
115662007-01-14 Daniel Franke <franke.daniel@gmail.com>
11567
11568 * libgomp.texi: Document implementation specific default values of
11569 environment variables.
11570
3721b9e1
DF
115712006-12-21 Daniel Franke <franke.daniel@gmail.com>
11572
11573 PR libgomp/28209
11574 * libgomp.texi: New file.
11575 * configure.ac: Add --enable-generated-files-in-srcdir option.
11576 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11577 files to srcdir.
11578 * Makefile.in: Regenerated.
11579 * config.h.in: Regenerated.
11580 * testsuite/Makefile.in: Regenerated.
11581 * NOTES: Removed.
11582
62bd6216
DF
115832006-12-04 Daniel Franke <franke.daniel@gmail.com>
11584
11585 PR libgomp/29949
11586 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11587
aad741f4
EB
115882006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11589
11590 * configure: Regenerate.
11591
22568cc6
JJ
115922006-12-04 Jakub Jelinek <jakub@redhat.com>
11593
11594 PR libgomp/29947
11595 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11596 start if there shouldn't be any loop iterations.
11597 (gomp_loop_ordered_static_start): Remove start == end test.
11598 * testsuite/libgomp.c/pr29947-1.c: New test.
11599 * testsuite/libgomp.c/pr29947-2.c: New test.
11600
a9690009
EB
116012006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11602
11603 * configure.tgt: Force initial-exec TLS model on Linux only.
11604
597c25e6
DJ
116052006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11606
11607 * configure: Regenerated.
11608
6acf0b38
UB
116092006-11-09 Uros Bizjak <ubizjak@gmail.com>
11610
11611 * env.c (parse_schedule): Reject out of range values.
11612 (parse_unsigned_long): Reject out of range, negative or zero values.
11613
a7a53ca5
JJ
116142006-10-29 Jakub Jelinek <jakub@redhat.com>
11615
11616 PR fortran/29629
11617 * testsuite/libgomp.fortran/pr29629.f90: New test.
11618
6d4d216a
EB
116192006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11620
11621 PR libgomp/29494
11622 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11623 * config/posix95: New directory.
11624 * config/posix95/omp-lock.h: New file.
11625 * config/posix95/lock.c: Likewise.
11626
5b043f08
GK
116272006-10-14 Geoffrey Keating <geoffk@apple.com>
11628
11629 * aclocal.m4: Regenerate.
11630 * configure: Regenerate.
11631
b50019f0
DS
116322006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11633
11634 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11635 '<' to '<='.
11636
8887708e
DS
116372006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11638
11639 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11640 test.
11641 * configure: Regenerate.
11642 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11643
9b9e4cd6
JJ
116442006-09-26 Jakub Jelinek <jakub@redhat.com>
11645
a70ad3bb
JJ
11646 PR middle-end/25261
11647 PR middle-end/28790
11648 * testsuite/libgomp.c/nestedfn-4.c: New test.
11649 * testsuite/libgomp.c/nestedfn-5.c: New test.
11650 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11651
9b9e4cd6
JJ
11652 PR fortran/29097
11653 * testsuite/libgomp.fortran/condinc1.f: New test.
11654 * testsuite/libgomp.fortran/condinc2.f: New test.
11655 * testsuite/libgomp.fortran/condinc3.f90: New test.
11656 * testsuite/libgomp.fortran/condinc4.f90: New test.
11657 * testsuite/libgomp.fortran/condinc1.inc: New file.
11658
2fb31455
TT
116592006-09-18 Tom Tromey <tromey@redhat.com>
11660
11661 * configure: Rebuilt.
11662
c663e301
JM
116632006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11664
11665 PR c/28768
11666 PR preprocessor/14634
11667 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11668 to AC_DEFINE.
11669 * configure: Regenerate.
11670
38371be9
SK
116712006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11672
11673 * testsuite/libgomp.fortran/reduction3.f90: Change
11674 -2147483648 to -huge(i)-1 to avoid overflow.
11675 * testsuite/libgomp.fortran/reduction4.f90: Change
11676 Z'ffffffff' to not(0) to avoid overflow.
11677
571d5ac5
JM
116782006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11679
11680 PR libgomp/25938
11681 * Makefile.am (libsubincludedir): New.
11682 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11683 * Makefile.in: Regenerate.
11684
89b3e3cd
JJ
116852006-08-17 Jakub Jelinek <jakub@redhat.com>
11686
11687 PR libgomp/28725
11688 * env.c: Include ctype.h.
11689 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11690 leading and/or trailing whitespace and compare strings case
11691 insensitively.
11692
742fae05
JJ
116932006-07-16 Jakub Jelinek <jakub@redhat.com>
11694
11695 PR fortran/28390
11696 * testsuite/libgomp.fortran/pr28390.f: New test.
11697
a1daed2d
EC
116982006-07-05 Eric Christopher <echristo@apple.com>
11699
11700 * configure.ac: Depend addition of -pthread on host OS.
11701 * configure: Regenerate.
11702
5d7b5199
JJ
117032006-06-21 Jakub Jelinek <jakub@redhat.com>
11704
11705 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11706 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11707 defined.
11708
fe5568e9
JJ
117092006-06-20 Jakub Jelinek <jakub@redhat.com>
11710
11711 PR libgomp/26175
11712 PR libgomp/26477
11713 * configure.ac: If neither --enable-linux-futex nor
11714 --disable-linux-futex is passed, determine the default by checking
11715 for compiling and/or running against NPTL. With --enable-linux-futex,
11716 check if SYS_gettid and SYS_futex are defined.
11717 * configure: Rebuilt.
11718
c3b11a40
RH
117192006-06-14 Richard Henderson <rth@redhat.com>
11720
11721 PR libgomp/28008
11722 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11723 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11724
d0d1b24d
RH
117252006-06-09 Richard Henderson <rth@redhat.com>
11726
11727 * env.c (gomp_nthreads_var): Change to unsigned long.
11728 (gomp_run_sched_chunk): Likewise.
11729 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11730 (initialize_env): Initialize gomp_thread_attr.
11731 * libgomp.h (gomp_nthreads_var): Update decl.
11732 (gomp_run_sched_chunk): Likewise.
11733 (gomp_thread_attr): Declare.
11734 * team.c (gomp_thread_attr): Export.
11735 (initialize_team): Don't initialize it.
11736
cd75853e
JJ
117372006-06-09 Jakub Jelinek <jakub@redhat.com>
11738
11739 PR fortran/27916
11740 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11741 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11742
33815e0c
FXC
117432006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11744
11745 * config/mingw32/time.c: New file.
11746 * configure.tgt: Use it.
11747
6667de0d
CD
117482006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11749
11750 * Makefile.am: Add install-html target. Add install-html to .PHONY
11751 * Makefile.in: Regenerate.
11752
e962c46b
JDA
117532006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11754
11755 PR libgomp/27612
11756 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11757 * testsuite/libgomp.c/critical-1.c: Likewise.
11758 * testsuite/libgomp.c/loop-1.c: Likewise.
11759 * testsuite/libgomp.c/loop-2.c: Likewise.
11760 * testsuite/libgomp.c/single-1.c: Likewise.
11761 * testsuite/libgomp.c/ordered-1.c: Likewise.
11762 * testsuite/libgomp.c/ordered-2.c: Likewise.
11763
eeb1d9e0
JJ
117642006-05-15 Jakub Jelinek <jakub@redhat.com>
11765
11766 PR middle-end/27416
11767 * libgomp.fortran/pr27416-1.f90: New test.
11768
693d710f
JJ
117692006-05-03 Jakub Jelinek <jakub@redhat.com>
11770
11771 PR fortran/27395
11772 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11773 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11774
8ca5b2a2
JJ
117752006-05-02 Jakub Jelinek <jakub@redhat.com>
11776
11777 PR c++/26943
11778 * testsuite/libgomp.c/pr26943-1.c: New test.
11779 * testsuite/libgomp.c/pr26943-2.c: New test.
11780 * testsuite/libgomp.c/pr26943-3.c: New test.
11781 * testsuite/libgomp.c/pr26943-4.c: New test.
11782 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11783 * testsuite/libgomp.c++/pr26943.C: New test.
11784
077b0dfb
JJ
117852006-05-02 Jakub Jelinek <jakub@redhat.com>
11786
11787 PR middle-end/27337
11788 * testsuite/libgomp.c++/pr27337.C: New test.
11789
91b6c26d
JJ
117902006-04-26 Jakub Jelinek <jakub@redhat.com>
11791
11792 PR c/26171
11793 * testsuite/libgomp.c/pr26171.c: New test.
11794
60e1758f
RH
117952006-04-25 Richard Henderson <rth@redhat.com>
11796
11797 PR libgomp/25865
11798 * configure.ac: Use GCC_CHECK_TLS.
11799 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11800 * Makefile.in, aclocal.m4, configure: Regenerate.
11801
615baed7
MK
118022006-04-10 Matthias Klose <doko@debian.org>
11803
11804 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11805 directory names containing underscores.
11806
fae2b46b
JJ
118072006-03-21 Jakub Jelinek <jakub@redhat.com>
11808
11809 PR c++/26691
11810 * testsuite/libgomp.c++/pr26691.C: New test.
11811
11a5f608
JJ
118122006-03-13 Jakub Jelinek <jakub@redhat.com>
11813
11814 * testsuite/libgomp.fortran/retval2.f90: New test.
11815
1799e5d5
RH
118162006-03-09 Diego Novillo <dnovillo@redhat.com>
11817
11818 * testsuite/libgomp.c++: New directory.
11819
d349482e
AT
118202006-02-25 Shantonu Sen <ssen@opendarwin.org>
11821
11822 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11823 * config/posix/sem.c: Implement the above.
11824
118252006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11826
11827 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11828 define HAVE_BROKEN_POSIX_SEMAPHORES.
11829 * configure: Rebuilt.
11830 * config.h.in: Rebuilt.
11831
124452c9
FXC
118322006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11833
11834 PR bootstrap/26161
11835 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11836 for the other pthread check.
11837 * configure: Regenerate.
11838 * config.h.in: Regenerate.
11839
dd8d6dfe
JJ
118402006-02-15 Jakub Jelinek <jakub@redhat.com>
11841
11842 PR libgomp/25938
11843 PR libgomp/25984
11844 * Makefile.am (fincludedir): New variable.
11845 (nodist_include_HEADERS): Remove Fortran files.
11846 (nodist_finclude_HEADERS): New variable.
11847 * Makefile.in: Regenerated.
11848
6c7a4dfd
JJ
118492006-02-13 Jakub Jelinek <jakub@redhat.com>
11850
11851 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11852 Remove tests for returning assumed character length arrays.
11853
5142e08b
RS
118542006-02-12 Roger Sayle <roger@eyesopen.com>
11855 John David Anglin <dave@hiauly1.hia.nrc.ca>
11856
11857 PR libgomp/25936
11858 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 11859
5821fba8
UW
118602006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11861
11862 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11863
cb2bbc67
EB
118642006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11865
11866 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11867 part of LD_LIBRARY_PATH manually.
11868
f05ee80c
L
118692006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11870
11871 PR libgomp/25852
11872 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11873 libgomp_init.
11874
03b8fe49
PB
118752005-01-25 Paolo Bonzini <bonzini@gnu.org>
11876
11877 PR libgomp/25884
f05ee80c
L
11878 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11879 * configure.ac (PERL): Don't set.
11880 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11881 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11882 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11883 * omp.h.in: Wrap the new configure substitutions with @ characters.
11884 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11885 * aclocal.m4, configure, Makefile.in: Regenerate.
11886 * mkomp_h.pl: Delete.
03b8fe49 11887
18cbfd85
PB
118882005-01-24 Paolo Bonzini <bonzini@gnu.org>
11889
11890 PR libgomp/25259
11891 * configure.ac: Use GCC_HEADER_STDINT.
11892 * libgomp.h: Include gstdint.h.
11893 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11894 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11895
c41303c6
RH
118962006-01-24 Richard Henderson <rth@redhat.com>
11897
11898 PR libgomp/25942
11899 * configure.ac: Add AM_MAINTAINER_MODE.
11900 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11901
149b9553
DN
119022006-01-24 Diego Novillo <dnovillo@redhat.com>
11903
11904 * Makefile.in: Regenerate.
11905 * testsuite/Makefile.in: Regenerate.
11906 * aclocal.m4: Regenerate.
11907
192a50ad
AT
119082006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11909
11910 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11911 Solaris.
11912 * configure.ac: Add check for loadavg.h.
11913 (link_gomp): Adjust comment.
11914 * configure: Regenerate.
11915 * config.h.in: Regenerate.
11916
a55b8e18
SE
119172006-01-21 Steve Ellcey <sje@cup.hp.com>
11918
11919 PR libgomp/25877
11920 * configure.ac: Remove check for alloca.h.
11921 * configure: Regenerate.
11922 * config.h.in: Regenerate.
11923 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11924 * team.c: Remove use of alloca.h.
11925 Call gomp_alloca instead of alloca.
11926
692eeb34
SE
119272006-01-20 Steve Ellcey <sje@cup.hp.com>
11928
11929 PR libgomp/25877
11930 * team.c: Add include of alloca.h.
11931 * configure.ac: Add check for alloca.h.
11932 * configure: Regenerate.
11933 * config.h.in: Regenerate.
11934
953ff289
DN
119352006-01-17 Jakub Jelinek <jakub@redhat.com>
11936
11937 PR fortran/25219
11938 * testsuite/libgomp.fortran/pr25219.f90: New test.
11939
119402005-12-05 Uros Bizjak <uros@kss-loka.si>
11941
11942 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11943 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11944 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11945 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11946 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11947 testsuite/libgomp.fortran/threadprivate1.f90,
11948 testsuite/libgomp.fortran/threadprivate2.f90,
11949 testsuite/libgomp.fortran/threadprivate3.f90,
11950 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11951 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11952 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11953 effective-target to TLS runtime.
11954
11955 * testsuite/libgomp.fortran/pr25162.f: Require
11956 effective-target TLS runtime.
11957
119582005-12-01 Jakub Jelinek <jakub@redhat.com>
11959
11960 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11961 * testsuite/libgomp.c/nestedfn-3.c: New test.
11962
119632005-11-30 Jakub Jelinek <jakub@redhat.com>
11964
11965 PR fortran/25162
11966 * testsuite/libgomp.fortran/pr25162.f: New test.
11967
119682005-11-28 Jakub Jelinek <jakub@redhat.com>
11969
11970 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11971 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11972
119732005-11-25 Jakub Jelinek <jakub@redhat.com>
11974
11975 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11976 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11977 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11978 single.c, team.c, work.c, config/linux/alpha/futex.h,
11979 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11980 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11981 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11982 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11983 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11984 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11985 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11986 FSF address.
11987
119882005-11-18 Jakub Jelinek <jakub@redhat.com>
11989
11990 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11991 to nodist_noinst_HEADERS.
11992 * Makefile.in: Rebuilt.
11993
11994 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11995 add integer count field.
11996 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11997 omp_nest_lock_t type change.
11998 (omp_init_nest_lock): Likewise. Initialize count to 0.
11999 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12000 Increment count.
12001 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12002 Decrement count.
12003 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12004 Increment count if successful and return the new nesting level.
12005 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12006 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12007 * testsuite/libgomp.c/lib-1.c: New test.
12008 * testsuite/libgomp.fortran/lib1.f90: New test.
12009 * testsuite/libgomp.fortran/lib2.f: New test.
12010 * testsuite/libgomp.fortran/lib3.f: New test.
12011
120122005-11-17 Richard Henderson <rth@redhat.com>
12013
12014 PR 24845
12015 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12016 * configure.ac (link_gomp): New. Substitute it.
12017 (AC_CONFIG_FILES): Add libgomp.spec.
12018 * libgomp.spec.in: New file.
12019 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12020 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12021
120222005-11-18 Jakub Jelinek <jakub@redhat.com>
12023
12024 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12025 reduction(-:var) behaving the same as reduction(+:var).
12026 * testsuite/libgomp.c/reduction-4.c: New test.
12027
120282005-11-15 Uros Bizjak <uros@kss-loka.si>
12029
12030 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12031 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12032 testsuite/libgomp.c/copyin-3.c,
12033 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12034 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12035 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12036 testsuite/libgomp.c++/pr24455.C,
12037 testsuite/libgomp.fortran/threadprivate1.f90,
12038 testsuite/libgomp.fortran/threadprivate2.f90,
12039 testsuite/libgomp.fortran/threadprivate3.f90,
12040 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12041 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12042 testsuite/libgomp.fortran/omp_parse3.f90: Require
12043 effective-target TLS.
12044
120452005-11-14 Diego Novillo <dnovillo@redhat.com>
12046
12047 * HEADER: Remove.
12048
120492005-11-13 Jakub Jelinek <jakub@redhat.com>
12050
12051 PR libgomp/24797
12052 * team.c (initialize_team): Pass NULL rather than free as
12053 pthread_key_create destructor. Initialize thread specific data
12054 pointer in initial thread to a static local variable rather than
12055 malloced memory.
12056
120572005-11-11 Uros Bizjak <uros@kss-loka.si>
12058
12059 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12060 its location to ld_library_path.
12061
120622005-11-10 Diego Novillo <dnovillo@redhat.com>
12063
12064 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12065
120662005-11-10 Diego Novillo <dnovillo@redhat.com>
12067
12068 * testsuite/libgomp.c: Rename from libgomp.dg.
12069
120702005-11-09 Diego Novillo <dnovillo@redhat.com>
12071
12072 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12073 threadprivate variable 'i'.
12074
120752005-11-09 Jakub Jelinek <jakub@redhat.com>
12076
12077 * config/linux/s390/futex.h: New file.
12078 * configure.tgt: Use it.
12079
12080 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12081 before the parallel.
12082
120832005-11-08 Jakub Jelinek <jakub@redhat.com>
12084
12085 PR c++/24734
12086 * testsuite/libgomp.c++/master-1.C: New test.
12087
120882005-11-07 Jakub Jelinek <jakub@redhat.com>
12089
12090 * testsuite/libgomp.dg/copyin-3.c: New test.
12091
120922005-11-07 Jakub Jelinek <jakub@redhat.com>
12093
12094 * testsuite/libgomp.fortran/retval1.f90: New test.
12095 * testsuite/libgomp.fortran/vla7.f90: New test.
12096
120972005-11-06 Jakub Jelinek <jakub@redhat.com>
12098
12099 * testsuite/libgomp.fortran/vla2.f90: New test.
12100 * testsuite/libgomp.fortran/vla3.f90: New test.
12101 * testsuite/libgomp.fortran/vla4.f90: New test.
12102 * testsuite/libgomp.fortran/vla5.f90: New test.
12103 * testsuite/libgomp.fortran/vla6.f90: New test.
12104
121052005-11-01 Jakub Jelinek <jakub@redhat.com>
12106
12107 * config/linux/sparc/futex.h: New file.
12108 * configure.tgt: Use it.
12109 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12110
12111 * critical.c: Include stdlib.h.
12112 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12113 ignoring return value.
12114 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12115 LIBGOMP_CHECK_SYNC_BUILTINS check.
12116 * configure: Rebuilt.
12117
121182005-10-31 Jakub Jelinek <jakub@redhat.com>
12119
12120 * testsuite/libgomp.fortran/vla1.f90: New test.
12121
121222005-10-31 Richard Henderson <rth@redhat.com>
12123
12124 * testsuite/libgomp.fortran/character2.f90: Fix race condition
12125 setting 's' in different threads.
12126
121272005-10-31 Jakub Jelinek <jakub@redhat.com>
12128
12129 * libgomp.h (attribute_hidden, ialias): Define.
12130 * config/posix/proc.c (omp_get_num_procs): Add ialias.
12131 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12132 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12133 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12134 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12135 omp_test_lock, omp_test_nest_lock): Likewise.
12136 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12137 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12138 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12139 omp_test_lock, omp_test_nest_lock): Likewise.
12140 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12141 omp_get_dynamic, omp_get_nested): Likewise.
12142 * parallel.c (omp_get_num_threads, omp_get_max_threads,
12143 omp_get_thread_num, omp_in_parallel): Likewise.
12144 * fortran.c (ialias_redirect): Define.
12145 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12146 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12147 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12148 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12149 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12150 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12151 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12152 omp_get_wtime): Add ialias_redirect.
12153
121542005-10-30 Jakub Jelinek <jakub@redhat.com>
12155
12156 * fortran.c: Include stdlib.h.
12157
121582005-10-29 Jakub Jelinek <jakub@redhat.com>
12159
12160 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12161 * Makefile.in: Regenerated.
12162
121632005-10-28 Jakub Jelinek <jakub@redhat.com>
12164
12165 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12166 * libgomp_f.h.in (omp_check_defines): New function.
12167 * env.c: Include libgomp_f.h.
12168 (initialize_env): Call omp_check_defines.
12169
12170 * testsuite/libgomp.dg/copyin-2.c: New test.
12171 * testsuite/libgomp.c++/copyin-2.C: New test.
12172 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
12173
12174 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
12175 * testsuite/libgomp.fortran/sharing2.f90: New test.
12176
12177 * testsuite/libgomp.dg/copyin-1.c: New test.
12178 * testsuite/libgomp.c++/copyin-1.C: New test.
12179
121802005-10-26 Jakub Jelinek <jakub@redhat.com>
12181
12182 * testsuite/libgomp.fortran/crayptr1.f90: New test.
12183
12184 * testsuite/libgomp.fortran/workshare1.f90: New test.
12185
12186 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12187 only test.
12188 * libgomp.fortran/sharing1.f90: New test.
12189
121902005-10-24 Jakub Jelinek <jakub@redhat.com>
12191
12192 PR c++/24502
12193 * testsuite/libgomp.c++/loop-7.C: New test.
12194
12195 * testsuite/libgomp.dg/nestedfn-2.c: New test.
12196
12197 * testsuite/libgomp.dg/nestedfn-1.c: New test.
12198 * testsuite/libgomp.fortran/reduction6.f90: New test.
12199 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
12200
122012005-10-23 Richard Henderson <rth@redhat.com>
12202
12203 * testsuite/libgomp.c++/ctor-1.C: New.
12204 * testsuite/libgomp.c++/ctor-2.C: New.
12205 * testsuite/libgomp.c++/ctor-3.C: New.
12206 * testsuite/libgomp.c++/ctor-4.C: New.
12207 * testsuite/libgomp.c++/ctor-5.C: New.
12208 * testsuite/libgomp.c++/ctor-6.C: New.
12209 * testsuite/libgomp.c++/ctor-7.C: New.
12210 * testsuite/libgomp.c++/ctor-8.C: New.
12211 * testsuite/libgomp.c++/ctor-9.C: New.
12212
122132005-10-21 Diego Novillo <dnovillo@redhat.com>
12214
12215 PR 24455
12216 * testsuite/libgomp.c++/pr24455-1.C: New test.
12217 * testsuite/libgomp.c++/pr24455.C: New test.
12218 * testsuite/libgomp.dg/pr24455-1.c: New test.
12219 * testsuite/libgomp.dg/pr24455.c: New test.
12220
122212005-10-20 Richard Henderson <rth@redhat.com>
12222
12223 * testsuite/libgomp.c++/loop-6.C: New.
12224 * testsuite/libgomp.dg/loop-3.c: New.
12225
122262005-10-20 Jakub Jelinek <jakub@redhat.com>
12227
12228 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12229 explicitly private.
12230 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12231 explicitly shared.
12232
122332005-10-19 Diego Novillo <dnovillo@redhat.com>
12234
12235 * testsuite/libgomp.fortran/jacobi.f: New test.
12236
122372005-10-19 Richard Henderson <rth@redhat.com>
12238
12239 * configure.tgt (i?86-linux): Default to with_arch instead of
12240 CFLAGS. Add -mtune to match target_cpu.
12241 (x86_64-linux): Tune to i686.
12242
12243 * fortran.c (omp_test_nest_lock_): Fix typo.
12244
122452005-10-19 Jakub Jelinek <jakub@redhat.com>
12246
12247 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12248 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12249 * testsuite/libgomp.dg/ordered-3.c: New test.
12250
12251 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12252 Remove volatile keyword.
12253
12254 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12255 in COMMON block to avoid warnings on 64-bit targets.
12256
122572005-10-18 Diego Novillo <dnovillo@redhat.com>
12258
12259 * testsuite/libgomp.dg/shared-3.c: New test.
12260
122612005-10-18 Jakub Jelinek <jakub@redhat.com>
12262
12263 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12264 * testsuite/libgomp.fortran/reduction5.f90: New test.
12265
122662005-10-18 Jakub Jelinek <jakub@redhat.com>
12267
12268 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12269 dg-options.
12270 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12271 flush loop now that __sync_synchronize has proper memory barrier.
12272 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12273 Add -ffixed-form to dg-options.
12274
122752005-10-17 Diego Novillo <dnovillo@redhat.com>
12276
12277 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12278 from subdirectories.
12279 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12280 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12281 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12282 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12283 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12284 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12285 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12286 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12287 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12288 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12289 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12290 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12291 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12292 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12293 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12294 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12295 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12296 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12297 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12298 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12299 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12300 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12301 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12302 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12303 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12304
123052005-10-17 Jakub Jelinek <jakub@redhat.com>
12306
12307 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12308 lang_library_path exists. Use find instead of glob to gather tests.
12309 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12310
123112005-10-17 Diego Novillo <dnovillo@redhat.com>
12312
12313 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12314 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12315 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12316 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12317 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12318 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12319 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12320 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12321 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12322 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12323 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12324 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12325 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12326
123272005-10-15 Jakub Jelinek <jakub@redhat.com>
12328
12329 * testsuite/libgomp.dg/vla-1.c: New test.
12330
12331 * testsuite/libgomp.fortran/reference2.f90: New test.
12332
12333 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12334 declaration of omp_get_thread_num.
12335 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12336 use omp_lib.
12337
12338 * testsuite/libgomp.fortran/reduction1.f90: New test.
12339 * testsuite/libgomp.fortran/reduction2.f90: New test.
12340 * testsuite/libgomp.fortran/reduction3.f90: New test.
12341 * testsuite/libgomp.fortran/reduction4.f90: New test.
12342
123432005-10-13 Richard Henderson <rth@redhat.com>
12344
12345 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12346 * Makefile.in: Regenerate.
12347 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12348 * libgomp.h: Include bar.h.
12349 (struct gomp_barrier): Remove.
12350 (struct gomp_team): Add barrier. Replace master_barrier with
12351 master_release. Replace threads with ordered_release.
12352 (struct gomp_thread): Replace barrier with release.
12353 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12354 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12355 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12356 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12357 (GOMP_single_copy_end): Likewise.
12358 * team.c (gomp_threads_dock): New.
12359 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12360 (gomp_thread_start): Use gomp_barrier_wait.
12361 (new_team, free_team): Update for gomp_team changes.
12362 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12363 (gomp_team_end): Use gomp_barrier_wait.
12364 (initialize_team): Update for gomp_thread changes.
12365 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12366 (gomp_work_share_end_nowait): Use atomic ops when available.
12367 * config/linux/bar.c, config/linux/bar.h: New files.
12368 * config/posix/bar.c, config/posix/bar.h: New files.
12369
123702005-10-13 Jakub Jelinek <jakub@redhat.com>
12371
12372 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12373 * testsuite/libgomp.dg/single-2.c: New test.
12374
12375 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12376 lang_link_flags): Unset, so that they aren't inherited from previously
12377 sourced *.exp.
12378
12379 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12380
123812005-10-12 Richard Henderson <rth@redhat.com>
12382
12383 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12384 (libgomp_init): Use lang_test_file, lang_library_path, and
12385 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12386
12387 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12388 (lang_test_file, lang_link_flags): New.
12389 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12390
12391 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12392 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12393 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12394 testsuite/libgomp.c++/parallel-1.C,
12395 testsuite/libgomp.c++/reduction-1.C,
12396 testsuite/libgomp.c++/reduction-2.C,
12397 testsuite/libgomp.c++/reduction-3.C,
12398 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12399 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12400 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12401 New files, largely cribbed from the C testsuite.
12402
124032005-10-12 Jakub Jelinek <jakub@redhat.com>
12404
12405 * testsuite/libgomp.fortran/character1.f90: New test.
12406 * testsuite/libgomp.fortran/character2.f90: New test.
12407
12408 * testsuite/libgomp.dg/nested-1.c: New test.
12409 * testsuite/libgomp.dg/nested-2.c: New test.
12410 * testsuite/libgomp.fortran/do1.f90: New test.
12411 * testsuite/libgomp.fortran/do2.f90: New test.
12412
12413 * testsuite/libgomp.fortran/reference1.f90: New test.
12414
124152005-10-11 Jakub Jelinek <jakub@redhat.com>
12416
12417 * testsuite/libgomp.dg/reduction-1.c: New test.
12418 * testsuite/libgomp.dg/reduction-2.c: New test.
12419 * testsuite/libgomp.dg/reduction-3.c: New test.
12420
124212005-10-10 Jakub Jelinek <jakub@redhat.com>
12422
12423 * testsuite/libgomp.dg/atomic-1.c: New test.
12424 * testsuite/libgomp.dg/atomic-2.c: New test.
12425
124262005-10-09 Richard Henderson <rth@redhat.com>
12427
12428 * critical.c (atomic_lock): New.
12429 (initialize_critical): Initialize it.
12430 (GOMP_atomic_start, GOMP_atomic_end): New.
12431 * libgomp.map: Export them.
12432 * libgomp_g.h: Declare them.
12433
12434 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12435
124362005-10-02 Richard Henderson <rth@redhat.com>
12437
12438 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12439 to XCFLAGS instead of CFLAGS.
12440
124412005-09-30 Richard Henderson <rth@redhat.com>
12442
12443 * configure.ac: Determine whether -pthread or -lpthread is needed.
12444 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 12445 * Makefile.in, configure: Rebuild.
953ff289
DN
12446
124472005-09-28 Richard Henderson <rth@redhat.com>
12448
12449 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12450 * testsuite/libgomp.dg/omp-single-3.c: New test.
12451
124522005-09-28 Diego Novillo <dnovillo@redhat.com>
12453
12454 * testsuite/libgomp.dg/omp-single-2.c: New test.
12455 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12456
124572005-09-27 Richard Henderson <rth@redhat.com>
12458
12459 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12460 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12461
124622005-09-27 Jakub Jelinek <jakub@redhat.com>
12463
12464 * testsuite/libgomp.dg/omp-loop03.c: New test.
12465
124662005-09-27 Diego Novillo <dnovillo@redhat.com>
12467
12468 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12469
124702005-09-27 Diego Novillo <dnovillo@redhat.com>
12471
12472 * testsuite/libgomp.dg/omp-single-1.c: New test.
12473 * testsuite/libgomp.dg/shared-1.c: Return 0.
12474 Add prototype for abort.
12475 * testsuite/libgomp.dg/shared-2.c: Likewise.
12476
124772005-09-26 Jakub Jelinek <jakub@redhat.com>
12478
12479 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12480 constructs.
12481
124822005-09-26 Diego Novillo <dnovillo@redhat.com>
12483
12484 * testsuite/libgomp.dg/shared-1.c: New test.
12485 * testsuite/libgomp.dg/shared-2.c: New test.
12486
124872005-09-24 Richard Henderson <rth@redhat.com>
12488
12489 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12490
124912005-09-24 Richard Henderson <rth@redhat.com>
12492
12493 * iter.c (gomp_iter_static_next): Round up when computing number
12494 of iterations. Don't bother distributing a remainder equally.
12495
12496 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12497 Don't call srand. Zero b before testing.
12498 (main): New.
12499
125002005-09-24 Jakub Jelinek <jakub@redhat.com>
12501
12502 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12503 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12504
125052005-09-23 Jakub Jelinek <jakub@redhat.com>
12506
12507 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12508 without !$omp end do, followed immediately by subroutine end.
12509
125102005-09-23 Diego Novillo <dnovillo@redhat.com>
12511
12512 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12513
125142005-09-22 Richard Henderson <rth@redhat.com>
12515
12516 * critical.c (GOMP_critical_name_start): Change argument to void**.
12517 Reuse the pointer space if the mutex fits.
12518 (GOMP_critical_name_end): Likewise.
12519 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12520 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12521 (GOMP_critical_name_end): Likewise.
12522 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12523 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12524
125252005-09-20 Richard Henderson <rth@redhat.com>
12526
12527 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12528 (create_lock_lock): New.
12529 (initialize_critical): Initialize it.
12530 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12531 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12532
125332005-09-20 Diego Novillo <dnovillo@redhat.com>
12534
12535 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12536
125372005-09-20 Diego Novillo <dnovillo@redhat.com>
12538
12539 * testsuite/libgomp.dg/omp-loop01.c: New test.
12540 * testsuite/libgomp.dg/omp-loop02.c: New test.
12541
125422005-09-20 Jakub Jelinek <jakub@redhat.com>
12543
12544 * configure.ac (AC_PROG_FC): Add.
12545 (USE_FORTRAN): New automake conditional.
12546 * configure: Rebuilt.
12547 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12548 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12549 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12550 Add rules to build them.
12551 * Makefile.in: Rebuilt.
12552 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12553 OMP_NEST_LOCK_KIND.
12554 * libgomp.map: Add Fortran wrappers.
12555 * libgomp_f.h.in: New file.
12556 * omp_lib.h.in: New file.
12557 * omp_lib.f90.in: New file.
12558 * fortran.c: New file.
12559 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12560 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12561 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12562 libgfortran has been built.
12563 * testsuite/libgomp.fortran/fortran.exp: New file.
12564 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12565 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12566 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12567 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12568 * testsuite/libgomp.fortran/omp_hello.f: New test.
12569 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12570 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12571 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12572 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12573 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12574 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12575 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12576 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12577
125782005-08-30 Richard Henderson <rth@redhat.com>
12579
12580 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12581 function for when aliases are not usable.
12582 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12583 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12584 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12585 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12586 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12587 GOMP_loop_ordered_guided_next): Likewise.
12588 * ordered.c (GOMP_ordered_start): Likewise.
12589
125902005-08-01 Diego Novillo <dnovillo@redhat.com>
12591
12592 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12593 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12594 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12595 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12596 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12597 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12598 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12599 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12600 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12601
126022005-07-07 Eric Christopher <echristo@redhat.com>
12603 Diego Novillo <dnovillo@redhat.com>
12604
12605 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12606 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12607 up code.
12608 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12609 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12610 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12611 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12612 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12613 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12614 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12615
126162005-06-13 Diego Novillo <dnovillo@redhat.com>
12617
12618 * TOPLEVEL.patch: Remove.
12619
126202005-05-16 Richard Henderson <rth@redhat.com>
12621
12622 * configure.ac: Test for clock_gettime.
12623 * config.h.in, configure: Rebuild.
12624 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12625 (omp_get_wtime): Use clock_gettime if available.
12626 (omp_get_wtick): Use clock_getres if available.
12627
126282005-05-11 Richard Henderson <rth@redhat.com>
12629
12630 * config/linux/ia64/futex.h: New file.
12631 * configure.tgt: Use it.
12632
12633 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12634
126352005-05-07 Richard Henderson <rth@redhat.com>
12636
12637 * config/linux/powerpc/futex.h: New file.
12638 * configure.tgt: Use it.
12639
12640 * config/linux/i486/futex.h: Merge ...
12641 * config/linux/x86_64/futex.h: ... into ...
12642 * config/linux/x86/futex.h: ... here.
12643 * configure.tgt: Update to match.
12644
126452005-05-06 Richard Henderson <rth@redhat.com>
12646
12647 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12648 * config/linux/i486/futex.h: Likewise.
12649 * config/linux/x86_64/futex.h: Likewise.
12650
12651 * config/linux/lock.c: New file.
12652 * config/linux/omp-lock.h: New file.
12653
12654 * critical.c, env.h: Don't include omp.h
12655 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12656 * config/posix/time.c: Likewise.
12657 * config/posix/omp-lock.h: New file.
12658 * libgomp.h: Include omp-lock.h and omp.h.
12659 * Makefile.am (nodist_include_HEADERS): New.
12660 (omp.h): New rule.
12661 * configure.ac (PERL): New.
12662 * mkomp_h.pl: New file.
12663 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12664 with templates.
12665 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12666
12667 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12668 build directory. Re-add -march=i486 hack.
12669
12670 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12671 (libgomp_link_flags): Remove.
12672 (libgomp_initialized): Remove.
12673 (libgomp_init): Don't protect from reinitialization. Copy code
12674 from libstdc++ for getting the multilib set correctly.
12675
126762005-05-05 Richard Henderson <rth@redhat.com>
12677
12678 * config/linux/alpha/futex.h: New file.
12679 * configure.tgt (alpha*-*-linux*): Use it.
12680
12681 * config/posix/mutex.c: New file.
12682 * config/posix/sem.c: Use libgomp.h.
12683
12684 * configure.tgt (x86_64-linux): Also test CC for -m32.
12685 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12686
a1daed2d 12687 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
12688 after $gccpath.
12689
12690 * Makefile.am (SUBDIRS): New.
12691 (libgomp_la_LDFLAGS): Add -lpthread.
12692 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12693 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12694
12695 * libgomp_g.h: New file.
12696 * libgomp.h: Split out all public declarations to libgomp_g.h.
12697 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12698 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12699 * config/linux/sem.h: Likewise.
12700 * config/posix/sem.h: Likewise.
12701
12702 * Makefile.am (AM_LDFLAGS): New.
12703 (libgomp_version_script): Split out from ...
12704 (libgomp_la_LDFLAGS): ... here.
12705 (libgomp_version_info): New.
12706 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12707 (LIBGOMP_ENABLE): New.
12708 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12709 (LIBGOMP_ENABLE_SYMVERS): New.
12710 * configure.ac (AC_INIT): Version 1.0.
12711 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12712 (enable-linux-futex): Likewise. Rename from enable-futex.
12713 (libtool_VERSION): New.
12714 (LIBGOMP_ENABLE_SYMVERS): Use it.
12715 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12716 * Makefile.in, aclocal.m4, configure: Rebuild.
12717
12718 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12719 (gomp_mutex_unlock_slow): Fix typo.
12720 * config/linux/sem.c: Similarly.
12721 (gomp_sem_post_slow): Fix typo.
12722 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12723 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12724 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12725
12726 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12727 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12728 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12729 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12730 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12731 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12732 LDFLAGS. Pull enable_futex check to top-level.
12733 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12734 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12735
12736 First attempt at real configury.
12737 * Makefile, config.h: Remove file.
12738 * Makefile.am, Makefile.in: New file.
12739 * acinclude.m4 aclocal.m4: New file.
12740 * configure.ac, configure.tgt, configure: New file.
12741
12742 * config/posix/lock.c: Rename from sys-lock.c.
12743 * config/posix/mutex.h: Rename from sys-mutex.h.
12744 * config/posix/sem.c: Rename from sys-sem.c.
12745 * config/posix/sem.h: Rename from sys-sem.h.
12746 * config/posix/proc.c: Rename from sys-proc.c.
12747 * config/posix/time.c: Rename from sys-proc.c.
12748
12749 * config/linux/mutex.c: New file.
12750 * config/linux/mutex.h: New file.
12751 * config/linux/sem.c: New file.
12752 * config/linux/sem.h: New file.
12753 * config/linux/i486/futex.h: New file.
12754 * config/linux/x86_64/futex.h: New file.
12755
127562005-05-04 Richard Henderson <rth@redhat.com>
12757
12758 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12759 * libgomp.h: Declare them.
12760 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12761 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12762
127632005-05-04 Richard Henderson <rth@redhat.com>
12764
12765 * libgomp-1 code drop
12766
127672005-05-04 Richard Henderson <rth@redhat.com>
12768
12769 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12770 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12771 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12772 (gomp_iter_static_next): Update.
12773 (gomp_ordered_static_next): Update.
12774 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12775 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12776 totally empty range.
12777 (gomp_loop_ordered_static_next): Refine test for calling
12778 gomp_ordered_static_next.
12779 * testsuite/ordered-1.c: Add case for more threads than iterations.
12780
12781 * iter.c (gomp_iter_runtime_next_locked): Remove.
12782 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 12783 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
12784 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12785 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12786 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12787 gomp_loop_ordered_guided_next): Downcase name, make static, add
12788 an external alias with the old name.
12789 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12790 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12791 switch and call one of the above static functions.
12792 * libgomp.h: Update.
12793
12794 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12795 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12796 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12797 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12798 GOMP_loop_ordered_guided_start): Update to match.
12799 * sections.c (GOMP_sections_start): Likewise.
12800 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12801
12802 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12803 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12804 Use bounds check instead of modulus.
12805 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12806 (gomp_ordered_last): Don't sync with ordered_owner here.
12807 (gomp_ordered_next): Likewise.
12808 (gomp_ordered_static_loop_next): Likewise.
12809 * loop.c, libgomp.h: Update to match.
12810
12811 * libgomp.h (GOMP_barrier): Declare.
12812
12813 * testsuite/barrier-1.c: New file.
12814 * testsuite/critical-1.c: New file.
12815 * testsuite/ordered-2.c: New file.
12816 * testsuite/ordered-1.c: New file.
12817 * testsuite/sections-1.c: New file.
12818 * testsuite/single-1.c: New file.
12819 * testsuite/Makefile (TESTS): Add them.
12820
128212005-05-04 Richard Henderson <rth@redhat.com>
12822
12823 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12824 * loop.c (GOMP_loop_static_start): If not the startup thread,
12825 acquire the mutex to wait for initialization complete.
12826 (GOMP_loop_ordered_static_start): Likewise.
12827 (GOMP_loop_ordered_runtime_start): Likewise.
12828 (GOMP_loop_ordered_static_first): Remove.
12829 (GOMP_loop_ordered_dynamic_first): Remove.
12830 (GOMP_loop_ordered_guided_first): Remove.
12831 (GOMP_loop_ordered_runtime_first): Remove.
12832 * ordered.c (gomp_ordered_loop_first): Post to own release when
12833 we're the first thread.
12834 (gomp_ordered_loop_last): Wait on release if not owner.
12835 (gomp_ordered_loop_next): Likewise.
12836 (gomp_ordered_static_loop_init): New.
12837 (gomp_ordered_static_loop_next): Use ordered_owner.
12838 (GOMP_ordered_start): Likewise.
12839 * work.c (gomp_new_work_share): Initialize ordered_owner.
12840
128412005-05-03 Richard Henderson <rth@redhat.com>
12842
12843 * Makefile (OPT): New.
12844 (CFLAGS): Use it.
12845
12846 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12847 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12848 * libgomp.h, libgomp.map, NOTES: Update to match.
12849
12850 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12851 Add initialized and thr members.
12852 (gomp_thread_start): Pause when initially spawned to wait for
12853 the whole team to be created.
12854 (gomp_team_start): Release team members at the end.
12855
12856 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12857 (f_foo_1): Use GOMP_loop_end.
12858 (f_foo_2): Use GOMP_loop_end_nowait.
12859
12860 * testsuite/loop-2.c: New file.
12861 * testsuite/Makefile (TESTS): Add it.
12862
128632005-05-03 Richard Henderson <rth@redhat.com>
12864
12865 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12866 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12867 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12868 initial work_share.
12869
12870 * testsuite/Makefile: New file.
12871 * testsuite/loop-1.c: New file.
12872
128732005-05-03 Richard Henderson <rth@redhat.com>
12874
12875 Initial implementation and checkin.
21fa2a29 12876\f
a5544970 12877Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
12878
12879Copying and distribution of this file, with or without modification,
12880are permitted in any medium without royalty provided the copyright
12881notice and this notice are preserved.