ChangeLog revision 1.1.1.18 1 2021-04-08 Release Manager
2
3 * GCC 10.3.0 released.
4
5 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
6
7 Backported from master:
8 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
9
10 * plugin/plugin-hsa.c (init_enviroment_variables): Don't prepend
11 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
12 * plugin/plugin-gcn.c (init_environment_variables): Likewise.
13 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
14 * config.h.in: Regenerate.
15 * configure: Likewise.
16
17 2021-02-22 Tobias Burnus <tobias (a] codesourcery.com>
18
19 Backported from master:
20 2021-02-22 Tobias Burnus <tobias (a] codesourcery.com>
21
22 PR fortran/99171
23 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
24
25 2021-01-14 Thomas Schwinge <thomas (a] codesourcery.com>
26
27 Backported from master:
28 2021-01-14 Thomas Schwinge <thomas (a] codesourcery.com>
29
30 PR libgomp/65099
31 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
32 configurations.
33 * configure: Regenerate.
34 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
35 check.
36
37 2021-01-06 Jakub Jelinek <jakub (a] redhat.com>
38
39 Backported from master:
40 2020-12-18 Jakub Jelinek <jakub (a] redhat.com>
41
42 * testsuite/libgomp.c/task-6.c: New test.
43
44 2021-01-03 Iain Sandoe <iain (a] sandoe.co.uk>
45 Jakub Jelinek <jakub (a] redhat.com>
46
47 PR target/97865
48 * configure: Regenerate.
49 * Makefile.in: Update copyright years.
50
51 2020-11-25 Thomas Schwinge <thomas (a] codesourcery.com>
52
53 Backported from master:
54 2020-11-25 Thomas Schwinge <thomas (a] codesourcery.com>
55
56 * testsuite/libgomp.oacc-c++/cache-1.C: New.
57 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
58
59 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
60
61 Backported from master:
62 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
63
64 PR target/85486
65 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
66 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
67 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
68
69 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
70
71 Backported from master:
72 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
73
74 PR testsuite/80219
75 PR testsuite/85303
76 * testsuite/lib/libgomp.exp (libgomp_init): Set
77 'gcc_warning_prefix', 'gcc_error_prefix'.
78
79 2020-08-25 Jakub Jelinek <jakub (a] redhat.com>
80
81 Backported from master:
82 2020-08-08 Jakub Jelinek <jakub (a] redhat.com>
83 Tobias Burnus <tobias (a] codesourcery.com>
84
85 PR fortran/93553
86 * testsuite/libgomp.fortran/pr93553.f90: New test.
87
88 2020-08-25 Jakub Jelinek <jakub (a] redhat.com>
89
90 Backported from master:
91 2020-08-05 Jakub Jelinek <jakub (a] redhat.com>
92
93 PR middle-end/96459
94 * testsuite/libgomp.c/teams-3.c: New test.
95 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
96 if not defined yet.
97 (N(test)): Use it before all N(f*) calls.
98 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
99 (main): Don't call all test_* functions from within
100 #pragma omp teams reduction(|:err), call them directly.
101
102 2020-08-20 Chung-Lin Tang <cltang (a] codesourcery.com>
103
104 Backported from master:
105 2020-08-20 Chung-Lin Tang <cltang (a] codesourcery.com>
106
107 * plugin/plugin-nvptx.c (nvptx_free):
108 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
109 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
110 comments.
111
112 2020-07-29 Julian Brown <julian (a] codesourcery.com>
113
114 Backported from master:
115 2020-07-27 Julian Brown <julian (a] codesourcery.com>
116 Thomas Schwinge <thomas (a] codesourcery.com>
117
118 * libgomp.h (struct target_var_desc): Rename do_detach field to
119 is_attach.
120 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
121 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
122 (goacc_enter_data_internal): Don't affect reference counts
123 for attach mappings.
124 (goacc_exit_data_internal): Don't affect reference counts for detach
125 mappings.
126 * target.c (gomp_map_vars_existing): Don't affect reference counts for
127 attach mappings.
128 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
129 mark attach mappings.
130 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
131 reference count for attach mappings.
132 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
133 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
134 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
135 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
136 test as shouldfail.
137 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
138 gracefully in no-finalize mode.
139 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
140
141 2020-07-29 Julian Brown <julian (a] codesourcery.com>
142
143 Backported from master:
144 2020-07-23 Julian Brown <julian (a] codesourcery.com>
145 Thomas Schwinge <thomas (a] codesourcery.com>
146
147 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
148 finalization for detach operation.
149 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
150 New test.
151
152 2020-07-23 Release Manager
153
154 * GCC 10.2.0 released.
155
156 2020-07-14 Kwok Cheung Yeung <kcy (a] codesourcery.com>
157
158 Backported from master:
159 2020-07-14 Tom de Vries <tom (a] codesourcery.com>
160 Cesar Philippidis <cesar (a] codesourcery.com>
161 Thomas Schwinge <thomas (a] codesourcery.com>
162 Kwok Cheung Yeung <kcy (a] codesourcery.com>
163
164 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
165 New variable.
166 (acc_init_1): Set acc_init_thread to pthread_self (). Set
167 acc_init_state to initializing at the start, and to initialized at the
168 end.
169 (self_initializing_p): New function.
170 (acc_get_device_type): Return acc_device_none if called by thread that
171 is currently executing acc_init_1.
172 * libgomp.texi (acc_get_device_type): Update documentation.
173 (Implementation Status and Implementation-Defined Behavior): Likewise.
174 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
175
176 2020-07-13 Julian Brown <julian (a] codesourcery.com>
177
178 Backported from master:
179 2020-07-13 Julian Brown <julian (a] codesourcery.com>
180 Thomas Schwinge <thomas (a] codesourcery.com>
181
182 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
183
184 2020-07-13 Julian Brown <julian (a] codesourcery.com>
185
186 Backported from master:
187 2020-07-10 Julian Brown <julian (a] codesourcery.com>
188 Thomas Schwinge <thomas (a] codesourcery.com>
189
190 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
191 dynamic_refcount.
192 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
193 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
194 dynamic_refcount.
195 (acc_unmap_data): Update comment.
196 (goacc_map_var_existing, goacc_enter_datum): Adjust for
197 dynamic_refcount semantics.
198 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
199 Adjust for dynamic_refcount semantics.
200 (goacc_enter_data_internal): Implement "present" case of dynamic
201 memory-map handling here. Update "non-present" case for
202 dynamic_refcount semantics.
203 (goacc_exit_data_internal): Use goacc_exit_datum_1.
204 * target.c (gomp_map_vars_internal): Remove
205 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
206 handling.
207 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
208 (gomp_load_image_to_device): Substitute dynamic_refcount for
209 virtual_refcount.
210 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
211 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
212 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
213 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
214 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
215 trace output.
216 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
217 trace output.
218 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
219 test.
220 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
221 Remove stale comment.
222 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
223 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
224 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
225 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
226 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
227 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
228
229 2020-07-13 Julian Brown <julian (a] codesourcery.com>
230
231 Backported from master:
232 2020-07-10 Julian Brown <julian (a] codesourcery.com>
233 Thomas Schwinge <thomas (a] codesourcery.com>
234
235 * oacc-mem.c (goacc_map_var_existing): New function.
236 (goacc_enter_datum): Use above function.
237 (goacc_exit_datum_1): New function.
238 (goacc_exit_datum): Use above function.
239
240 2020-07-13 Julian Brown <julian (a] codesourcery.com>
241
242 Backported from master:
243 2020-07-09 Julian Brown <julian (a] codesourcery.com>
244 Thomas Schwinge <thomas (a] codesourcery.com>
245
246 PR middle-end/95270
247 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
248 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
249
250 2020-07-13 Julian Brown <julian (a] codesourcery.com>
251
252 Backported from master:
253 2020-07-09 Julian Brown <julian (a] codesourcery.com>
254
255 * oacc-mem.c (find_group_last): Group data-movement clauses
256 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
257 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
258
259 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
260
261 Backported from master:
262 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
263
264 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
265 behavior for 'GOMP_MAP_FORCE_FROM'.
266 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
267
268 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
269
270 Backported from master:
271 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
272
273 * oacc-mem.c (goacc_exit_data_internal): Remove
274 'GOMP_MAP_ALWAYS_FROM' handling.
275
276 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
277
278 Backported from master:
279 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
280
281 * target.c (gomp_map_vars_existing): Assert 'kind !=
282 GOMP_MAP_ATTACH'.
283 (gomp_map_vars_internal): Clean up.
284
285 2020-06-17 Thomas Schwinge <thomas (a] codesourcery.com>
286
287 Backported from master:
288 2020-06-17 Thomas Schwinge <thomas (a] codesourcery.com>
289
290 PR lto/94848
291 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
292 'dg-do run'.
293
294 2020-06-15 Tobias Burnus <tobias (a] codesourcery.com>
295
296 PR lto/94848
297 PR middle-end/95551
298 * testsuite/libgomp.fortran/target-var.f90: New test.
299
300 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
301 Julian Brown <julian (a] codesourcery.com>
302
303 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
304 special handling.
305
306 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
307 Julian Brown <julian (a] codesourcery.com>
308
309 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
310 Simplify.
311
312 2020-06-05 Julian Brown <julian (a] codesourcery.com>
313
314 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
315 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
316
317 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
318
319 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
320 Evaluate 'copyfrom' individually for each entry.
321 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
322
323 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
324
325 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
326 Evaluate 'finalize' individually for each entry.
327 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
328 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
329 file.
330
331 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
332
333 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
334 usage.
335 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
336
337 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
338 Julian Brown <julian (a] codesourcery.com>
339
340 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
341 checking.
342 (acc_unmap_data, goacc_exit_data_internal): Restore
343 'is_tgt_unmapped' checking.
344 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
345 file.
346 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
347 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
348 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
349 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
350 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
351 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
352
353 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
354 Julian Brown <julian (a] codesourcery.com>
355
356 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
357
358 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
359
360 PR libgomp/92854
361 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
362
363 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
364
365 PR libgomp/92854
366 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
367 more.
368
369 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
370 Julian Brown <julian (a] codesourcery.com>
371
372 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
373 'gomp_map_vars'.
374 (acc_map_data): Clean up accordingly.
375
376 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
377
378 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
379 of over-eager 'finalize' clause.
380 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
381 file.
382 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
383 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
384 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
385 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
386 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
387 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
388 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
389 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
390
391 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
392
393 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
394
395 2020-06-04 Julian Brown <julian (a] codesourcery.com>
396
397 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
398 error path.
399 (goacc_detach_internal): Likewise.
400
401 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
402
403 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
404 the checkpoint.
405 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
406 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
407 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
408 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
409 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
410
411 2020-05-26 Thomas Koenig <tkoenig (a] gcc.gnu.org>
412
413 PR libfortran/95191
414 * testsuite/libgomp.fortran/async_io_9.f90: New test.
415
416 2020-05-22 Thomas Koenig <tkoenig (a] gcc.gnu.org>
417
418 PR libfortran/95119
419 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
420
421 2020-05-07 Release Manager
422
423 * GCC 10.1.0 released.
424
425 2020-04-29 Thomas Schwinge <thomas (a] codesourcery.com>
426
427 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
428 * openacc.f90 (acc_device_current): Likewise.
429 * openacc.h (acc_device_current): Likewise.
430 * openacc_lib.h (acc_device_current): Likewise.
431
432 PR target/94282
433 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
434 'dg-allow-blank-lines-in-output'.
435
436 * oacc-init.c (get_openacc_name): Handle 'gcn'.
437 * testsuite/lib/libgomp.exp
438 (offload_target_to_openacc_device_type) [amdgcn*]: Return
439 'radeon'. Adjust all users.
440 (check_effective_target_openacc_amdgcn_accel_present): Rename
441 to...
442 (check_effective_target_openacc_radeon_accel_present): ... this.
443 Adjust all users.
444 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
445 (check_effective_target_openacc_radeon_accel_selected): ... this.
446 Adjust all users.
447
448 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
449 'dg-do run'.
450
451 2020-04-23 Andrew Stubbs <ams (a] codesourcery.com>
452
453 PR other/94629
454
455 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
456 hsa_iterate_agents.
457 (GOMP_OFFLOAD_init_device): Check return values from both calls to
458 hsa_agent_iterate_regions.
459
460 2020-04-20 Thomas Schwinge <thomas (a] codesourcery.com>
461
462 PR middle-end/94635
463 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
464 run'.
465
466 2020-04-20 Tobias Burnus <tobias (a] codesourcery.com>
467
468 PR middle-end/94120
469 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
470 test case.
471
472 2020-04-17 Tobias Burnus <tobias (a] codesourcery.com>
473
474 PR middle-end/94635
475 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
476
477 2020-04-13 Thomas Schwinge <thomas (a] codesourcery.com>
478
479 PR libgomp/92843
480 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
481 Rename to...
482 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
483 ... this.
484 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
485 Rename to...
486 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
487 ... this.
488 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
489 Rename to...
490 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
491 ... this.
492 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
493 Rename to...
494 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
495 ... this.
496 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
497 Rename to...
498 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
499 ... this.
500 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
501 Rename to...
502 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
503 ... this.
504 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
505 Rename to...
506 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
507 ... this.
508 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
509 Rename to...
510 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
511 ... this.
512 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
513 Rename to...
514 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
515 ... this.
516 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
517 Rename to...
518 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
519 ... this.
520 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
521 Rename to...
522 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
523 ... this.
524 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
525 Rename to...
526 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
527 ... this.
528 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
529 Rename to...
530 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
531 ... this.
532 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
533 Rename to...
534 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
535 ... this.
536 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
537 Rename to...
538 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
539 ... this.
540 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
541 Rename to...
542 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
543 ... this.
544
545 2020-04-10 Julian Brown <julian (a] codesourcery.com>
546 Thomas Schwinge <thomas (a] codesourcery.com>
547
548 PR libgomp/92843
549 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
550 New file.
551 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
552 Likewise.
553 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
554 Likewise.
555 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
556 Likewise.
557 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
558 Likewise.
559 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
560 Likewise.
561 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
562 Likewise.
563 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
564 Likewise.
565 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
566 Likewise.
567 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
568 Likewise.
569 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
570 Likewise.
571 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
572 Likewise.
573 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
574 Likewise.
575 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
576 Likewise.
577 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
578 Likewise.
579 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
580 Likewise.
581
582 2020-04-10 Thomas Schwinge <thomas (a] codesourcery.com>
583
584 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
585 run'.
586
587 2020-04-08 Tobias Burnus <tobias (a] codesourcery.com>
588
589 PR middle-end/94120
590 * libgomp.oacc-c++/declare-pr94120.C: New.
591
592 2020-04-06 Maciej W. Rozycki <macro (a] wdc.com>
593
594 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
595 files.
596 * configure: Regenerate.
597 * testsuite/libgomp-site-extra.exp.in: New file.
598 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
599 variable.
600 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
601 variable.
602 * testsuite/Makefile.in: Regenerate.
603
604 2020-04-03 Thomas Schwinge <thomas (a] codesourcery.com>
605
606 PR tree-optimization/89713
607 PR c/94392
608 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
609 'bar.sync'.
610 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
611
612 2020-03-31 Tobias Burnus <tobias (a] codesourcery.com>
613
614 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
615 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
616
617 2020-03-24 Tobias Burnus <tobias (a] codesourcery.com>
618
619 PR libgomp/81689
620 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
621
622 2020-03-20 Tobias Burnus <tobias (a] codesourcery.com>
623
624 PR libgomp/94251
625 * target.c (gomp_load_image_to_device): Fix link
626 variable handling.
627
628 2020-03-19 Jakub Jelinek <jakub (a] redhat.com>
629
630 PR c++/93931
631 * testsuite/libgomp.c++/pr93931.C: New test.
632
633 2020-03-19 Tobias Burnus <tobias (a] codesourcery.com>
634
635 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
636 dg-allow-blank-lines-in-output.
637
638 2020-03-18 Julian Brown <julian (a] codesourcery.com>
639 Tobias Burnus <tobias (a] codesourcery.com>
640
641 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
642 it work concurrently.
643
644 2020-03-18 Tobias Burnus <tobias (a] codesourcery.com>
645
646 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
647 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
648 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
649
650 2020-03-14 Jakub Jelinek <jakub (a] redhat.com>
651
652 PR middle-end/93566
653 * testsuite/libgomp.c/pr93566.c: New test.
654
655 2020-02-21 Frederik Harwath <frederik (a] codesourcery.com>
656
657 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
658 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
659 integer(acc_device_property) for the type of the return value of
660 acc_get_property.
661
662 2020-02-19 Tobias Burnus <tobias (a] codesourcery.com>
663
664 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
665 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
666 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
667 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
668 (acc_set_device_num): Fix Fortran argument name, use same name for C.
669 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
670 corrections; add note about the previous interface and named constant.
671 (OpenACC library and environment variables): Fix two typos.
672 * openacc.f90: Use for all procedures the argument names from the spec
673 as for _h they are user visible.
674 (openacc_kinds): Rename acc_device_property to
675 acc_device_property_kinds and change value to int32 ; and update users.
676 Re-add acc_device_property for for backward compatibility.
677 (acc_get_property_string_h): Clean up as acc_device_property_kind
678 changed.
679 (acc_get_property_h): Likewise and return c_size_t instead of
680 acc_device_property.
681 (openacc): Also export acc_device_property_kinds.
682 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
683 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
684 handling; check against /= 0 instead of == 1 to match C.
685 * openacc_lib.h: Use for all procedures the argument names from the spec
686 as for _h they are user visible. Place !GCC$ into the first column to
687 be active also for fixed-form souce form.
688 (acc_device_current, acc_device_property_kind, acc_device_property,
689 acc_property_memory, acc_property_free_memory, acc_property_name,
690 acc_property_vendor, acc_property_driver): New named constants.
691 (acc_get_property, acc_get_property_string): New generic interface.
692
693 2020-02-13 Frederik Harwath <frederik (a] codesourcery.com>
694
695 PR libgomp/93481
696 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
697 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
698 optional.
699 (gomp_target_task_fn): Assert "devicep->async_run_func".
700 (clear_unsupported_flags): New function to remove unsupported flags
701 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
702 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
703 * testsuite/libgomp.c/target-33.c:
704 Remove xfail for offload_target_nvptx.
705 * testsuite/libgomp.c/target-34.c: Likewise.
706
707 2020-02-10 Frederik Harwath <frederik (a] codesourcery.com>
708
709 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
710 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
711 * testsuite/libgomp.c/target-34.c: Likewise.
712 * testsuite/libgomp.c/target-link-1.c: Add xfail for
713 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
714
715 2020-02-09 Jakub Jelinek <jakub (a] redhat.com>
716
717 * testsuite/libgomp.c/target-38.c: New test.
718
719 2020-02-06 Jakub Jelinek <jakub (a] redhat.com>
720
721 PR libgomp/93515
722 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
723
724 2020-02-05 Tobias Burnus <tobias (a] codesourcery.com>
725
726 * testsuite/lib/libgomp.exp
727 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
728 and not as 'source' argument to libgomp_target_compile.
729
730 2020-02-03 Andrew Stubbs <ams (a] codesourcery.com>
731
732 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
733 (gcn_gfx801_s): Remove.
734 (isa_hsa_name): Remove gfx801.
735 (isa_gcc_name): Remove gfx801/carizzo.
736 (isa_code): Remove gfx801.
737
738 2020-02-03 Julian Brown <julian (a] codesourcery.com>
739 Tobias Burnus <tobias (a] codesourcery.com>
740
741 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
742 and *_finalize variants; document acc_attach and acc_detach; update
743 references from OpenACC 2.0 to 2.6.
744 * openacc.f90 (openacc_version): Update to 201711.
745 * openacc_lib.h (openacc_version): Update to 201711.
746 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
747 openacc_version to 201711.
748 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
749
750 2020-01-31 Kwok Cheung Yeung <kcy (a] codesourcery.com>
751
752 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
753 and vgpr_count fields.
754 (struct kernel_info): Add a field for a hsa_kernel_description.
755 (run_kernel): Reduce the number of threads/workers if the requested
756 number would require too many VGPRs.
757 (init_basic_kernel_info): Initialize description field with
758 the hsa_kernel_description entry for the kernel.
759
760 2020-01-29 Tobias Burnus <tobias (a] codesourcery.com>
761
762 PR bootstrap/93409
763 * plugin/configfrag.ac (enable_offload_targets): Skip
764 HSA and GCN plugin besides -m32 also for -mx32.
765 * configure: Regenerate.
766
767 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
768
769 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
770
771 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
772
773 * plugin-gcn.c (struct agent_info): Add fields "name" and
774 "vendor_name" ...
775 (GOMP_OFFLOAD_init_device): ... and init from here.
776 (struct hsa_context_info): Add field "driver_version_s" ...
777 (init_hsa_contest): ... and init from here.
778 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
779 implementation.
780 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
781 Enable test execution for amdgcn and host offloading targets.
782 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
783 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
784 (expect_device_properties): Split function into ...
785 (expect_device_string_properties): ... this new function ...
786 (expect_device_memory): ... and this new function.
787 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
788 Add test.
789
790 2020-01-28 Julian Brown <julian (a] codesourcery.com>
791
792 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
793 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
794 component/non-component variable refs in a single directive.
795 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
796
797 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com>
798
799 * configure.ac: Handle `--with-toolexeclibdir='.
800 * Makefile.in: Regenerate.
801 * aclocal.m4: Regenerate.
802 * configure: Regenerate.
803 * testsuite/Makefile.in: Regenerate.
804
805 2020-01-24 Frederik Harwath <frederik (a] codesourcery.com>
806
807 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
808 (expect_device_properties): Remove "expected_free_mem" argument,
809 change "expected_total_mem" argument type to size_t;
810 change types of acc_get_property results to size_t,
811 adapt format strings.
812 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
813 Use %zu instead of %zd to print size_t values.
814 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
815 rename to ...
816 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
817 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
818 rename to ...
819 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
820
821 2020-01-23 Andrew Stubbs <ams (a] codesourcery.com>
822
823 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
824 the device id.
825
826 2020-01-20 Andrew Stubbs <ams (a] codesourcery.com>
827
828 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
829 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
830 Adjust test dimensions for amdgcn.
831 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
832 gang/worker/vector expectations dynamically.
833 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
834 (main): Likewise.
835 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
836 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
837 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
838 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
839 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
840 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
841 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
842 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
843 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
844 (acc_gang): Recognise acc_device_radeon.
845 (acc_worker): Likewise.
846 (acc_vector): Likewise.
847 (main): Set expectations for amdgcn.
848 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
849 (main): Adjust gang/worker/vector expectations dynamically.
850 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
851 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
852 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
853 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
854 for amdgcn.
855
856 2020-01-17 Andrew Stubbs <ams (a] codesourcery.com>
857
858 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
859 acc_device_radeon.
860 (openacc): Likewise.
861 * openacc.f90 (openacc_kinds): Likewise.
862 (openacc): Likewise.
863 * openacc.h (acc_device_t): Likewise.
864 * openacc_lib.h: Likewise.
865 * testsuite/lib/libgomp.exp
866 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
867 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
868 (cb_compute_construct_end): Likewise.
869 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
870 (cb_enqueue_launch_start): Likewise.
871 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
872 (cb_enter_data_end): Likewise.
873 (cb_exit_data_start): Likewise.
874 (cb_exit_data_end): Likewise.
875 (cb_compute_construct_end): Likewise.
876 (cb_enqueue_launch_start): Likewise.
877 (cb_enqueue_launch_end): Likewise.
878 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
879 (main): Likewise.
880
881 2020-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
882
883 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
884 to use this instead of 'enum gomp_device_property'.
885 (GOMP_OFFLOAD_get_property): Rename to...
886 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
887 * libgomp.h (struct gomp_device_descr): Move
888 'GOMP_OFFLOAD_openacc_get_property'...
889 (struct acc_dispatch_t): ... here. Adjust all users.
890 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
891
892 * target.c (gomp_map_vars_internal)
893 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
894 paths.
895
896 2020-01-10 Jakub Jelinek <jakub (a] redhat.com>
897
898 PR libgomp/93219
899 * libgomp.h (gomp_print_string): Change return type from void to int.
900 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
901 not all characters have been written.
902
903 2020-01-08 Tobias Burnus <tobias (a] codesourcery.com>
904
905 * libgomp.texi: Fix typos, use https.
906
907 2020-01-03 Tobias Burnus <tobias (a] codesourcery.com>
908
909 * testsuite/libgomp.fortran/optional-map.f90: Add test for
910 unallocated/disassociated actual arguments to nonallocatable/nonpointer
911 dummy arguments; those are/shall be regarded as absent arguments.
912 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
913 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
914
915 2020-01-01 Jakub Jelinek <jakub (a] redhat.com>
916
917 Update copyright years.
918
919 * libgomp.texi: Bump @copying's copyright year.
920
921 2019-12-31 Ayush Mittal <ayush.m (a] samsung.com>
922
923 PR libgomp/93065
924 * oacc-init.c (goacc_runtime_deinitialize): New function.
925
926 2019-12-28 Jakub Jelinek <jakub (a] redhat.com>
927
928 PR bootstrap/93074
929 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
930 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
931
932 2019-12-22 Maciej W. Rozycki <macro (a] codesourcery.com>
933 Frederik Harwath <frederik (a] codesourcery.com>
934 Thomas Schwinge <tschwinge (a] codesourcery.com>
935
936 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
937 * libgomp-plugin.h (gomp_device_property_value): New union.
938 (gomp_device_property_value): New prototype.
939 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
940 constant.
941 (acc_device_property_t): New enum.
942 (acc_get_property, acc_get_property_string): New prototypes.
943 * oacc-init.c (acc_get_device_type): Also assert that result
944 is not `acc_device_current'.
945 (get_property_any, acc_get_property, acc_get_property_string):
946 New functions.
947 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
948 `acc_property_memory', `acc_property_free_memory',
949 `acc_property_name', `acc_property_vendor' and
950 `acc_property_driver' constants. Add `acc_device_property' data
951 type.
952 (openacc_internal): Add `acc_get_property' and
953 `acc_get_property_string' interfaces. Add `acc_get_property_h',
954 `acc_get_property_string_h', `acc_get_property_l' and
955 `acc_get_property_string_l'.
956 * oacc-host.c (host_get_property): New function.
957 (host_dispatch): Wire it.
958 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
959 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
960 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
961 * libgomp.texi (OpenACC Runtime Library Routines): Add
962 `acc_get_property'.
963 (acc_get_property): New node.
964 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
965 function (stub).
966 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
967 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
968 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
969 calls.
970 (GOMP_OFFLOAD_get_property): New function.
971 (struct ptx_device): Add new field "name".
972 (cuda_driver_version_s): Add new static variable ...
973 (nvptx_init): ... and init from here.
974
975 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
976 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
977 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
978 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
979 with test helper functions.
980
981 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
982
983 2019-12-22 Maciej W. Rozycki <macro (a] wdc.com>
984
985 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
986 variable.
987
988 2019-12-21 Thomas Schwinge <thomas (a] codesourcery.com>
989
990 * target.c (gomp_map_vars_internal): Restore 'omp declare target
991 link' handling.
992
993 2019-12-19 Julian Brown <julian (a] codesourcery.com>
994
995 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
996 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
997 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
998
999 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1000 Cesar Philippidis <cesar (a] codesourcery.com>
1001
1002 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1003 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1004 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1005 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1006 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1007 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1008 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1009 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1010 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1011 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1012 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1013 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1014 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1015
1016 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1017
1018 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1019 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1020 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1021 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1022 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1023 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1024 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1025 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1026 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1027 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1028 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1029 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1030
1031 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1032
1033 * libgomp.h (struct target_var_desc): Add do_detach flag.
1034 * oacc-init.c (acc_shutdown_1): Free aux block if present.
1035 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1036 struct components. Tidy up and add some new checks.
1037 (goacc_enter_data_internal): Update call to find_group_last.
1038 (goacc_exit_data_internal): Support detach operations and
1039 GOMP_MAP_STRUCT.
1040 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1041 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
1042 attach/detach in enter/exit data detection code.
1043 * target.c (gomp_map_vars_existing): Initialise do_detach field of
1044 tgt_var_desc.
1045 (gomp_map_vars_internal): Support attach.
1046 (gomp_unmap_vars_internal): Support detach.
1047
1048 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1049 Thomas Schwinge <thomas (a] codesourcery.com>
1050
1051 * libgomp.h (struct splay_tree_aux): Add attach_count field.
1052 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1053 * libgomp.map (OACC_2.6): New section. Add acc_attach,
1054 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1055 acc_detach_finalize_async.
1056 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1057 acc_detach, acc_detach_async, acc_detach_finalize,
1058 acc_detach_finalize_async): New functions.
1059 * openacc.h (acc_attach, acc_attach_async, acc_detach,
1060 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1061 prototypes.
1062 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1063 (gomp_remove_var_internal): Free attachment counts if present.
1064 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1065 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1066
1067 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1068 Cesar Philippidis <cesar (a] codesourcery.com>
1069
1070 * libgomp.h (gomp_map_val): Add prototype.
1071 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1072 open-coding device-address calculation.
1073 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1074 non-present case.
1075
1076 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1077
1078 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1079 field for virtual_refcount.
1080 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1081 (gomp_free_memmap): Remove prototype.
1082 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1083 instead of calling gomp_free_memmap.
1084 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1085 dynamic_refcount.
1086 (acc_unmap_data): Open code instead of forcing target_mem_desc's
1087 to_free field to NULL then calling gomp_unmap_vars. Handle
1088 REFCOUNT_INFINITY on target blocks.
1089 (goacc_enter_data): Rename to...
1090 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
1091 handling for mapping groups. Use virtual_refcount instead of
1092 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1093 map_map_vars_async call. Re-do lookup for target pointer return value.
1094 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1095 renamed goacc_enter_datum function.
1096 (goacc_exit_data): Rename to...
1097 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
1098 (acc_delete, acc_delete_async, acc_delete_finalize,
1099 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1100 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1101 goacc_exit_datum function.
1102 (gomp_acc_remove_pointer, find_pointer): Remove functions.
1103 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1104 New functions.
1105 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1106 goacc_exit_data_internal helper functions.
1107 * target.c (gomp_map_vars_internal): Handle
1108 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
1109 semantics.
1110 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1111 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1112 virtual_refcount field instead of dynamic_refcount.
1113 (gomp_free_memmap): Remove function.
1114 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1115 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1116 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1117
1118 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1119 Thomas Schwinge <thomas (a] codesourcery.com>
1120
1121 * libgomp.h (struct splay_tree_aux): New.
1122 (struct splay_tree_key_s): Replace link_key field with aux pointer.
1123 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1124 to aux struct.
1125 (gomp_remove_var_internal): Free aux block if present.
1126 (gomp_load_image_to_device): Zero-initialise aux field instead of
1127 link_key field.
1128 (omp_target_associate_pointer): Zero-initialise aux field.
1129
1130 2019-12-18 Jakub Jelinek <jakub (a] redhat.com>
1131
1132 PR middle-end/86416
1133 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1134 q or none.
1135 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1136 L or none.
1137
1138 2019-12-19 Julian Brown <julian (a] codesourcery.com>
1139 Maciej W. Rozycki <macro (a] codesourcery.com>
1140 Tobias Burnus <tobias (a] codesourcery.com>
1141 Thomas Schwinge <thomas (a] codesourcery.com>
1142
1143 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1144 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1145 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1146 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1147 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1148 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1149 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1150 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1151 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1152
1153 2019-12-18 Thomas Schwinge <thomas (a] codesourcery.com>
1154
1155 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1156 called...
1157 (goacc_insert_pointer): ... from here, "present" case.
1158 (goacc_insert_pointer): Inline function into...
1159 (GOACC_enter_exit_data): ... here, and simplify.
1160
1161 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1162 called...
1163 (goacc_insert_pointer): ... from here, "not present" case.
1164
1165 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
1166 all users.
1167
1168 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1169 'goacc_enter_data', 'goacc_exit_data'.
1170
1171 * oacc-mem.c (delete_copyout): Refactor into...
1172 (goacc_exit_data): ... this. Adjust all users.
1173
1174 * oacc-mem.c (present_create_copy): Refactor into...
1175 (goacc_enter_data): ... this. Adjust all users.
1176
1177 * target.c (gomp_unmap_vars_internal): Add a safeguard to
1178 'gomp_remove_var'.
1179
1180 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1181 like 'GOMP_MAP_FROM'.
1182
1183 PR libgomp/92726
1184 PR libgomp/92970
1185 PR libgomp/92984
1186 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1187 fails.
1188 (GOACC_enter_exit_data): Simplify accordingly.
1189 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1190 subsuming...
1191 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1192 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1193 file.
1194 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1195 subsuming...
1196 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1197 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1198 file.
1199 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1200 subsuming...
1201 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1202
1203 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1204 'finalize' handling.
1205
1206 PR libgomp/92848
1207 * oacc-mem.c (acc_map_data, present_create_copy)
1208 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1209 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1210 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1211 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1212 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1213 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1214 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1215 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1216 Remove "XFAIL"s.
1217
1218 * target.c (gomp_unmap_tgt): Make it 'static'.
1219 * libgomp.h (gomp_unmap_tgt): Remove.
1220
1221 2019-12-18 Tobias Burnus <tobias (a] codesourcery.com>
1222
1223 PR middle-end/86416
1224 * testsuite/libgomp.c/pr86416-1.c: New.
1225 * testsuite/libgomp.c/pr86416-2.c: New.
1226
1227 2019-12-17 Tobias Burnus <tobias (a] codesourcery.com>
1228
1229 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1230 all symbols as public except for the 'use , only' imported symbol,
1231 which is private.
1232 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1233 all symbols from module openacc_kinds as PUBLIC
1234 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1235 fix comment typo.
1236 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1237
1238 2019-12-13 Julian Brown <julian (a] codesourcery.com>
1239
1240 PR libgomp/92881
1241
1242 * libgomp.h (gomp_remove_var_async): Add prototype.
1243 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1244 gomp_remove_var.
1245 * target.c (gomp_unref_tgt): Change return type to bool, indicating
1246 whether target_mem_desc was unmapped.
1247 (gomp_unref_tgt_void): New.
1248 (gomp_remove_var): Reimplement in terms of...
1249 (gomp_remove_var_internal): ...this new helper function.
1250 (gomp_remove_var_async): New, implemented using above helper function.
1251 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1252 gomp_unref_tgt.
1253
1254 2019-12-13 Andrew Stubbs <ams (a] codesourcery.com>
1255
1256 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1257 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1258 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1259 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1260 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1261 Likewise.
1262 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1263 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1264
1265 2019-12-13 Tobias Burnus <tobias (a] codesourcery.com>
1266
1267 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1268 as public except for the 'use , only' imported symbol, which is
1269 private.
1270 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1271 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1272 attributes for acc_copyout_finalize and acc_delete_finalize.
1273
1274 2019-12-11 Jakub Jelinek <jakub (a] redhat.com>
1275
1276 PR fortran/92899
1277 * testsuite/libgomp.fortran/atomic1.f90: New test.
1278
1279 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
1280
1281 PR libgomp/92843
1282 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1283 reference counting for structured 'REFCOUNT_INFINITY'. Add some
1284 assertions.
1285 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1286 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1287 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1288 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1289 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1290
1291 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1292 * oacc-mem.c: ... here.
1293 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1294 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1295 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1296 Remove.
1297 * libgomp_g.h: Update.
1298
1299 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1300 * oacc-async.c: ... here.
1301 * oacc-int.h (goacc_wait): Declare.
1302 * libgomp_g.h: Update
1303
1304 PR libgomp/92854
1305 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1306 New file.
1307 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1308 Likewise.
1309 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1310 Likewise.
1311 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1312 Likewise.
1313 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1314 Likewise.
1315 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1316 Likewise.
1317
1318 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
1319 Julian Brown <julian (a] codesourcery.com>
1320
1321 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1322 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1323
1324 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
1325
1326 * omp_lib.h.in: Fix spelling of function declaration
1327 omp_get_cancell(l)ation.
1328 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1329 Fix typos.
1330 * env.c: Fix comment typos.
1331 * oacc-host.c: Likewise.
1332 * ordered.c: Likewise.
1333 * task.c: Likewise.
1334 * team.c: Likewise.
1335 * config/gcn/task.c: Likewise.
1336 * config/gcn/team.c: Likewise.
1337 * config/nvptx/task.c: Likewise.
1338 * config/nvptx/team.c: Likewise.
1339 * plugin/plugin-gcn.c: Likewise.
1340 * testsuite/libgomp.fortran/jacobi.f: Likewise.
1341 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1342 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1343
1344 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
1345
1346 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1347 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1348 unnecessary 'dg-additional-options "-w"'.
1349
1350 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
1351 Julian Brown <julian (a] codesourcery.com>
1352
1353 PR libgomp/92116
1354 PR libgomp/92877
1355
1356 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
1357 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1358 Adjust all users.
1359 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1360 Remove XFAIL.
1361 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1362 Likewise.
1363 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1364
1365 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
1366
1367 PR libgomp/92503
1368 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1369 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1370 file.
1371 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1372 Likewise.
1373 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1374 Likewise.
1375 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1376 Likewise.
1377 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1378 Likewise.
1379 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1380 Likewise.
1381 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1382 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1383 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1384 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1385 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1386 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1387 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1388 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1389 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1390 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1391
1392 PR libgomp/92840
1393 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1394 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1395 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1396 New file.
1397 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1398 Likewise.
1399 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1400 Likewise.
1401 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1402 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1403
1404 PR libgomp/92511
1405 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
1406 this file...
1407 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
1408 this file...
1409 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
1410 file...
1411 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
1412 file...
1413 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1414 ... with their content moved into, and extended in this new file.
1415 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
1416 New file.
1417 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
1418 Likewise.
1419 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
1420 Likewise.
1421 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
1422 Likewise.
1423
1424 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
1425
1426 PR libgomp/92854
1427 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
1428
1429 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1430
1431 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
1432
1433 2019-12-09 Tobias Burnus <tobias (a] codesourcery.com>
1434
1435 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1436 unique.
1437 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1438 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1439 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1440 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1441 Ditto.
1442 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1443 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1444
1445 2019-12-06 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1446
1447 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1448
1449 2019-12-06 Tobias Burnus <tobias (a] codesourcery.com>
1450 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1451
1452 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1453 if input it a NULL pointer.
1454 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1455 diagnostic of NULL pointer.
1456 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1457 * testsuite/libgomp.fortran/optional-map.f90: New.
1458 * testsuite/libgomp.fortran/use_device_addr-1.f90
1459 (test_dummy_opt_callee_1_absent): New.
1460 (test_dummy_opt_call_1): Call it.
1461 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1462 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1463 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1464 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1465 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1466 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1467 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1468 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1469 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1470 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1471 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1472 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1473 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1474 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1475 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1476 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1477
1478 2019-12-05 Tobias Burnus <tobias (a] codesourcery.com>
1479
1480 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1481 expect dg-output of 'Error termination.' for GCN.
1482 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1483 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1484
1485 2019-12-04 Jakub Jelinek <jakub (a] redhat.com>
1486
1487 PR fortran/92756
1488 * testsuite/libgomp.fortran/teams1.f90: New test.
1489 * testsuite/libgomp.fortran/teams2.f90: New test.
1490
1491 2019-12-03 Frederik Harwath <frederik (a] codesourcery.com>
1492
1493 * oacc-init.c (acc_known_device_type): Add function.
1494 (unknown_device_type_error): Add function.
1495 (name_of_acc_device_t): Change to call unknown_device_type_error
1496 on unknown type.
1497 (resolve_device): Use acc_known_device_type.
1498 (acc_init): Fail if acc_device_t argument is not valid.
1499 (acc_shutdown): Likewise.
1500 (acc_get_num_devices): Likewise.
1501 (acc_set_device_type): Likewise.
1502 (acc_get_device_num): Likewise.
1503 (acc_set_device_num): Likewise.
1504 (acc_on_device): Add comment that argument validity is not checked.
1505
1506 2019-12-03 Andrew Stubbs <ams (a] codesourcery.com>
1507
1508 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1509 Recognize amdgcn.
1510 (check_effective_target_openacc_amdgcn_accel_present): New proc.
1511 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
1512 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1513 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1514 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1515
1516 2019-12-03 Szabolcs Nagy <szabolcs.nagy (a] arm.com>
1517
1518 PR libgomp/91938
1519 * configure.tgt: Avoid IE tls on *-*-musl*.
1520
1521 2019-11-29 Tobias Burnus <tobias (a] codesourcery.com>
1522
1523 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1524 adding a common-block test case.
1525
1526 2019-11-29 Jakub Jelinek <jakub (a] redhat.com>
1527
1528 PR c++/60228
1529 * testsuite/libgomp.c++/udr-20.C: New test.
1530 * testsuite/libgomp.c++/udr-21.C: New test.
1531
1532 2019-11-27 Thomas Schwinge <thomas (a] codesourcery.com>
1533
1534 * testsuite/lib/libgomp.exp
1535 (check_effective_target_offload_target_nvptx): New proc.
1536 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
1537 'dg-skip-if'.
1538 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1539 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1540 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1541
1542 2019-11-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1543
1544 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1545 * testsuite/libgomp.c/pr39591-2.c: Likewise.
1546 * testsuite/libgomp.c/pr39591-3.c: Likewise.
1547 * testsuite/libgomp.c/private-1.c: Likewise.
1548 * testsuite/libgomp.c/task-1.c: Likewise.
1549 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
1550
1551 2019-11-20 Julian Brown <julian (a] codesourcery.com>
1552
1553 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1554 aq->mutex here.
1555 (queue_push_launch): Lock aq->mutex before calling
1556 wait_for_queue_nonfull.
1557 (queue_push_callback): Likewise.
1558 (queue_push_asyncwait): Likewise.
1559 (queue_push_placeholder): Likewise.
1560
1561 2019-11-20 Julian Brown <julian (a] codesourcery.com>
1562
1563 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1564 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1565 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1566 return code.
1567
1568 2019-11-20 Julian Brown <julian (a] codesourcery.com>
1569
1570 PR libgomp/92511
1571
1572 * oacc-mem.c (present_create_copy): Fix device pointer return value in
1573 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
1574 in non-present/create case.
1575 (delete_copyout): Change error condition to fail only on copies outside
1576 of mapped block. Adjust error message accordingly.
1577 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1578 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1579 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1580 message.
1581 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1582 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1583 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1584
1585 2019-11-20 Maciej W. Rozycki <macro (a] wdc.com>
1586
1587 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1588 libatomic in build-tree testing.
1589
1590 2019-11-18 Maciej W. Rozycki <macro (a] wdc.com>
1591
1592 * testsuite/Makefile.in: Regenerate.
1593
1594 2019-11-15 Andrew Stubbs <ams (a] codesourcery.com>
1595
1596 * testsuite/libgomp.c/target-print-1.c: New file.
1597 * testsuite/libgomp.fortran/target-print-1.f90: New file.
1598 * testsuite/libgomp.oacc-c/print-1.c: New file.
1599 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1600
1601 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
1602 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1603 Julian Brown <julian (a] codesourcery.com>
1604 Tom de Vries <tom (a] codesourcery.com>
1605
1606 * plugin/Makefrag.am: Add amdgcn plugin support.
1607 * plugin/configfrag.ac: Likewise.
1608 * plugin/plugin-gcn.c: New file.
1609 * configure: Regenerate.
1610 * Makefile.in: Regenerate.
1611 * testsuite/Makefile.in: Regenerate.
1612
1613 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
1614
1615 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1616 and use team_malloc variants.
1617 (gomp_gcn_exit_kernel): Use team_free.
1618 * libgomp.h (TEAM_ARENA_SIZE): Define.
1619 (TEAM_ARENA_START): Define.
1620 (TEAM_ARENA_FREE): Define.
1621 (TEAM_ARENA_END): Define.
1622 (team_malloc): New function.
1623 (team_malloc_cleared): New function.
1624 (team_free): New function.
1625 * team.c (gomp_new_team): Initialize and use team_malloc.
1626 (free_team): Use team_free.
1627 (gomp_free_thread): Use team_free.
1628 (gomp_pause_host): Use team_free.
1629 * work.c (gomp_init_work_share): Use team_malloc.
1630 (gomp_fini_work_share): Use team_free.
1631
1632 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
1633 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1634 Julian Brown <julian (a] codesourcery.com>
1635 Tom de Vries <tom (a] codesourcery.com>
1636
1637 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1638 * Makefile.in: Regenerate.
1639 * config.h.in (PLUGIN_GCN): Add new undef.
1640 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
1641 * config/gcn/affinity-fmt.c: New file.
1642 * config/gcn/bar.c: New file.
1643 * config/gcn/bar.h: New file.
1644 * config/gcn/doacross.h: New file.
1645 * config/gcn/icv-device.c: New file.
1646 * config/gcn/oacc-target.c: New file.
1647 * config/gcn/simple-bar.h: New file.
1648 * config/gcn/target.c: New file.
1649 * config/gcn/task.c: New file.
1650 * config/gcn/team.c: New file.
1651 * config/gcn/time.c: New file.
1652 * configure.ac: Add amdgcn*-*-*.
1653 * configure: Regenerate.
1654 * configure.tgt: Add amdgcn*-*-*.
1655 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1656 * libgomp.h (gcn_thrs): Add amdgcn variant.
1657 (set_gcn_thrs): Likewise.
1658 (gomp_thread): Likewise.
1659 * oacc-int.h (goacc_thread): Likewise.
1660 * oacc-target.c: New file.
1661 * openacc.f90 (acc_device_gcn): New parameter.
1662 * openacc.h (acc_device_t): Add acc_device_gcn.
1663 * team.c (gomp_free_pool_helper): Add amdgcn support.
1664
1665 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
1666 Julian Brown <julian (a] codesourcery.com>
1667
1668 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1669 parameter.
1670 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1671 queue constructor.
1672 * oacc-host.c (host_openacc_async_construct): Add device parameter.
1673 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1674 device parameter.
1675
1676 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
1677
1678 * configure.tgt (nvptx*-*-*): Add "accel" directory.
1679 * config/nvptx/libgomp-plugin.c: Move ...
1680 * config/accel/libgomp-plugin.c: ... to here.
1681 * config/nvptx/lock.c: Move ...
1682 * config/accel/lock.c: ... to here.
1683 * config/nvptx/mutex.c: Move ...
1684 * config/accel/mutex.c: ... to here.
1685 * config/nvptx/mutex.h: Move ...
1686 * config/accel/mutex.h: ... to here.
1687 * config/nvptx/oacc-async.c: Move ...
1688 * config/accel/oacc-async.c: ... to here.
1689 * config/nvptx/oacc-cuda.c: Move ...
1690 * config/accel/oacc-cuda.c: ... to here.
1691 * config/nvptx/oacc-host.c: Move ...
1692 * config/accel/oacc-host.c: ... to here.
1693 * config/nvptx/oacc-init.c: Move ...
1694 * config/accel/oacc-init.c: ... to here.
1695 * config/nvptx/oacc-mem.c: Move ...
1696 * config/accel/oacc-mem.c: ... to here.
1697 * config/nvptx/oacc-plugin.c: Move ...
1698 * config/accel/oacc-plugin.c: ... to here.
1699 * config/nvptx/omp-lock.h: Move ...
1700 * config/accel/omp-lock.h: ... to here.
1701 * config/nvptx/openacc.f90: Move ...
1702 * config/accel/openacc.f90: ... to here.
1703 * config/nvptx/pool.h: Move ...
1704 * config/accel/pool.h: ... to here.
1705 * config/nvptx/proc.c: Move ...
1706 * config/accel/proc.c: ... to here.
1707 * config/nvptx/ptrlock.c: Move ...
1708 * config/accel/ptrlock.c: ... to here.
1709 * config/nvptx/ptrlock.h: Move ...
1710 * config/accel/ptrlock.h: ... to here.
1711 * config/nvptx/sem.c: Move ...
1712 * config/accel/sem.c: ... to here.
1713 * config/nvptx/sem.h: Move ...
1714 * config/accel/sem.h: ... to here.
1715 * config/nvptx/thread-stacksize.h: Move ...
1716 * config/accel/thread-stacksize.h: ... to here.
1717
1718 2019-11-12 Maciej W. Rozycki <macro (a] codesourcery.com>
1719 Tobias Burnus <tobias (a] codesourcery.com>
1720 Frederik Harwath <frederik (a] codesourcery.com>
1721 Thomas Schwinge <thomas (a] codesourcery.com>
1722
1723 libgomp/
1724 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1725 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1726 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1727
1728 2019-11-11 Tobias Burnus <tobias (a] codesourcery.com>
1729 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1730
1731 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1732 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1733
1734 2019-11-11 Thomas Schwinge <thomas (a] codesourcery.com>
1735
1736 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1737
1738 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1739 run'.
1740 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1741 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1742
1743 2019-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
1744
1745 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1746 Add expected warnings about missing reduction clauses.
1747 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1748 Likewise.
1749 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1750 Likewise.
1751 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1752 Likewise.
1753
1754 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
1755
1756 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
1757 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1758 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1759 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1760 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1761 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1762
1763 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
1764
1765 PR fortran/92305
1766 * testsuite/libgomp.fortran/allocatable2.f90: Use
1767 unique numbers with 'stop'.
1768 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1769 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1770 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1771 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1772 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1773
1774 2019-11-01 Tobias Burnus <tobias (a] codesourcery.com>
1775
1776 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1777 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1778 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1779 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1780 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1781 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1782
1783 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
1784
1785 * testsuite/libgomp.fortran/target9.f90: New.
1786
1787 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
1788
1789 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1790 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1791 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1792 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1793 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1794 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1795 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1796 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1797 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1798 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1799 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1800 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1801 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1802 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1803 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1804 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1805 * testsuite/libgomp.fortran/associate1.f90: Ditto.
1806 * testsuite/libgomp.fortran/associate2.f90: Ditto.
1807 * testsuite/libgomp.fortran/associate3.f90: Ditto.
1808 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1809 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1810 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1811 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1812 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1813 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1814 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1815 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1816 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1817 * testsuite/libgomp.fortran/character1.f90: Ditto.
1818 * testsuite/libgomp.fortran/character2.f90: Ditto.
1819 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
1820 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
1821 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
1822 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
1823 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1824 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1825 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1826 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1827 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1828 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1829 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
1830 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
1831 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
1832 * testsuite/libgomp.fortran/do1.f90: Ditto.
1833 * testsuite/libgomp.fortran/do2.f90: Ditto.
1834 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1835 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
1836 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
1837 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
1838 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1839 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1840 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1841 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1842 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1843 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1844 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1845 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1846 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1847 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1848 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1849 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1850 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1851 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1852 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1853 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1854 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1855 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1856 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1857 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1858 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1859 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1860 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1861 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1862 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1863 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1864 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1865 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1866 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1867 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1868 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1869 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1870 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1871 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1872 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1873 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1874 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1875 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1876 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1877 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1878 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1879 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1880 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1881 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1882 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1883 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1884 * testsuite/libgomp.fortran/lib1.f90: Ditto.
1885 * testsuite/libgomp.fortran/lib4.f90: Ditto.
1886 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
1887 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
1888 * testsuite/libgomp.fortran/nested1.f90: Ditto.
1889 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1890 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1891 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1892 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1893 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1894 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1895 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1896 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1897 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1898 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1899 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1900 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1901 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1902 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1903 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1904 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1905 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1906 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1907 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1908 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1909 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1910 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1911 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
1912 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
1913 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
1914 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1915 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1916 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1917 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1918 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1919 * testsuite/libgomp.fortran/pr28390.f: Ditto.
1920 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
1921 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1922 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
1923 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
1924 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
1925 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
1926 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
1927 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
1928 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1929 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1930 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1931 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1932 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
1933 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1934 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
1935 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
1936 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
1937 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1938 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1939 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
1940 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
1941 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
1942 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
1943 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
1944 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
1945 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
1946 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
1947 * testsuite/libgomp.fortran/reference1.f90: Ditto.
1948 * testsuite/libgomp.fortran/reference2.f90: Ditto.
1949 * testsuite/libgomp.fortran/retval1.f90: Ditto.
1950 * testsuite/libgomp.fortran/retval2.f90: Ditto.
1951 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
1952 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
1953 * testsuite/libgomp.fortran/simd1.f90: Ditto.
1954 * testsuite/libgomp.fortran/simd2.f90: Ditto.
1955 * testsuite/libgomp.fortran/simd3.f90: Ditto.
1956 * testsuite/libgomp.fortran/simd4.f90: Ditto.
1957 * testsuite/libgomp.fortran/simd5.f90: Ditto.
1958 * testsuite/libgomp.fortran/simd6.f90: Ditto.
1959 * testsuite/libgomp.fortran/simd7.f90: Ditto.
1960 * testsuite/libgomp.fortran/stack.f90: Ditto.
1961 * testsuite/libgomp.fortran/strassen.f90: Ditto.
1962 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
1963 * testsuite/libgomp.fortran/tabs2.f: Ditto.
1964 * testsuite/libgomp.fortran/target1.f90: Ditto.
1965 * testsuite/libgomp.fortran/target2.f90: Ditto.
1966 * testsuite/libgomp.fortran/target3.f90: Ditto.
1967 * testsuite/libgomp.fortran/target4.f90: Ditto.
1968 * testsuite/libgomp.fortran/target5.f90: Ditto.
1969 * testsuite/libgomp.fortran/target6.f90: Ditto.
1970 * testsuite/libgomp.fortran/target7.f90: Ditto.
1971 * testsuite/libgomp.fortran/target8.f90: Ditto.
1972 * testsuite/libgomp.fortran/task1.f90: Ditto.
1973 * testsuite/libgomp.fortran/task2.f90: Ditto.
1974 * testsuite/libgomp.fortran/task3.f90: Ditto.
1975 * testsuite/libgomp.fortran/task4.f90: Ditto.
1976 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1977 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1978 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1979 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1980 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1981 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1982 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1983 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1984 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1985 * testsuite/libgomp.fortran/udr1.f90: Ditto.
1986 * testsuite/libgomp.fortran/udr10.f90: Ditto.
1987 * testsuite/libgomp.fortran/udr11.f90: Ditto.
1988 * testsuite/libgomp.fortran/udr12.f90: Ditto.
1989 * testsuite/libgomp.fortran/udr13.f90: Ditto.
1990 * testsuite/libgomp.fortran/udr14.f90: Ditto.
1991 * testsuite/libgomp.fortran/udr15.f90: Ditto.
1992 * testsuite/libgomp.fortran/udr2.f90: Ditto.
1993 * testsuite/libgomp.fortran/udr3.f90: Ditto.
1994 * testsuite/libgomp.fortran/udr4.f90: Ditto.
1995 * testsuite/libgomp.fortran/udr5.f90: Ditto.
1996 * testsuite/libgomp.fortran/udr6.f90: Ditto.
1997 * testsuite/libgomp.fortran/udr7.f90: Ditto.
1998 * testsuite/libgomp.fortran/udr8.f90: Ditto.
1999 * testsuite/libgomp.fortran/udr9.f90: Ditto.
2000 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2001 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2002 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2003 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2004 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2005 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2006 * testsuite/libgomp.fortran/vla7.f90: Ditto.
2007 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2008 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2009 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2010
2011 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
2012
2013 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2014 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2015 Ditto; add 'dg-do run' for torture testing.
2016 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
2017 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2018 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2019 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2020 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2021 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2022 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2023 * testsuite/libgomp.fortran/task2.f90: Ditto.
2024 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2025 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2026 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2027 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2028 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2029 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2030
2031 2019-10-28 Tobias Burnus <tobias (a] codesourcery.com>
2032
2033 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2034 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2035 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2036 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2037 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2038 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2039 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2040 Use 'stop' not abort().
2041 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2042 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2043 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2044 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2045 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2046 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2047 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2048 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2049 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2050 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2051 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2052 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2053 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2054 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2055 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2056 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2057 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2058 Ditto.
2059 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2060 Ditto.
2061 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2062 Ditto.
2063 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2064 Ditto.
2065 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2066 Ditto.
2067 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2068 Ditto.
2069 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2070 Ditto.
2071 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2072 Ditto.
2073 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2074 Ditto.
2075 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2076 Ditto.
2077 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2078 Ditto.
2079 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2080 Ditto.
2081 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2082 Ditto.
2083 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2084 Ditto.
2085 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2086 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2087 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2088 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2089 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2090 Likewise and also add 'dg-do run'.
2091 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2092 Ditto.
2093
2094 2019-10-25 Cesar Philippidis <cesar (a] codesourcery.com>
2095 Tobias Burnus <tobias (a] codesourcery.com>
2096
2097 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2098 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2099 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2100
2101 2019-10-14 Jakub Jelinek <jakub (a] redhat.com>
2102
2103 PR libgomp/92081
2104 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2105 than 0.
2106
2107 2019-10-11 Tobias Burnus <tobias (a] codesourcery.com>
2108
2109 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2110 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2111
2112 2019-10-09 Thomas Schwinge <thomas (a] codesourcery.com>
2113
2114 PR middle-end/92036
2115 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2116 file.
2117
2118 2019-10-09 Tobias Burnus <tobias (a] codesourcery.com>
2119
2120 PR testsuite/91884
2121 * testsuite/libgomp.fortran/fortran.exp: Conditionally
2122 add -lquadmath.
2123 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2124
2125 2019-10-09 Jakub Jelinek <jakub (a] redhat.com>
2126
2127 PR libgomp/92028
2128 * target.c (gomp_map_vars_internal): Readd the previous
2129 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2130 though do that just in the !not_found_cnt case.
2131
2132 2019-10-08 Tobias Burnus <tobias (a] codesourcery.com>
2133
2134 * gfortran.dg/gomp/target-simd.f90: New.
2135
2136 2019-10-02 Julian Brown <julian (a] codesourcery.com>
2137 Cesar Philippidis <cesar (a] codesourcery.com>
2138
2139 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2140 * target.c (FIELD_TGT_EMPTY): Define.
2141 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
2142 as switch instead of list of ifs.
2143 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2144
2145 2019-10-02 Andreas Tobler <andreast (a] gcc.gnu.org>
2146
2147 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2148 include. Replace alloca () with __builtin_alloca ().
2149 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2150
2151 2019-10-01 Jakub Jelinek <jakub (a] redhat.com>
2152
2153 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2154 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2155 * oacc-parallel.c: Don't include "libgomp_g.h".
2156 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2157 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2158 * aclocal.m4: Regenerated.
2159 * config.h.in: Regenerated.
2160 * configure: Regenerated.
2161 * Makefile.in: Regenerated.
2162
2163 2019-09-30 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2164
2165 * libgomp_g.h: Include stdint.h instead of gstdint.h.
2166
2167 2019-09-27 Maciej W. Rozycki <macro (a] wdc.com>
2168
2169 * configure: Regenerate.
2170
2171 2019-09-13 Tobias Burnus <tobias (a] codesourcery.com>
2172
2173 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2174 string is initialized.
2175
2176 2019-09-06 Florian Weimer <fweimer (a] redhat.com>
2177
2178 * configure: Regenerate.
2179
2180 2019-09-03 Chung-Lin Tang <cltang (a] codesourcery.com>
2181
2182 PR other/79543
2183 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2184 scanning to conform to the GNU Coding Standards.
2185 * configure: Regenerate.
2186
2187 2019-08-28 Jakub Jelinek <jakub (a] redhat.com>
2188
2189 PR libgomp/91530
2190 * testsuite/libgomp.c/scan-21.c: New test.
2191 * testsuite/libgomp.c/scan-22.c: New test.
2192
2193 2019-08-27 Jakub Jelinek <jakub (a] redhat.com>
2194
2195 PR libgomp/91530
2196 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2197 targets.
2198 * testsuite/libgomp.c/scan-12.c: Likewise.
2199 * testsuite/libgomp.c/scan-13.c: Likewise.
2200 * testsuite/libgomp.c/scan-14.c: Likewise.
2201 * testsuite/libgomp.c/scan-15.c: Likewise.
2202 * testsuite/libgomp.c/scan-16.c: Likewise.
2203 * testsuite/libgomp.c/scan-17.c: Likewise.
2204 * testsuite/libgomp.c/scan-18.c: Likewise.
2205 * testsuite/libgomp.c/scan-19.c: Likewise.
2206 * testsuite/libgomp.c/scan-20.c: Likewise.
2207 * testsuite/libgomp.c++/scan-9.C: Likewise.
2208 * testsuite/libgomp.c++/scan-10.C: Likewise.
2209 * testsuite/libgomp.c++/scan-11.C: Likewise.
2210 * testsuite/libgomp.c++/scan-12.C: Likewise.
2211 * testsuite/libgomp.c++/scan-14.C: Likewise.
2212 * testsuite/libgomp.c++/scan-15.C: Likewise.
2213 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
2214 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2215 * testsuite/libgomp.c++/scan-16.C: Likewise.
2216
2217 2019-08-17 Thomas Koenig <tkoenig (a] gcc.gnu.org>
2218
2219 PR fortran/91473
2220 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2221 -std=legacy so invalid code in the test case is accepted.
2222
2223 2019-08-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
2224
2225 PR fortran/91422
2226 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2227 dimension.
2228
2229 2019-08-08 Jakub Jelinek <jakub (a] redhat.com>
2230
2231 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2232 perform the lookup in the first loop only if !not_found_cnt, otherwise
2233 perform lookups for it in the second loop guarded with
2234 if (not_found_cnt || has_firstprivate).
2235 * testsuite/libgomp.c/target-37.c: New test.
2236 * testsuite/libgomp.c++/target-22.C: New test.
2237
2238 2019-08-07 Jakub Jelinek <jakub (a] redhat.com>
2239
2240 * testsuite/libgomp.c/target-18.c (struct S): New type.
2241 (foo): Use use_device_addr clause instead of use_device_ptr clause
2242 where required by OpenMP 5.0, add further tests for both use_device_ptr
2243 and use_device_addr clauses.
2244 * testsuite/libgomp.c++/target-9.C (struct S): New type.
2245 (foo): Use use_device_addr clause instead of use_device_ptr clause
2246 where required by OpenMP 5.0, add further tests for both use_device_ptr
2247 and use_device_addr clauses. Add t and u arguments.
2248 (main): Adjust caller.
2249
2250 2019-08-06 Jakub Jelinek <jakub (a] redhat.com>
2251
2252 * testsuite/libgomp.c++/loop-13.C: New test.
2253 * testsuite/libgomp.c++/loop-14.C: New test.
2254 * testsuite/libgomp.c++/loop-15.C: New test.
2255
2256 2019-07-31 Jakub Jelinek <jakub (a] redhat.com>
2257
2258 PR middle-end/91301
2259 * testsuite/libgomp.c++/for-27.C: New test.
2260
2261 2019-07-23 Steven G. Kargl <kargl (a] gcc.gnu.org>
2262
2263 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
2264 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2265
2266 2019-07-20 Jakub Jelinek <jakub (a] redhat.com>
2267
2268 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2269
2270 2019-07-08 Jakub Jelinek <jakub (a] redhat.com>
2271
2272 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2273 * testsuite/libgomp.c++/scan-16.C: Likewise.
2274
2275 2019-07-06 Jakub Jelinek <jakub (a] redhat.com>
2276
2277 * testsuite/libgomp.c/scan-19.c: New test.
2278 * testsuite/libgomp.c/scan-20.c: New test.
2279
2280 * testsuite/libgomp.c/scan-11.c: New test.
2281 * testsuite/libgomp.c/scan-12.c: New test.
2282 * testsuite/libgomp.c/scan-13.c: New test.
2283 * testsuite/libgomp.c/scan-14.c: New test.
2284 * testsuite/libgomp.c/scan-15.c: New test.
2285 * testsuite/libgomp.c/scan-16.c: New test.
2286 * testsuite/libgomp.c/scan-17.c: New test.
2287 * testsuite/libgomp.c/scan-18.c: New test.
2288 * testsuite/libgomp.c++/scan-9.C: New test.
2289 * testsuite/libgomp.c++/scan-10.C: New test.
2290 * testsuite/libgomp.c++/scan-11.C: New test.
2291 * testsuite/libgomp.c++/scan-12.C: New test.
2292 * testsuite/libgomp.c++/scan-13.C: New test.
2293 * testsuite/libgomp.c++/scan-14.C: New test.
2294 * testsuite/libgomp.c++/scan-15.C: New test.
2295 * testsuite/libgomp.c++/scan-16.C: New test.
2296
2297 2019-07-04 Jakub Jelinek <jakub (a] redhat.com>
2298
2299 * testsuite/libgomp.c/scan-9.c: New test.
2300 * testsuite/libgomp.c/scan-10.c: New test.
2301
2302 2019-07-03 Jakub Jelinek <jakub (a] redhat.com>
2303
2304 * testsuite/libgomp.c++/scan-1.C: New test.
2305 * testsuite/libgomp.c++/scan-2.C: New test.
2306 * testsuite/libgomp.c++/scan-3.C: New test.
2307 * testsuite/libgomp.c++/scan-4.C: New test.
2308 * testsuite/libgomp.c++/scan-5.C: New test.
2309 * testsuite/libgomp.c++/scan-6.C: New test.
2310 * testsuite/libgomp.c++/scan-7.C: New test.
2311 * testsuite/libgomp.c++/scan-8.C: New test.
2312 * testsuite/libgomp.c/scan-1.c: New test.
2313 * testsuite/libgomp.c/scan-2.c: New test.
2314 * testsuite/libgomp.c/scan-3.c: New test.
2315 * testsuite/libgomp.c/scan-4.c: New test.
2316 * testsuite/libgomp.c/scan-5.c: New test.
2317 * testsuite/libgomp.c/scan-6.c: New test.
2318 * testsuite/libgomp.c/scan-7.c: New test.
2319 * testsuite/libgomp.c/scan-8.c: New test.
2320
2321 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
2322
2323 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2324 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2325 Likewise.
2326
2327 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2328 check.
2329
2330 2019-06-18 Cesar Philippidis <cesar (a] codesourcery.com>
2331
2332 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2333 file.
2334
2335 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
2336
2337 PR fortran/90743
2338 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2339 case.
2340 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2341 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2342 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2343 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2344
2345 PR testsuite/90861
2346 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2347
2348 PR middle-end/90862
2349 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2350
2351 2019-06-16 Tom de Vries <tdevries (a] suse.de>
2352
2353 PR tree-optimization/89376
2354 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2355
2356 2019-06-15 Tom de Vries <tdevries (a] suse.de>
2357
2358 PR tree-optimization/89713
2359 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2360 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2361
2362 2019-06-15 Jakub Jelinek <jakub (a] redhat.com>
2363
2364 PR middle-end/90779
2365 * testsuite/libgomp.c/pr90779.c: New test.
2366 * testsuite/libgomp.fortran/pr90779.f90: New test.
2367
2368 2019-06-15 Tom de Vries <tdevries (a] suse.de>
2369
2370 PR tree-optimization/90009
2371 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2372
2373 2019-06-13 Feng Xue <fxue (a] os.amperecomputing.com>
2374
2375 PR tree-optimization/89713
2376 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2377
2378 2019-06-11 Jakub Jelinek <jakub (a] redhat.com>
2379
2380 PR target/90811
2381 * testsuite/libgomp.c/pr90811.c: New test.
2382
2383 2019-06-05 Jakub Jelinek <jakub (a] redhat.com>
2384
2385 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2386 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2387
2388 2019-06-04 Jakub Jelinek <jakub (a] redhat.com>
2389
2390 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2391 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2392 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2393 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2394
2395 2019-05-30 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2396
2397 * configure.ac: Call AX_COUNT_CPUS.
2398 Substitute CPU_COUNT.
2399 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2400 count fallback.
2401 * aclocal.m4: Regenerate.
2402 * configure: Regenerate.
2403 * Makefile.in, testsuite/Makefile.in: Regenerate.
2404
2405 2019-05-29 Jakub Jelinek <jakub (a] redhat.com>
2406
2407 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
2408 to ...
2409 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
2410 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
2411 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
2412
2413 2019-05-27 Jakub Jelinek <jakub (a] redhat.com>
2414
2415 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
2416
2417 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
2418
2419 PR libgomp/90641
2420 * work.c (gomp_init_work_share): Instead of aligning final ordered
2421 value to multiples of long long alignment, align to that the
2422 first part (ordered team ids) and if inline_ordered_team_ids
2423 is not on a long long alignment boundary within the structure,
2424 use __alignof__ (long long) - 1 pad size always.
2425 * loop.c (GOMP_loop_start): Fix *mem computation if
2426 inline_ordered_team_ids is not aligned on long long alignment boundary
2427 within the structure.
2428 * loop-ull.c (GOMP_loop_ull_start): Likewise.
2429 * sections.c (GOMP_sections2_start): Likewise.
2430
2431 2019-05-24 Jakub Jelinek <jakub (a] redhat.com>
2432
2433 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2434 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2435
2436 PR libgomp/90585
2437 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
2438 HAVE_INTTYPES_H is defined.
2439 (print_uint64_t): New typedef.
2440 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2441 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2442 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2443 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
2444 before casting to void *.
2445 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2446 * oacc-mem.c: Don't include config.h nor stdint.h.
2447 * target.c: Don't include config.h.
2448 * oacc-cuda.c: Likewise.
2449 * oacc-host.c: Don't include stdint.h.
2450
2451 2019-05-20 Jakub Jelinek <jakub (a] redhat.com>
2452
2453 PR libgomp/90527
2454 * alloc.c (_GNU_SOURCE): Define.
2455
2456 2019-05-17 Thomas Schwinge <thomas (a] codesourcery.com>
2457
2458 * acc_prof.h: New file.
2459 * oacc-profiling.c: Likewise.
2460 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2461 Add these, respectively.
2462 * Makefile.in: Regenerate.
2463 * env.c (initialize_env): Call goacc_profiling_initialize.
2464 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2465 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2466 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2467 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2468 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2469 acc_prof_register, acc_prof_unregister, and acc_register_library.
2470 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2471 GOMP_PLUGIN_goacc_thread.
2472 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2473 prof_callbacks_enabled members.
2474 (goacc_prof_enabled, goacc_profiling_initialize)
2475 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2476 (goacc_profiling_dispatch): Declare.
2477 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2478 (GOACC_PROFILING_SETUP_P): Define.
2479 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2480 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2481 OpenACC Profiling Interface.
2482 * oacc-cuda.c (acc_get_current_cuda_device)
2483 (acc_get_current_cuda_context, acc_get_cuda_stream)
2484 (acc_set_cuda_stream): Likewise.
2485 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2486 (acc_init, acc_set_device_type, acc_get_device_type)
2487 (acc_get_device_num, goacc_lazy_initialize): Likewise.
2488 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2489 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2490 (acc_unmap_data, present_create_copy, delete_copyout)
2491 (update_dev_host): Likewise.
2492 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2493 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2494 Likewise.
2495 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2496 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2497 Likewise.
2498 * libgomp.texi: Update.
2499 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2500 file.
2501 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2502 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2503 Likewise.
2504 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2505 Likewise.
2506 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2507 Likewise.
2508 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2509 Likewise.
2510
2511 2019-05-13 Chung-Lin Tang <cltang (a] codesourcery.com>
2512
2513 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2514 (struct goacc_asyncqueue_list): Likewise.
2515 (goacc_aq): Likewise.
2516 (goacc_aq_list): Likewise.
2517 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2518 (GOMP_OFFLOAD_openacc_async_test): Remove.
2519 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2520 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2521 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2522 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2523 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2524 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2525 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2526 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2527 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2528 (GOMP_OFFLOAD_openacc_async_exec): Declare.
2529 (GOMP_OFFLOAD_openacc_async_construct): Declare.
2530 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
2531 (GOMP_OFFLOAD_openacc_async_test): Declare.
2532 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2533 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
2534 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2535 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2536 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2537
2538 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2539 (gomp_acc_insert_pointer): Adjust declaration.
2540 (gomp_copy_host2dev): New declaration.
2541 (gomp_copy_dev2host): Likewise.
2542 (gomp_map_vars_async): Likewise.
2543 (gomp_unmap_tgt): Likewise.
2544 (gomp_unmap_vars_async): Likewise.
2545 (gomp_fini_device): Likewise.
2546
2547 * oacc-async.c (get_goacc_thread): New function.
2548 (get_goacc_thread_device): New function.
2549 (lookup_goacc_asyncqueue): New function.
2550 (get_goacc_asyncqueue): New function.
2551 (acc_async_test): Adjust code to use new async design.
2552 (acc_async_test_all): Likewise.
2553 (acc_wait): Likewise.
2554 (acc_wait_async): Likewise.
2555 (acc_wait_all): Likewise.
2556 (acc_wait_all_async): Likewise.
2557 (goacc_async_free): New function.
2558 (goacc_init_asyncqueues): Likewise.
2559 (goacc_fini_asyncqueues): Likewise.
2560 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2561 design.
2562 (acc_set_cuda_stream): Likewise.
2563 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2564 (host_openacc_register_async_cleanup): Remove.
2565 (host_openacc_async_exec): New function.
2566 (host_openacc_async_test): Adjust parameters.
2567 (host_openacc_async_test_all): Remove.
2568 (host_openacc_async_wait): Remove.
2569 (host_openacc_async_wait_async): Remove.
2570 (host_openacc_async_wait_all): Remove.
2571 (host_openacc_async_wait_all_async): Remove.
2572 (host_openacc_async_set_async): Remove.
2573 (host_openacc_async_synchronize): New function.
2574 (host_openacc_async_serialize): New function.
2575 (host_openacc_async_host2dev): New function.
2576 (host_openacc_async_dev2host): New function.
2577 (host_openacc_async_queue_callback): New function.
2578 (host_openacc_async_construct): New function.
2579 (host_openacc_async_destruct): New function.
2580 (struct gomp_device_descr host_dispatch): Remove initialization of old
2581 interface, add initialization of new async sub-struct.
2582 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2583 (goacc_attach_host_thread_to_device): Remove old async code usage.
2584 * oacc-int.h (goacc_init_asyncqueues): New declaration.
2585 (goacc_fini_asyncqueues): Likewise.
2586 (goacc_async_copyout_unmap_vars): Likewise.
2587 (goacc_async_free): Likewise.
2588 (get_goacc_asyncqueue): Likewise.
2589 (lookup_goacc_asyncqueue): Likewise.
2590 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2591 design.
2592 (present_create_copy): Adjust code to use new async design.
2593 (delete_copyout): Likewise.
2594 (update_dev_host): Likewise.
2595 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2596 async design.
2597 (gomp_acc_remove_pointer): Adjust code to use new async design.
2598 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2599 design.
2600 (GOACC_enter_exit_data): Likewise.
2601 (goacc_wait): Likewise.
2602 (GOACC_update): Likewise.
2603 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2604 when called, warn as obsolete in comment.
2605 * target.c (goacc_device_copy_async): New function.
2606 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2607 add goacc_device_copy_async case.
2608 (gomp_copy_dev2host): Likewise.
2609 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2610 (gomp_map_pointer): Likewise.
2611 (gomp_map_fields_existing): Likewise.
2612 (gomp_map_vars_internal): New always_inline function, renamed from
2613 gomp_map_vars.
2614 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
2615 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2616 passing goacc_asyncqueue argument.
2617 (gomp_unmap_tgt): Remove static, add attribute_hidden.
2618 (gomp_unref_tgt): New function.
2619 (gomp_unmap_vars_internal): New always_inline function, renamed from
2620 gomp_unmap_vars.
2621 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2622 (gomp_unmap_vars_async): Implement by calling
2623 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2624 (gomp_fini_device): New function.
2625 (gomp_exit_data): Adjust gomp_copy_dev2host call.
2626 (gomp_load_plugin_for_device): Remove old interface, adjust to load
2627 new async interface.
2628 (gomp_target_fini): Adjust code to call gomp_fini_device.
2629
2630 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
2631 (struct ptx_stream): Remove.
2632 (struct nvptx_thread): Remove current_stream field.
2633 (cuda_map_create): Remove.
2634 (cuda_map_destroy): Remove.
2635 (map_init): Remove.
2636 (map_fini): Remove.
2637 (map_pop): Remove.
2638 (map_push): Remove.
2639 (struct goacc_asyncqueue): Define.
2640 (struct nvptx_callback): Define.
2641 (struct ptx_free_block): Define.
2642 (struct ptx_device): Remove null_stream, active_streams, async_streams,
2643 stream_lock, and next fields.
2644 (enum ptx_event_type): Remove.
2645 (struct ptx_event): Remove.
2646 (ptx_event_lock): Remove.
2647 (ptx_events): Remove.
2648 (init_streams_for_device): Remove.
2649 (fini_streams_for_device): Remove.
2650 (select_stream_for_async): Remove.
2651 (nvptx_init): Remove ptx_events and ptx_event_lock references.
2652 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2653 case.
2654 (nvptx_open_device): Add free_blocks initialization, remove
2655 init_streams_for_device call.
2656 (nvptx_close_device): Remove fini_streams_for_device call, add
2657 free_blocks destruct code.
2658 (event_gc): Remove.
2659 (event_add): Remove.
2660 (nvptx_exec): Adjust parameters and code.
2661 (nvptx_free): Likewise.
2662 (nvptx_host2dev): Remove.
2663 (nvptx_dev2host): Remove.
2664 (nvptx_set_async): Remove.
2665 (nvptx_async_test): Remove.
2666 (nvptx_async_test_all): Remove.
2667 (nvptx_wait): Remove.
2668 (nvptx_wait_async): Remove.
2669 (nvptx_wait_all): Remove.
2670 (nvptx_wait_all_async): Remove.
2671 (nvptx_get_cuda_stream): Remove.
2672 (nvptx_set_cuda_stream): Remove.
2673 (GOMP_OFFLOAD_alloc): Adjust code.
2674 (GOMP_OFFLOAD_free): Likewise.
2675 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2676 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2677 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
2678 (GOMP_OFFLOAD_openacc_async_wait): Remove.
2679 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2680 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2681 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2682 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
2683 (cuda_free_argmem): New function.
2684 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2685 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2686 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2687 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2688 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2689 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2690 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2691 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2692 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2693 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2694 (cuda_callback_wrapper): New function.
2695 (cuda_memcpy_sanity_check): New function.
2696 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
2697 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
2698 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2699 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2700
2701 2019-05-07 Thomas Schwinge <thomas (a] codesourcery.com>
2702
2703 PR target/87835
2704 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2705
2706 2019-05-06 Thomas Schwinge <thomas (a] codesourcery.com>
2707
2708 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2709
2710 2019-03-27 Kevin Buettner <kevinb (a] redhat.com>
2711
2712 * team.c (gomp_team_start): Initialize pool->threads[0].
2713
2714 2019-02-22 Thomas Schwinge <thomas (a] codesourcery.com>
2715
2716 * testsuite/libgomp.oacc-c++/c++.exp: Specify
2717 "-foffload=$offload_target".
2718 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2719 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2720 * testsuite/lib/libgomp.exp
2721 (check_effective_target_openacc_nvidia_accel_configured): Remove,
2722 as (conceptually) merged into
2723 check_effective_target_openacc_nvidia_accel_selected. Adjust all
2724 users.
2725
2726 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2727 * testsuite/libgomp-test-support.exp.in: Adjust.
2728 * testsuite/lib/libgomp.exp: Likewise. Don't populate
2729 openacc_device_types_s.
2730 (offload_target_to_openacc_device_type): New proc.
2731 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2732 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2733 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2734 * Makefile.in: Regenerate.
2735 * configure: Likewise.
2736 * testsuite/Makefile.in: Likewise.
2737
2738 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2739 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2740 instead of OFFLOAD_TARGETS.
2741 * target.c (gomp_target_init): Adjust.
2742 * testsuite/libgomp-test-support.exp.in: Likewise.
2743 * testsuite/lib/libgomp.exp: Likewise. Populate
2744 openacc_device_types_s instead of offload_targets_s_openacc.
2745 (check_effective_target_openacc_nvidia_accel_selected)
2746 (check_effective_target_openacc_host_selected): Adjust.
2747 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2748 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2749 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2750 * Makefile.in: Regenerate.
2751 * config.h.in: Likewise.
2752 * configure: Likewise.
2753 * testsuite/Makefile.in: Likewise.
2754
2755 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
2756 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
2757 "offloading: supported, but hardware not accessible".
2758 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2759 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2760
2761 2019-02-19 Chung-Lin Tang <cltang (a] codesourcery.com>
2762
2763 PR c/87924
2764 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2765 goacc_wait().
2766 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2767 and related adjustment.
2768
2769 2019-01-30 Jakub Jelinek <jakub (a] redhat.com>
2770
2771 PR c++/88988
2772 * testsuite/libgomp.c++/pr88988.C: New test.
2773
2774 2019-01-28 Jakub Jelinek <jakub (a] redhat.com>
2775
2776 PR middle-end/89002
2777 * testsuite/libgomp.c/pr89002.c: New test.
2778
2779 2019-01-28 Richard Biener <rguenther (a] suse.de>
2780
2781 PR testsuite/89064
2782 PR tree-optimization/86865
2783 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2784
2785 2019-01-24 Tom de Vries <tdevries (a] suse.de>
2786
2787 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2788 once instantiated_devices drops to 0.
2789
2790 2019-01-23 Tom de Vries <tdevries (a] suse.de>
2791
2792 PR target/PR88946
2793 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2794 cuMemFree.
2795 (nvptx_exec): Don't call map_push if mapnum == 0.
2796 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2797
2798 2019-01-23 Tom de Vries <tdevries (a] suse.de>
2799
2800 PR target/88941
2801 PR target/88939
2802 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2803 (map_fini): Remove "assert (!s->map->active)".
2804 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2805
2806 2019-01-23 Tom de Vries <tdevries (a] suse.de>
2807
2808 PR target/87835
2809 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2810 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2811
2812 2019-01-15 Tom de Vries <tdevries (a] suse.de>
2813
2814 PR target/80547
2815 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2816 New test.
2817
2818 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2819
2820 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2821 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2822 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2823 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2824
2825 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2826
2827 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2828
2829 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2830
2831 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2832 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2833 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2834
2835 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2836
2837 PR target/85486
2838 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2839 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2840
2841 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2842
2843 PR target/85381
2844 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2845 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2846
2847 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2848
2849 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2850 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2851 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2852
2853 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2854
2855 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2856 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2857 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2858
2859 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2860
2861 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2862 resources diagnostic.
2863
2864 2019-01-12 Tom de Vries <tdevries (a] suse.de>
2865
2866 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2867 vector length to be 128.
2868 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2869 length 2097152 to be reduced to 1024 instead of 32.
2870
2871 2019-01-11 Thomas Schwinge <thomas (a] codesourcery.com>
2872 James Norris <jnorris (a] codesourcery.com>
2873
2874 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2875 Library Routines", and "Environment Variables".
2876
2877 2019-01-11 Tom de Vries <tdevries (a] suse.de>
2878
2879 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2880 num_workers 16.
2881
2882 2019-01-11 Tom de Vries <tdevries (a] suse.de>
2883
2884 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2885 -foffload=-w.
2886 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2887 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2888 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2889 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2890
2891 2019-01-11 Tom de Vries <tdevries (a] suse.de>
2892
2893 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2894 test.
2895
2896 2019-01-10 Nathan Sidwell <nathan (a] acm.org>
2897 Julian Brown <julian (a] codesourcery.com>
2898
2899 PR lto/71959
2900 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2901 * testsuite/libgomp.oacc-c++/pr71959.C: New.
2902
2903 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
2904
2905 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2906 and paste code.
2907
2908 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
2909
2910 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
2911 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2912 write.
2913
2914 2019-01-09 Tom de Vries <tdevries (a] suse.de>
2915
2916 PR target/88756
2917 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2918 #define instead of "const int".
2919 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2920 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2921 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2922 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2923
2924 2019-01-09 Tom de Vries <tdevries (a] suse.de>
2925
2926 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2927 one worker.
2928
2929 2019-01-07 Tom de Vries <tdevries (a] suse.de>
2930
2931 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2932 GOMP_OPENACC_DIM argument.
2933
2934 2019-01-03 Tom de Vries <tdevries (a] suse.de>
2935
2936 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2937 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2938
2939 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
2940
2941 Update copyright years.
2942
2943 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
2944
2945 * libgomp.texi: Bump @copying's copyright year.
2946
2947 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
2948
2949 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2950 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2951 (GOACC_declare): Redefine the "device" argument to "flags".
2952
2953 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
2954 Cesar Philippidis <cesar (a] codesourcery.com>
2955
2956 * target.c (struct gomp_coalesce_chunk): New structure.
2957 (struct gomp_coalesce_buf): Update the chunks member to use that
2958 type. Adjust all users.
2959
2960 2018-12-19 Tom de Vries <tdevries (a] suse.de>
2961
2962 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2963 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2964 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2965
2966 2018-12-19 Tom de Vries <tdevries (a] suse.de>
2967
2968 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2969 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2970 gcc/testsuite/gcc.dg/goacc.
2971 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2972
2973 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
2974 Chung-Lin Tang <cltang (a] codesourcery.com>
2975
2976 * oacc-mem.c (acc_present_or_create): Remove definition and change
2977 to alias of acc_create.
2978 (acc_present_or_copyin): Remove definition and change to alias of
2979 acc_copyin.
2980 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2981 of acc_present_or_create.
2982 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2983 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2984 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2985 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2986 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2987 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2988 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2989 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2990 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2991 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2992 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2993 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2994 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2995 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2996 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2997 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2998
2999 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
3000
3001 PR libgomp/88495
3002 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3003 "identical parameters".
3004 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3005 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3006
3007 PR libgomp/88484
3008 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3009 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3010
3011 PR libgomp/88407
3012 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3013 (nvptx_wait_async): Unseen async-argument is a no-op.
3014 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3015 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3016 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3017 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3018 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3019 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3020 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
3021 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3022 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
3023
3024 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3025 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3026
3027 2018-12-14 Chung-Lin Tang <cltang (a] codesourcery.com>
3028
3029 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3030 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3031 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3032
3033 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
3034
3035 PR libgomp/88370
3036 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3037 (acc_set_cuda_stream): Clarify.
3038 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3039 "async_valid_p".
3040 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3041 acc_async_sync".
3042 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3043 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3044 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3045 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3046
3047 2018-12-14 Tom de Vries <tdevries (a] suse.de>
3048
3049 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3050 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3051 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3052 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3053 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3054
3055 2018-12-13 Tom de Vries <tdevries (a] suse.de>
3056
3057 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3058 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3059 * fortran.c (omp_display_affinity_): ... here.
3060 * libgomp.h (gomp_print_string): Declare.
3061 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
3062 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3063 write.
3064
3065 2018-12-13 Jakub Jelinek <jakub (a] redhat.com>
3066
3067 PR libgomp/88460
3068 * testsuite/libgomp.c++/for-24.C (results): Include it in
3069 omp declare target region.
3070 (main): Use map (always, tofrom: results) instead of
3071 map (tofrom: results).
3072
3073 2018-12-12 Jakub Jelinek <jakub (a] redhat.com>
3074
3075 PR fortran/88463
3076 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3077 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3078
3079 * testsuite/libgomp.c-c++-common/for-16.c: New test.
3080
3081 2018-12-12 Andreas Schwab <schwab (a] suse.de>
3082
3083 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3084 clobbered.
3085
3086 2018-12-09 Thomas Koenig <tkoenig (a] gcc.gnu.org>
3087
3088 PR fortran/88411
3089 * testsuite/libgomp.fortran/async_io_8.f90: New test.
3090
3091 2018-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
3092 Jakub Jelinek <jakub (a] redhat.com>
3093
3094 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3095 devicep->host2dev_func.
3096
3097 2018-12-08 Jakub Jelinek <jakub (a] redhat.com>
3098
3099 PR libgomp/87995
3100 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3101 tls_runtime effective target.
3102 (t): New threadprivate variable.
3103 (main): Set t in threads which execute iterations of the worksharing
3104 loop. Propagate that to the task after the loop and don't abort
3105 if the current taskgroup hasn't been cancelled.
3106
3107 2018-12-02 Jakub Jelinek <jakub (a] redhat.com>
3108
3109 * testsuite/libgomp.c/task-reduction-3.c: New test.
3110
3111 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3112
3113 2018-11-30 Cesar Philippidis <cesar (a] codesourcery.com>
3114
3115 PR libgomp/88288
3116 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3117 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3118
3119 2018-11-30 Thomas Schwinge <thomas (a] codesourcery.com>
3120
3121 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3122
3123 2018-10-19 Richard Biener <rguenther (a] suse.de>
3124
3125 PR tree-optimization/88182
3126 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3127
3128 2018-11-26 Jakub Jelinek <jakub (a] redhat.com>
3129
3130 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3131 (RUNTEST): Don't define.
3132 (RUNTESTDEFAULTFLAGS): Add.
3133 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3134 (distclean-am): Depend on distclean-DEJAGNU.
3135 (check-am): If -j% option is present in MFLAGS and if
3136 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3137 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3138 * testsuite/Makefile.in: Regenerated.
3139
3140 2018-11-26 Richard Biener <rguenther (a] suse.de>
3141
3142 PR tree-optimization/88182
3143 * testsuite/libgomp.c++/pr88182.C: New testcase.
3144
3145 2018-11-20 Jakub Jelinek <jakub (a] redhat.com>
3146
3147 PR bootstrap/88106
3148 * config/mingw32/affinity-fmt.c: New file.
3149
3150 2018-11-09 Jakub Jelinek <jakub (a] redhat.com>
3151
3152 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3153 (gomp_display_affinity): Use __builtin_choose_expr to handle
3154 properly handle argument having integral, or pointer or some other
3155 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
3156 with uint64_t type instead of %llx and unsigned long long.
3157
3158 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3159 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3160
3161 2018-11-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
3162
3163 * affinity.c: Include <string.h>, <stdio.h>.
3164 (gomp_display_affinity_place): Remove cpusetp.
3165 * teams.c: Include <limits.h>.
3166
3167 2018-11-08 Jakub Jelinek <jakub (a] redhat.com>
3168
3169 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3170 in_reduction clause for s[0].
3171
3172 * affinity.c (gomp_display_affinity_place): New function.
3173 * affinity-fmt.c: New file.
3174 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3175 * config/linux/affinity.c (gomp_display_affinity_place): New function.
3176 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3177 Move these functions to ...
3178 * config/nvptx/teams.c: ... here. New file.
3179 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3180 New functions.
3181 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3182 functions.
3183 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3184 and _aligned_malloc.
3185 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3186 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3187 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3188 gomp_affinity_format_len): New variables.
3189 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3190 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
3191 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3192 modifiers. Display (non-default) chunk sizes. Print
3193 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3194 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
3195 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3196 * fortran.c: Include stdio.h and string.h.
3197 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3198 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3199 (omp_set_affinity_format_, omp_get_affinity_format_,
3200 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3201 omp_pause_resource_all_): New functions.
3202 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3203 switch.
3204 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3205 functions to ...
3206 * teams.c: ... here. New file.
3207 * libgomp_g.h: Include gstdint.h.
3208 (GOMP_loop_nonmonotonic_runtime_start,
3209 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3210 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3211 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3212 GOMP_parallel_loop_nonmonotonic_runtime,
3213 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3214 GOMP_loop_ull_nonmonotonic_runtime_start,
3215 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3216 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3217 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3218 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3219 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3220 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3221 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3222 GOMP_teams_reg): Declare.
3223 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3224 gomp_aligned_alloc uses fallback implementation.
3225 (gomp_aligned_alloc, gomp_aligned_free): Declare.
3226 (enum gomp_schedule_type): Add GFS_MONOTONIC.
3227 (struct gomp_doacross_work_share): Add extra field.
3228 (struct gomp_work_share): Add task_reductions field.
3229 (struct gomp_taskgroup): Add workshare and reductions fields.
3230 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3231 (gomp_thread_handle): New typedef.
3232 (gomp_display_affinity_place, gomp_set_affinity_format,
3233 gomp_display_string, gomp_display_affinity,
3234 gomp_display_affinity_thread): Declare.
3235 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3236 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3237 gomp_workshare_task_reduction_register): Declare.
3238 (gomp_team_start): Add taskgroup argument.
3239 (gomp_pause_host): Declare.
3240 (gomp_init_work_share, gomp_work_share_start): Change bool argument
3241 to size_t.
3242 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3243 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3244 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3245 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3246 GOMP_loop_ull_doacross_start,
3247 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3248 GOMP_loop_maybe_nonmonotonic_runtime_next,
3249 GOMP_loop_maybe_nonmonotonic_runtime_start,
3250 GOMP_loop_nonmonotonic_runtime_next,
3251 GOMP_loop_nonmonotonic_runtime_start,
3252 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3253 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3254 GOMP_loop_ull_nonmonotonic_runtime_next,
3255 GOMP_loop_ull_nonmonotonic_runtime_start,
3256 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3257 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3258 GOMP_taskgroup_reduction_register,
3259 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3260 GOMP_teams_reg and GOMP_taskwait_depend.
3261 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3262 omp_{capture,display}_affinity{,_}, and
3263 omp_[gs]et_affinity_format{,_}.
3264 * loop.c: Include string.h.
3265 (GOMP_loop_runtime_next): Add ialias.
3266 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3267 (gomp_loop_static_start, gomp_loop_dynamic_start,
3268 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3269 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3270 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3271 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3272 or gomp_doacross_init callers.
3273 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3274 GOMP_loop_doacross_start): New functions.
3275 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3276 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3277 Mask off GFS_MONOTONIC bit.
3278 (GOMP_loop_maybe_nonmonotonic_runtime_next,
3279 GOMP_loop_maybe_nonmonotonic_runtime_start,
3280 GOMP_loop_nonmonotonic_runtime_next,
3281 GOMP_loop_nonmonotonic_runtime_start,
3282 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3283 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3284 functions.
3285 (gomp_parallel_loop_start): Pass NULL as taskgroup to
3286 gomp_team_start.
3287 * loop_ull.c: Include string.h.
3288 (GOMP_loop_ull_runtime_next): Add ialias.
3289 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3290 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3291 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3292 gomp_loop_ull_ordered_dynamic_start,
3293 gomp_loop_ull_ordered_guided_start,
3294 gomp_loop_ull_doacross_static_start,
3295 gomp_loop_ull_doacross_dynamic_start,
3296 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3297 and gomp_doacross_ull_init callers.
3298 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3299 GOMP_loop_ull_doacross_start): New functions.
3300 (GOMP_loop_ull_runtime_start,
3301 GOMP_loop_ull_ordered_runtime_start,
3302 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3303 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3304 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3305 GOMP_loop_ull_nonmonotonic_runtime_next,
3306 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3307 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3308 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3309 (omp_pause_resource_t, omp_depend_t): New typedefs.
3310 (enum omp_lock_hint_t): Renamed to ...
3311 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
3312 enumerators using numbers and omp_lock_hint_* as their aliases.
3313 (omp_lock_hint_t): New typedef. Rename to ...
3314 (omp_sync_hint_t): ... this.
3315 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3316 omp_sync_hint_t instead of omp_lock_hint_t.
3317 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3318 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3319 Declare.
3320 (omp_target_is_present, omp_target_disassociate_ptr):
3321 Change first argument from void * to const void *.
3322 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3323 from void * to const void *.
3324 (omp_target_associate_ptr): Change first and second arguments from
3325 void * to const void *.
3326 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3327 omp_pause_hard): New parameters.
3328 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3329 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3330 New interfaces.
3331 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3332 omp_pause_hard): New parameters.
3333 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3334 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3335 New externals.
3336 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3337 EXTRA argument. If not needed to prepare array, if extra is 0,
3338 clear ws->doacross, otherwise allocate just doacross structure and
3339 extra payload. If array is needed, allocate also extra payload.
3340 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3341 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3342 doacross == NULL.
3343 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3344 gomp_team_start.
3345 (GOMP_parallel): Likewise. Formatting fix.
3346 (GOMP_parallel_reductions): New function.
3347 (GOMP_cancellation_point): If taskgroup has workshare
3348 flag set, check cancelled of prev taskgroup if any.
3349 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3350 on prev taskgroup if any.
3351 * sections.c: Include string.h.
3352 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3353 (GOMP_sections_start): Adjust gomp_work_share_start caller.
3354 (GOMP_sections2_start): New function.
3355 (GOMP_parallel_sections_start, GOMP_parallel_sections):
3356 Pass NULL as taskgroup to gomp_team_start.
3357 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3358 gomp_work_share_start callers.
3359 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3360 If taskgroup has workshare flag set, check cancelled on prev
3361 taskgroup if any. Guard all cancellation tests with
3362 gomp_cancel_var test.
3363 (omp_target_is_present, omp_target_disassociate_ptr):
3364 Change ptr argument from void * to const void *.
3365 (omp_target_memcpy): Change src argument from void * to const void *.
3366 (omp_target_memcpy_rect): Likewise.
3367 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
3368 instead of char * where needed.
3369 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3370 from void * to const void *.
3371 (omp_pause_resource, omp_pause_resource_all): New functions.
3372 * task.c (gomp_task_handle_depend): Handle new depend array format
3373 in addition to the old. Handle mutexinoutset kinds the same as
3374 inout for now, handle unspecified kinds.
3375 (gomp_create_target_task): If taskgroup has workshare flag set, check
3376 cancelled on prev taskgroup if any. Guard all cancellation tests with
3377 gomp_cancel_var test. Handle new depend array format count in
3378 addition to the old.
3379 (GOMP_task): Likewise. Adjust function comment.
3380 (gomp_task_run_pre): If taskgroup has workshare flag set, check
3381 cancelled on prev taskgroup if any. Guard all cancellation tests with
3382 gomp_cancel_var test.
3383 (GOMP_taskwait_depend): New function.
3384 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3385 format in addition to the old. Handle mutexinoutset kinds the same as
3386 inout for now, handle unspecified kinds. Fix a function comment typo.
3387 (gomp_taskgroup_init): New function.
3388 (GOMP_taskgroup_start): Use it.
3389 (gomp_reduction_register, gomp_create_artificial_team,
3390 GOMP_taskgroup_reduction_register,
3391 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3392 gomp_parallel_reduction_register,
3393 gomp_workshare_task_reduction_register,
3394 gomp_workshare_taskgroup_start,
3395 GOMP_workshare_task_reduction_unregister): New functions.
3396 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3397 check cancelled on prev taskgroup if any. Guard all cancellation
3398 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
3399 by calling GOMP_taskgroup_reduction_register.
3400 * team.c (gomp_thread_attr): Remove comment.
3401 (struct gomp_thread_start_data): Add handle field.
3402 (gomp_thread_start): Call pthread_detach.
3403 (gomp_new_team): Adjust gomp_init_work_share caller.
3404 (gomp_free_pool_helper): Call pthread_detach.
3405 (gomp_team_start): Add taskgroup argument, initialize implicit
3406 tasks' taskgroup field to that. Don't call
3407 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
3408 (gomp_team_end): Determine nesting by thr->ts.level != 0
3409 rather than thr->ts.team != NULL.
3410 (gomp_pause_pool_helper, gomp_pause_host): New functions.
3411 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
3412 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
3413 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
3414 if more than 1 allocate also extra payload at the end of array. Never
3415 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
3416 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
3417 return true instead of ws.
3418 * Makefile.in: Regenerated.
3419 * configure: Regenerated.
3420 * config.h.in: Regenerated.
3421 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
3422 in some cases.
3423 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
3424 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
3425 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
3426 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
3427 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
3428 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3429 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3430 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3431 * testsuite/libgomp.c-c++-common/for-10.c: New test.
3432 * testsuite/libgomp.c-c++-common/for-11.c: New test.
3433 * testsuite/libgomp.c-c++-common/for-12.c: New test.
3434 * testsuite/libgomp.c-c++-common/for-13.c: New test.
3435 * testsuite/libgomp.c-c++-common/for-14.c: New test.
3436 * testsuite/libgomp.c-c++-common/for-15.c: New test.
3437 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3438 define a different N(test), don't define N(f0) to N(f14), but instead
3439 define N(f20) to N(f34) using != comparisons.
3440 * testsuite/libgomp.c-c++-common/for-7.c: New test.
3441 * testsuite/libgomp.c-c++-common/for-8.c: New test.
3442 * testsuite/libgomp.c-c++-common/for-9.c: New test.
3443 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3444 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3445 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3446 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3447 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3448 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3449 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3450 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3451 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3452 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3453 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3454 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3455 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3456 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3457 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3458 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3459 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3460 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3461 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3462 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3463 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3464 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3465 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3466 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3467 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3468 * testsuite/libgomp.c++/depend-1.C: New test.
3469 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3470 * testsuite/libgomp.c++/depobj-1.C: New test.
3471 * testsuite/libgomp.c++/for-16.C: New test.
3472 * testsuite/libgomp.c++/for-21.C: New test.
3473 * testsuite/libgomp.c++/for-22.C: New test.
3474 * testsuite/libgomp.c++/for-23.C: New test.
3475 * testsuite/libgomp.c++/for-24.C: New test.
3476 * testsuite/libgomp.c++/for-25.C: New test.
3477 * testsuite/libgomp.c++/for-26.C: New test.
3478 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3479 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3480 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3481 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3482 * testsuite/libgomp.c++/task-reduction-10.C: New test.
3483 * testsuite/libgomp.c++/task-reduction-11.C: New test.
3484 * testsuite/libgomp.c++/task-reduction-12.C: New test.
3485 * testsuite/libgomp.c++/task-reduction-13.C: New test.
3486 * testsuite/libgomp.c++/task-reduction-14.C: New test.
3487 * testsuite/libgomp.c++/task-reduction-15.C: New test.
3488 * testsuite/libgomp.c++/task-reduction-16.C: New test.
3489 * testsuite/libgomp.c++/task-reduction-17.C: New test.
3490 * testsuite/libgomp.c++/task-reduction-18.C: New test.
3491 * testsuite/libgomp.c++/task-reduction-19.C: New test.
3492 * testsuite/libgomp.c/task-reduction-1.c: New test.
3493 * testsuite/libgomp.c++/task-reduction-1.C: New test.
3494 * testsuite/libgomp.c/task-reduction-2.c: New test.
3495 * testsuite/libgomp.c++/task-reduction-2.C: New test.
3496 * testsuite/libgomp.c++/task-reduction-3.C: New test.
3497 * testsuite/libgomp.c++/task-reduction-4.C: New test.
3498 * testsuite/libgomp.c++/task-reduction-5.C: New test.
3499 * testsuite/libgomp.c++/task-reduction-6.C: New test.
3500 * testsuite/libgomp.c++/task-reduction-7.C: New test.
3501 * testsuite/libgomp.c++/task-reduction-8.C: New test.
3502 * testsuite/libgomp.c++/task-reduction-9.C: New test.
3503 * testsuite/libgomp.c/teams-1.c: New test.
3504 * testsuite/libgomp.c/teams-2.c: New test.
3505 * testsuite/libgomp.c/thread-limit-4.c: New test.
3506 * testsuite/libgomp.c/thread-limit-5.c: New test.
3507 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3508
3509 2018-11-06 Chung-Lin Tang <cltang (a] codesourcery.com>
3510
3511 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
3512 acc_memcpy_to/from_device functions, now with async parameter.
3513 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3514 (acc_memcpy_from_device): Likewise.
3515 (acc_memcpy_to_device_async): New API function.
3516 (acc_memcpy_from_device_async): Likewise.
3517 (present_create_copy): Add async parameter and async setting/unsetting.
3518 (acc_create): Adjust present_create_copy call.
3519 (acc_copyin): Likewise.
3520 (acc_present_or_create): Likewise.
3521 (acc_present_or_copyin): Likewise.
3522 (acc_create_async): New API function.
3523 (acc_copyin_async): New API function.
3524 (delete_copyout): Add async parameter and async setting/unsetting.
3525 (acc_delete): Adjust delete_copyout call.
3526 (acc_copyout): Likewise.
3527 (acc_delete_async): New API function.
3528 (acc_copyout_async): Likewise.
3529 (update_dev_host): Add async parameter and async setting/unsetting.
3530 (acc_update_device): Adjust update_dev_host call.
3531 (acc_update_self): Likewise.
3532 (acc_update_device_async): New API function.
3533 (acc_update_self_async): Likewise.
3534 * openacc.h (acc_copyin_async): Declare new API function.
3535 (acc_create_async): Likewise.
3536 (acc_copyout_async): Likewise.
3537 (acc_delete_async): Likewise.
3538 (acc_update_device_async): Likewise.
3539 (acc_update_self_async): Likewise.
3540 (acc_memcpy_to_device_async): Likewise.
3541 (acc_memcpy_from_device_async): Likewise.
3542 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3543 (acc_copyin_async_64_h): New subroutine.
3544 (acc_copyin_async_array_h): New subroutine.
3545 (acc_create_async_32_h): New subroutine.
3546 (acc_create_async_64_h): New subroutine.
3547 (acc_create_async_array_h): New subroutine.
3548 (acc_copyout_async_32_h): New subroutine.
3549 (acc_copyout_async_64_h): New subroutine.
3550 (acc_copyout_async_array_h): New subroutine.
3551 (acc_delete_async_32_h): New subroutine.
3552 (acc_delete_async_64_h): New subroutine.
3553 (acc_delete_async_array_h): New subroutine.
3554 (acc_update_device_async_32_h): New subroutine.
3555 (acc_update_device_async_64_h): New subroutine.
3556 (acc_update_device_async_array_h): New subroutine.
3557 (acc_update_self_async_32_h): New subroutine.
3558 (acc_update_self_async_64_h): New subroutine.
3559 (acc_update_self_async_array_h): New subroutine.
3560 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
3561 (acc_copyin_async_64_h): New subroutine.
3562 (acc_copyin_async_array_h): New subroutine.
3563 (acc_create_async_32_h): New subroutine.
3564 (acc_create_async_64_h): New subroutine.
3565 (acc_create_async_array_h): New subroutine.
3566 (acc_copyout_async_32_h): New subroutine.
3567 (acc_copyout_async_64_h): New subroutine.
3568 (acc_copyout_async_array_h): New subroutine.
3569 (acc_delete_async_32_h): New subroutine.
3570 (acc_delete_async_64_h): New subroutine.
3571 (acc_delete_async_array_h): New subroutine.
3572 (acc_update_device_async_32_h): New subroutine.
3573 (acc_update_device_async_64_h): New subroutine.
3574 (acc_update_device_async_array_h): New subroutine.
3575 (acc_update_self_async_32_h): New subroutine.
3576 (acc_update_self_async_64_h): New subroutine.
3577 (acc_update_self_async_array_h): New subroutine.
3578 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3579 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3580 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3581 acc_memcpy_to_device_async*, acc_update_device_async*, and
3582 acc_update_self_async* entries.
3583 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3584 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3585 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3586
3587 2018-10-31 Joseph Myers <joseph (a] codesourcery.com>
3588
3589 PR bootstrap/82856
3590 * Makefile.am: Include multilib.am
3591 (AUTOMAKE_OPTIONS): Add info-in-builddir.
3592 (CLEANFILES): Remove libgomp.info.
3593 * configure.ac: Remove AC_PREREQ.
3594 * testsuite/Makefile.am (RUNTEST): Remove quotes.
3595 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3596 Regenerate.
3597
3598 2018-10-29 Joseph Myers <joseph (a] codesourcery.com>
3599 Julian Brown <julian (a] codesourcery.com>
3600
3601 * testsuite/libgomp.oacc-c++/this.C: New.
3602
3603 2018-09-18 Cesar Philippidis <cesar (a] codesourcery.com>
3604
3605 * plugin/plugin-nvptx.c (struct cuda_map): New.
3606 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3607 h_tail with (cuda_map *) map.
3608 (cuda_map_create): New function.
3609 (cuda_map_destroy): New function.
3610 (map_init): Update to use a linked list of cuda_map objects.
3611 (map_fini): Likewise.
3612 (map_pop): Likewise.
3613 (map_push): Likewise. Return CUdeviceptr instead of void.
3614 (init_streams_for_device): Remove stales references to ptx_stream
3615 members.
3616 (select_stream_for_async): Likewise.
3617 (nvptx_exec): Update call to map_init.
3618
3619 2018-09-09 Cesar Philippidis <cesar (a] codesourcery.com>
3620 Julian Brown <julian (a] codesourcery.com>
3621
3622 PR middle-end/86336
3623 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3624
3625 2018-08-21 Nicolas Koenig <koenigni (a] gcc.gnu.org>
3626 Thomas Koenig <tkoenig (a] gcc.gnu.org>
3627
3628 PR fortran/25829
3629 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3630 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3631 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3632 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3633 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3634 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3635 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3636
3637 2018-08-13 Cesar Philippidis <cesar (a] codesourcery.com>
3638 Tom de Vries <tdevries (a] suse.de>
3639
3640 PR target/85590
3641 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3642 (cuOccupancyMaxPotentialBlockSize): Declare.
3643 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3644 CUDA_ONE_CALL_MAYBE_NULL.
3645 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3646 CUoccupancyB2DSize and declare
3647 cuOccupancyMaxPotentialBlockSize.
3648 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3649 default num_gangs and num_workers when the driver supports it.
3650
3651 2018-08-08 Tom de Vries <tdevries (a] suse.de>
3652
3653 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3654 CUDA_ONE_CALL_MAYBE_NULL.
3655 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3656 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3657 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3658 are not found.
3659
3660 2018-08-08 Tom de Vries <tdevries (a] suse.de>
3661
3662 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3663 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3664 present.
3665
3666 2018-08-08 Tom de Vries <tdevries (a] suse.de>
3667
3668 * plugin/plugin-nvptx.c
3669 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3670 (nvptx_open_device): Use
3671 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3672
3673 2018-08-08 Tom de Vries <tdevries (a] suse.de>
3674
3675 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3676 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
3677
3678 2018-08-07 Tom de Vries <tdevries (a] suse.de>
3679
3680 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3681 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3682 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
3683 corresponding call in CUDA_ONE_CALL. Add def/undef of
3684 CUDA_ONE_CALL_MAYBE_NULL.
3685 (CUDA_CALL_EXISTS): Define.
3686
3687 2018-08-07 Tom de Vries <tdevries (a] suse.de>
3688
3689 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3690 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3691 corresponding undefs right after.
3692
3693 2018-08-04 Tom de Vries <tdevries (a] suse.de>
3694
3695 * plugin/configfrag.ac: For --without-cuda-driver, set
3696 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
3697 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3698 * configure: Regenerate.
3699
3700 2018-08-02 Tom de Vries <tdevries (a] suse.de>
3701
3702 PR target/86660
3703 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3704 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3705 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3706 Same.
3707 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3708 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3709 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3710
3711 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
3712 Thomas Schwinge <thomas (a] codesourcery.com>
3713
3714 * config/nvptx/oacc-parallel.c: Truncate.
3715
3716 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
3717 James Norris <jnorris (a] codesourcery.com>
3718
3719 * plugin/plugin-nvptx.c (struct map): Removed.
3720 (map_init, map_pop): Remove use of struct map.
3721 (map_push): Likewise and change argument list.
3722 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3723
3724 2018-08-01 Tom de Vries <tdevries (a] suse.de>
3725
3726 * plugin/cuda-lib.def: New file. Factor out of ...
3727 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3728 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3729 using CUDA_CALLS.
3730
3731 2018-07-31 Andre Vieira <andre.simoesdiasvieira (a] arm.com>
3732
3733 Revert 'AsyncI/O patch committed'.
3734 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
3735 Thomas Koenig <tkoenig (a] gcc.gnu.org>
3736
3737 PR fortran/25829
3738 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3739 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3740 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3741 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3742 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3743 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3744 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3745
3746 2018-07-30 Tom de Vries <tdevries (a] suse.de>
3747
3748 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3749 (nvptx_exec): Ensure worker and vector default dims don't exceed
3750 targ_fn->max_threads_per_block.
3751
3752 2018-07-30 Tom de Vries <tdevries (a] suse.de>
3753
3754 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3755 (nvptx_open_device): Init default_dims for device.
3756 (nvptx_exec): Use default_dims from device.
3757
3758 2018-07-26 Jakub Jelinek <jakub (a] redhat.com>
3759
3760 PR testsuite/86660
3761 * testsuite/libgomp.c++/for-15.C (results): Include it in
3762 omp declare target region.
3763 (main): Use map (always, tofrom: results) instead of
3764 map (tofrom: results).
3765
3766 PR middle-end/86660
3767 * testsuite/libgomp.c/pr86660.c: New test.
3768
3769 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
3770 Tom de Vries <tdevries (a] suse.de>
3771
3772 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3773 sufficient resources to launch a kernel, and give a hint on how to fix
3774 it.
3775
3776 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
3777 Tom de Vries <tdevries (a] suse.de>
3778
3779 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3780 max_threads_per_block and max_threads_per_multiprocessor fields.
3781 (nvptx_open_device): Initialize new fields.
3782 (nvptx_exec): Use num_sms, and new fields.
3783
3784 2018-07-26 Tom de Vries <tdevries (a] suse.de>
3785
3786 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3787 to correct locations. Remove xfail.
3788
3789 2018-07-26 Tom de Vries <tdevries (a] suse.de>
3790
3791 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3792 acc_wait. Move acc_async_test calls to correct locations. Remove
3793 xfail.
3794
3795 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
3796 Thomas Koenig <tkoenig (a] gcc.gnu.org>
3797
3798 PR fortran/25829
3799 * testsuite/libgomp.fortran/async_io_1.f90: New test.
3800 * testsuite/libgomp.fortran/async_io_2.f90: New test.
3801 * testsuite/libgomp.fortran/async_io_3.f90: New test.
3802 * testsuite/libgomp.fortran/async_io_4.f90: New test.
3803 * testsuite/libgomp.fortran/async_io_5.f90: New test.
3804 * testsuite/libgomp.fortran/async_io_6.f90: New test.
3805 * testsuite/libgomp.fortran/async_io_7.f90: New test.
3806
3807 2018-07-17 Jakub Jelinek <jakub (a] redhat.com>
3808
3809 PR middle-end/86542
3810 * testsuite/libgomp.c++/pr86542.C: New test.
3811
3812 PR middle-end/86539
3813 * testsuite/libgomp.c++/pr86539.C: New test.
3814
3815 2018-07-11 Jakub Jelinek <jakub (a] redhat.com>
3816
3817 PR c++/86443
3818 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3819 (results): Make sure the variable is not inside declare target region.
3820 (qux): Remove unused function.
3821
3822 2018-07-10 Jakub Jelinek <jakub (a] redhat.com>
3823
3824 PR c++/86443
3825 * testsuite/libgomp.c++/for-15.C: New test.
3826
3827 2018-06-26 Jakub Jelinek <jakub (a] redhat.com>
3828
3829 PR c++/86291
3830 * testsuite/libgomp.c++/pr86291.C: New test.
3831
3832 2018-06-24 Gerald Pfeifer <gerald (a] pfeifer.com>
3833
3834 * libgomp.texi (Top): Move www.openmp.org to https.
3835 (Enabling OpenMP): Ditto.
3836 (omp_get_active_level): Ditto.
3837 (omp_get_ancestor_thread_num): Ditto.
3838 (omp_get_cancellation): Ditto.
3839 (omp_get_default_device): Ditto.
3840 (omp_get_dynamic): Ditto.
3841 (omp_get_level): Ditto.
3842 (omp_get_max_active_levels): Ditto.
3843 (omp_get_max_task_priority): Ditto.
3844 (omp_get_max_threads): Ditto.
3845 (omp_get_nested): Ditto.
3846 (omp_get_num_devices): Ditto.
3847 (omp_get_num_procs): Ditto.
3848 (omp_get_num_teams): Ditto.
3849 (omp_get_num_threads): Ditto.
3850 (omp_get_proc_bind): Ditto.
3851 (omp_get_schedule): Ditto.
3852 (omp_get_team_num): Ditto.
3853 (omp_get_team_size): Ditto.
3854 (omp_get_thread_limit): Ditto.
3855 (omp_get_thread_num): Ditto.
3856 (omp_in_parallel): Ditto.
3857 (omp_in_final): Ditto.
3858 (omp_is_initial_device): Ditto.
3859 (omp_set_default_device): Ditto.
3860 (omp_set_dynamic): Ditto.
3861 (omp_set_max_active_levels): Ditto.
3862 (omp_set_nested): Ditto.
3863 (omp_set_num_threads): Ditto.
3864 (omp_set_schedule): Ditto.
3865 (omp_init_lock): Ditto.
3866 (omp_set_lock): Ditto.
3867 (omp_test_lock): Ditto.
3868 (omp_unset_lock): Ditto.
3869 (omp_destroy_lock): Ditto.
3870 (omp_init_nest_lock): Ditto.
3871 (omp_set_nest_lock): Ditto.
3872 (omp_test_nest_lock): Ditto.
3873 (omp_unset_nest_lock): Ditto.
3874 (omp_destroy_nest_lock): Ditto.
3875 (omp_get_wtick): Ditto.
3876 (omp_get_wtime): Ditto.
3877 (OMP_CANCELLATION): Ditto.
3878 (OMP_DISPLAY_ENV): Ditto.
3879 (OMP_DEFAULT_DEVICE): Ditto.
3880 (OMP_DYNAMIC): Ditto.
3881 (OMP_MAX_ACTIVE_LEVELS): Ditto.
3882 (OMP_MAX_TASK_PRIORITY): Ditto.
3883 (OMP_NESTED): Ditto.
3884 (OMP_NUM_THREADS): Ditto.
3885 (OMP_PROC_BIND): Ditto.
3886 (OMP_PLACES): Ditto.
3887 (OMP_STACKSIZE): Ditto.
3888 (OMP_SCHEDULE): Ditto.
3889 (OMP_THREAD_LIMIT): Ditto.
3890 (OMP_WAIT_POLICY): Ditto.
3891
3892 2018-06-22 Cesar Philippidis <cesar (a] codesourcery.com>
3893 James Norris <jnorris (a] codesourcery.com>
3894 Julian Brown <julian (a] codesourcery.com>
3895 Thomas Schwinge <thomas (a] codesourcery.com>
3896 Tom de Vries <tom (a] codesourcery.com>
3897
3898 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3899 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3900 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3901 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3902 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3903 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3904 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3905 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3906 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3908 Likewise.
3909 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3910 Likewise.
3911 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3912 Likewise.
3913 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3914 Likewise.
3915 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3916 Likewise.
3917 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3918 Likewise.
3919 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3920 Likewise.
3921 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3922 Likewise.
3923 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3924 Likewise.
3925 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3926 Likewise.
3927 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3928 Likewise.
3929 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3930 Likewise.
3931 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3932 Likewise.
3933 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3934 Likewise.
3935 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3936 Likewise.
3937 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3938 Likewise.
3939 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3940 Likewise.
3941 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3942 Likewise.
3943 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3944 Likewise.
3945 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3946 Likewise.
3947 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3948 Likewise.
3949 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3950 Likewise.
3951 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3952 Likewise.
3953 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3954 Likewise.
3955 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3956 Likewise.
3957 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3958 Likewise.
3959 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3960 Likewise.
3961 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3962 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3963 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3964 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3965 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3966 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3967 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3968 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3969 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3970 Likewise.
3971 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3972 Likewise.
3973 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3974 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3975 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3976 Likewise.
3977 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3978 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3979 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3980 Likewise.
3981 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3982 Likewise.
3983 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3984 Likewise.
3985 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3986 Likewise.
3987 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3988 Likewise.
3989 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3990 Likewise.
3991 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3992 Likewise.
3993 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3994 Likewise.
3995 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3996 Likewise.
3997 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3998 Likewise.
3999 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4000 Likewise.
4001 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4002 Likewise.
4003 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4004 Likewise.
4005 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4006 Likewise.
4007 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4008 Likewise.
4009 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4010 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4011 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4012 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4013 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4014 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4015 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4016
4017 2018-06-20 Chung-Lin Tang <cltang (a] codesourcery.com>
4018 Thomas Schwinge <thomas (a] codesourcery.com>
4019 Cesar Philippidis <cesar (a] codesourcery.com>
4020
4021 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4022 (gomp_acc_remove_pointer): Update declaration.
4023 (gomp_acc_declare_allocate): Declare.
4024 (gomp_remove_var): Declare.
4025 * libgomp.map (OACC_2.5): Define.
4026 * oacc-mem.c (acc_map_data): Update refcount.
4027 (acc_unmap_data): Likewise.
4028 (present_create_copy): Likewise.
4029 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4030 (acc_copyin): Likewise.
4031 (FLAG_FINALIZE): Define.
4032 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4033 (acc_delete_finalize): New function.
4034 (acc_delete_finalize_async): New function.
4035 (acc_copyout_finalize): New function.
4036 (acc_copyout_finalize_async): New function.
4037 (gomp_acc_insert_pointer): Update refcounts.
4038 (gomp_acc_remove_pointer): Return if data is not present on the
4039 accelerator.
4040 * oacc-parallel.c (find_pset): Rename to find_pointer.
4041 (find_pointer): Add support for GOMP_MAP_POINTER.
4042 (handle_ftn_pointers): New function.
4043 (GOACC_parallel_keyed): Update refcounts of variables.
4044 (GOACC_enter_exit_data): Add support for finalized data mappings.
4045 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4046 of fortran arrays.
4047 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4048 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4049 for GOMP_MAP_FORCE_FROM.
4050 * openacc.f90 (module openacc_internal): Add
4051 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4052 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4053 acc_copyout_finalize and acc_delete_finalize.
4054 (acc_copyout_finalize_32_h): New subroutine.
4055 (acc_copyout_finalize_64_h): New subroutine.
4056 (acc_copyout_finalize_array_h): New subroutine.
4057 (acc_delete_finalize_32_h): New subroutine.
4058 (acc_delete_finalize_64_h): New subroutine.
4059 (acc_delete_finalize_array_h): New subroutine.
4060 * openacc.h (acc_copyout_finalize): Declare.
4061 (acc_copyout_finalize_async): Declare.
4062 (acc_delete_finalize): Declare.
4063 (acc_delete_finalize_async): Declare.
4064 * openacc_lib.h (acc_copyout_finalize): New interface.
4065 (acc_delete_finalize): New interface.
4066 * target.c (gomp_map_vars): Update dynamic_refcount.
4067 (gomp_remove_var): New function.
4068 (gomp_unmap_vars): Use it.
4069 (gomp_unload_image_from_device): Likewise.
4070 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4071 case to utilize OpenACC 2.5 data clause semantics.
4072 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4073 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4074 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4075 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4076 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4077 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4078 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4079 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4080 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4081 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4082 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4083 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4084 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4085 utilize OpenACC 2.5 data clause semantics.
4086 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4087 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4088 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4089 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4090 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4091 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4092 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4093 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4094 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4095
4096 2018-05-21 Janus Weil <janus (a] gcc.gnu.org>
4097
4098 PR fortran/85841
4099 PR testsuite/85865
4100 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4101 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4102 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4103 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4104 * testsuite/libgomp.fortran/task2.f90: Ditto.
4105 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4106 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4107 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4108 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4109 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4110 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4111 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4112 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4113 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4114
4115 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com>
4116
4117 PR c++/85782
4118 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4119
4120 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
4121
4122 PR libgomp/82901
4123 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4124 to GOACC_enter_exit_data.
4125
4126 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
4127
4128 PR libgomp/83792
4129 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4130 (async_synchronous_p): New function.
4131 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4132 async_valid_p.
4133 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4134 async_valid_stream_id_p.
4135 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4136 * oacc-parallel.c (GOACC_parallel_keyed): Same.
4137
4138 2018-05-07 Tom de Vries <tom (a] codesourcery.com>
4139
4140 PR testsuite/85677
4141 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4142 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4143
4144 2018-05-03 Tom de Vries <tom (a] codesourcery.com>
4145
4146 PR testsuite/85106
4147 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4148 extra_tool_flags if it contains an -foffload=-fdump-* flag.
4149 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4150 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4151
4152 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
4153
4154 PR libgomp/85411
4155 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4156 GOMP_OPENACC_DIM ...
4157 * env.c (parse_gomp_openacc_dim): ... here. New function.
4158 (initialize_env): Call parse_gomp_openacc_dim.
4159 (goacc_default_dims): Define.
4160 * libgomp.h (goacc_default_dims): Declare.
4161 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4162 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4163 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4164 GOMP_PLUGIN_acc_default_dim.
4165 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4166 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4167
4168 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
4169
4170 PR testsuite/83791
4171 * testsuite/libgomp.c++/udr-9.C: Update.
4172 * testsuite/libgomp.c++/atomic-16.C: Remove.
4173 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4174 * testsuite/libgomp.c++/loop-13.C: Remove.
4175 * testsuite/libgomp.c++/loop-14.C: Remove.
4176 * testsuite/libgomp.c++/loop-15.C: Remove.
4177 * testsuite/libgomp.c++/monotonic-1.C: Remove.
4178 * testsuite/libgomp.c++/monotonic-2.C: Remove.
4179 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4180 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4181 * testsuite/libgomp.c++/ordered-1.C: Remove.
4182 * testsuite/libgomp.c++/pr45784.C: Remove.
4183 * testsuite/libgomp.c++/pr64824.C: Remove.
4184 * testsuite/libgomp.c++/pr64868.C: Remove.
4185 * testsuite/libgomp.c++/pr66199-1.C: Remove.
4186 * testsuite/libgomp.c++/pr66199-2.C: Remove.
4187 * testsuite/libgomp.c++/pr66199-3.C: Remove.
4188 * testsuite/libgomp.c++/pr66199-4.C: Remove.
4189 * testsuite/libgomp.c++/pr66199-5.C: Remove.
4190 * testsuite/libgomp.c++/pr66199-6.C: Remove.
4191 * testsuite/libgomp.c++/pr66199-7.C: Remove.
4192 * testsuite/libgomp.c++/pr66199-8.C: Remove.
4193 * testsuite/libgomp.c++/pr66199-9.C: Remove.
4194 * testsuite/libgomp.c++/pr69389.C: Remove.
4195 * testsuite/libgomp.c++/simd10.C: Remove.
4196 * testsuite/libgomp.c++/simd11.C: Remove.
4197 * testsuite/libgomp.c++/simd12.C: Remove.
4198 * testsuite/libgomp.c++/simd13.C: Remove.
4199 * testsuite/libgomp.c++/target-1.C: Remove.
4200 * testsuite/libgomp.c++/target-3.C: Remove.
4201 * testsuite/libgomp.c++/target-4.C: Remove.
4202 * testsuite/libgomp.c++/target-5.C: Remove.
4203 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4204 * testsuite/libgomp.c++/taskloop-1.C: Remove.
4205 * testsuite/libgomp.c++/taskloop-2.C: Remove.
4206 * testsuite/libgomp.c++/taskloop-3.C: Remove.
4207 * testsuite/libgomp.c++/taskloop-4.C: Remove.
4208 * testsuite/libgomp.c++/udr-9.C: Remove.
4209 * testsuite/libgomp.c++/for-10.C: Remove.
4210 * testsuite/libgomp.c++/for-11.C: Remove.
4211 * testsuite/libgomp.c++/for-12.C: Remove.
4212 * testsuite/libgomp.c++/for-13.C: Remove.
4213 * testsuite/libgomp.c++/for-14.C: Remove.
4214 * testsuite/libgomp.c++/for-9.C: Remove.
4215 * testsuite/libgomp.c/atomic-18.c: Move ...
4216 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4217 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4218 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4219 * testsuite/libgomp.c/loop-13.c: Move ...
4220 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4221 * testsuite/libgomp.c/loop-14.c: Move ...
4222 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4223 * testsuite/libgomp.c/loop-15.c: Remove.
4224 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4225 * testsuite/libgomp.c/monotonic-1.c: Move ...
4226 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4227 * testsuite/libgomp.c/monotonic-2.c: Move ...
4228 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4229 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4230 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4231 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4232 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4233 * testsuite/libgomp.c/ordered-4.c: Move ...
4234 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4235 * testsuite/libgomp.c/pr45784.c: Move ...
4236 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4237 * testsuite/libgomp.c/pr64824.c: Move ...
4238 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4239 * testsuite/libgomp.c/pr64868.c: Move ...
4240 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4241 * testsuite/libgomp.c/pr66199-1.c: Move ...
4242 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4243 * testsuite/libgomp.c/pr66199-2.c: Move ...
4244 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4245 * testsuite/libgomp.c/pr66199-3.c: Move ...
4246 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4247 * testsuite/libgomp.c/pr66199-4.c: Move ...
4248 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4249 * testsuite/libgomp.c/pr66199-5.c: Move ...
4250 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4251 * testsuite/libgomp.c/pr66199-6.c: Move ...
4252 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4253 * testsuite/libgomp.c/pr66199-7.c: Move ...
4254 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4255 * testsuite/libgomp.c/pr66199-8.c: Move ...
4256 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4257 * testsuite/libgomp.c/pr66199-9.c: Move ...
4258 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4259 * testsuite/libgomp.c/pr69389.c: Move ...
4260 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4261 * testsuite/libgomp.c/simd-14.c: Move ...
4262 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4263 * testsuite/libgomp.c/simd-15.c: Move ...
4264 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4265 * testsuite/libgomp.c/simd-16.c: Move ...
4266 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4267 * testsuite/libgomp.c/simd-17.c: Move ...
4268 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4269 * testsuite/libgomp.c/target-1.c: Move ...
4270 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4271 * testsuite/libgomp.c/target-10.c: Move ...
4272 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4273 * testsuite/libgomp.c/target-13.c: Move ...
4274 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4275 * testsuite/libgomp.c/target-2.c: Move ...
4276 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4277 * testsuite/libgomp.c/taskgroup-1.c: Move ...
4278 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4279 * testsuite/libgomp.c/taskloop-1.c: Move ...
4280 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4281 * testsuite/libgomp.c/taskloop-2.c: Move ...
4282 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4283 * testsuite/libgomp.c/taskloop-3.c: Move ...
4284 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4285 * testsuite/libgomp.c/taskloop-4.c: Move ...
4286 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4287 * testsuite/libgomp.c/udr-1.c: Move ...
4288 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4289 * testsuite/libgomp.c/for-1.c: Move ...
4290 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4291 * testsuite/libgomp.c/for-1.h: Move ...
4292 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4293 * testsuite/libgomp.c/for-2.c: Move ...
4294 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4295 * testsuite/libgomp.c/for-2.h: Move ...
4296 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4297 * testsuite/libgomp.c/for-3.c: Move ...
4298 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4299 * testsuite/libgomp.c/for-4.c: Move ...
4300 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4301 * testsuite/libgomp.c/for-5.c: Move ...
4302 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4303 * testsuite/libgomp.c/for-6.c: Move ...
4304 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4305
4306 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
4307
4308 PR libgomp/82428
4309 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4310 __builtin_goacc_parlevel_{id,size}.
4311 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4312 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4313 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4314 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4315 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4316 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4317 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4318 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4319 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4320 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4321 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4322 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4323 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4324 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4325 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4326 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4327 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4328 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4329 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4330 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4331 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4332 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4333 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4334
4335 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
4336
4337 PR testsuite/85106
4338 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4339
4340 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
4341
4342 PR testsuite/85106
4343 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4344
4345 2018-04-29 Julian Brown <julian (a] codesourcery.com>
4346 Tom de Vries <tom (a] codesourcery.com>
4347
4348 PR testsuite/85527
4349 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4350 arbitrary order for iterations of atomic subtract check.
4351
4352 2018-04-28 Tom de Vries <tom (a] codesourcery.com>
4353
4354 PR testsuite/85527
4355 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4356 atomic capture results obtained in parallel loop to an array, instead of
4357 to a scalar.
4358
4359 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
4360
4361 PR libgomp/84020
4362 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4363 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4364 (process_GOMP_NVPTX_JIT): New function.
4365 (link_ptx): Use process_GOMP_NVPTX_JIT.
4366
4367 2018-04-26 Richard Biener <rguenther (a] suse.de>
4368 Tom de Vries <tom (a] codesourcery.com>
4369
4370 PR lto/85422
4371 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4372
4373 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
4374
4375 PR target/85519
4376 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4377 recursion depth from 25 to 23.
4378 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4379
4380 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com>
4381
4382 * configure: Regenerated.
4383
4384 2018-04-20 Nathan Sidwell <nathan (a] codesourcery.com>
4385 Tom de Vries <tom (a] codesourcery.com>
4386
4387 PR target/85445
4388 * testsuite/libgomp.oacc-c++/ref-1.C: New.
4389
4390 2018-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
4391
4392 PR libgomp/85463
4393 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4394 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4395 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4396 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4397 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4398 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4399
4400 PR libfortran/85166
4401 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4402 abort".
4403 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4404
4405 2018-04-19 Jakub Jelinek <jakub (a] redhat.com>
4406
4407 * configure: Regenerated.
4408
4409 2018-04-18 David Malcolm <dmalcolm (a] redhat.com>
4410
4411 PR jit/85384
4412 * configure: Regenerate.
4413
4414 2018-04-16 Cesar Philippidis <cesar (a] codesourcery.com>
4415 Tom de Vries <tom (a] codesourcery.com>
4416
4417 PR middle-end/84955
4418 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4419 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4420
4421 2018-04-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
4422
4423 PR fortran/83064
4424 PR testsuite/85346
4425 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
4426 test from gfortran.dg to here.
4427
4428 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
4429
4430 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4431 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4432
4433 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
4434
4435 PR middle-end/84955
4436 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4437 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4438
4439 2018-04-05 Tom de Vries <tom (a] codesourcery.com>
4440
4441 PR target/85204
4442 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4443
4444 2018-03-26 Tom de Vries <tom (a] codesourcery.com>
4445
4446 PR tree-optimization/85063
4447 * testsuite/libgomp.c/switch-conversion-2.c: New test.
4448 * testsuite/libgomp.c/switch-conversion.c: New test.
4449 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4450 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4451
4452 2018-03-25 Thomas Koenig <tkoenig (a] gcc.gnu.org>
4453
4454 PR fortran/84381
4455 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4456 call abort by STOP n.
4457 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4458 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4459 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4460 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4461 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4462 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4463 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4464 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4465 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4466 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4467 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4468 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4469 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4470 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4471 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4472 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4473 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4474 * testsuite/libgomp.fortran/associate1.f90: Likewise.
4475 * testsuite/libgomp.fortran/associate2.f90: Likewise.
4476 * testsuite/libgomp.fortran/associate3.f90: Likewise.
4477 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4478 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4479 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4480 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4481 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4482 * testsuite/libgomp.fortran/character1.f90: Likewise.
4483 * testsuite/libgomp.fortran/character2.f90: Likewise.
4484 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4485 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4486 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4487 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4488 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4489 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4490 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4491 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4492 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4493 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4494 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4495 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4496 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4497 * testsuite/libgomp.fortran/do1.f90: Likewise.
4498 * testsuite/libgomp.fortran/do2.f90: Likewise.
4499 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4500 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
4501 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
4502 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4503 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4504 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4505 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4506 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4507 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4508 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4509 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4510 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4511 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4512 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4513 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4514 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4515 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4516 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4517 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4518 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4519 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4520 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4521 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4522 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4523 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4524 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4525 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4526 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4527 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4528 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4529 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4530 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4531 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4532 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4533 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4534 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4535 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4536 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4537 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4538 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4539 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4540 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4541 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4542 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4543 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4544 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4545 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4546 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4547 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4548 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4549 * testsuite/libgomp.fortran/lib2.f: Likewise.
4550 * testsuite/libgomp.fortran/lib3.f: Likewise.
4551 * testsuite/libgomp.fortran/lib4.f90: Likewise.
4552 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
4553 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
4554 * testsuite/libgomp.fortran/nested1.f90: Likewise.
4555 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4556 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4557 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4558 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4559 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4560 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4561 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4562 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4563 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4564 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4565 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4566 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4567 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4568 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4569 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4570 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4571 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4572 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4573 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4574 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4575 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4576 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4577 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
4578 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
4579 * testsuite/libgomp.fortran/pr25162.f: Likewise.
4580 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
4581 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4582 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4583 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4584 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4585 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4586 * testsuite/libgomp.fortran/pr28390.f: Likewise.
4587 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
4588 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
4589 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
4590 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
4591 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
4592 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
4593 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
4594 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
4595 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4596 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4597 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4598 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4599 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
4600 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4601 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
4602 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
4603 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
4604 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4605 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4606 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
4607 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
4608 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
4609 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
4610 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
4611 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
4612 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4613 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
4614 * testsuite/libgomp.fortran/reference1.f90: Likewise.
4615 * testsuite/libgomp.fortran/reference2.f90: Likewise.
4616 * testsuite/libgomp.fortran/retval1.f90: Likewise.
4617 * testsuite/libgomp.fortran/retval2.f90: Likewise.
4618 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
4619 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
4620 * testsuite/libgomp.fortran/simd1.f90: Likewise.
4621 * testsuite/libgomp.fortran/simd2.f90: Likewise.
4622 * testsuite/libgomp.fortran/simd3.f90: Likewise.
4623 * testsuite/libgomp.fortran/simd4.f90: Likewise.
4624 * testsuite/libgomp.fortran/simd5.f90: Likewise.
4625 * testsuite/libgomp.fortran/simd6.f90: Likewise.
4626 * testsuite/libgomp.fortran/simd7.f90: Likewise.
4627 * testsuite/libgomp.fortran/stack.f90: Likewise.
4628 * testsuite/libgomp.fortran/strassen.f90: Likewise.
4629 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
4630 * testsuite/libgomp.fortran/tabs2.f: Likewise.
4631 * testsuite/libgomp.fortran/target1.f90: Likewise.
4632 * testsuite/libgomp.fortran/target2.f90: Likewise.
4633 * testsuite/libgomp.fortran/target3.f90: Likewise.
4634 * testsuite/libgomp.fortran/target4.f90: Likewise.
4635 * testsuite/libgomp.fortran/target5.f90: Likewise.
4636 * testsuite/libgomp.fortran/target6.f90: Likewise.
4637 * testsuite/libgomp.fortran/target7.f90: Likewise.
4638 * testsuite/libgomp.fortran/target8.f90: Likewise.
4639 * testsuite/libgomp.fortran/task1.f90: Likewise.
4640 * testsuite/libgomp.fortran/task2.f90: Likewise.
4641 * testsuite/libgomp.fortran/task3.f90: Likewise.
4642 * testsuite/libgomp.fortran/task4.f90: Likewise.
4643 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4644 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4645 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4646 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4647 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4648 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4649 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4650 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4651 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4652 * testsuite/libgomp.fortran/udr1.f90: Likewise.
4653 * testsuite/libgomp.fortran/udr10.f90: Likewise.
4654 * testsuite/libgomp.fortran/udr11.f90: Likewise.
4655 * testsuite/libgomp.fortran/udr12.f90: Likewise.
4656 * testsuite/libgomp.fortran/udr13.f90: Likewise.
4657 * testsuite/libgomp.fortran/udr14.f90: Likewise.
4658 * testsuite/libgomp.fortran/udr15.f90: Likewise.
4659 * testsuite/libgomp.fortran/udr2.f90: Likewise.
4660 * testsuite/libgomp.fortran/udr3.f90: Likewise.
4661 * testsuite/libgomp.fortran/udr4.f90: Likewise.
4662 * testsuite/libgomp.fortran/udr5.f90: Likewise.
4663 * testsuite/libgomp.fortran/udr6.f90: Likewise.
4664 * testsuite/libgomp.fortran/udr7.f90: Likewise.
4665 * testsuite/libgomp.fortran/udr8.f90: Likewise.
4666 * testsuite/libgomp.fortran/udr9.f90: Likewise.
4667 * testsuite/libgomp.fortran/vla1.f90: Likewise.
4668 * testsuite/libgomp.fortran/vla2.f90: Likewise.
4669 * testsuite/libgomp.fortran/vla3.f90: Likewise.
4670 * testsuite/libgomp.fortran/vla4.f90: Likewise.
4671 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4672 * testsuite/libgomp.fortran/vla6.f90: Likewise.
4673 * testsuite/libgomp.fortran/vla7.f90: Likewise.
4674 * testsuite/libgomp.fortran/vla8.f90: Likewise.
4675 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
4676 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
4677 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4678 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4679 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4680 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4681 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4682 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4683 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4684 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4685 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4686 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4687 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4688 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4689 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4690 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4691 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4692 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4693 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4694 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4695 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4696 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4697 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4698 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4699 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4700 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4701 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4702 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4703 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4704 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4705 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4706 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4707 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4708 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4709 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4710 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4711 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4712 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4713 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4714 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4715 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4716 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4717 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4718 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4719 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4720 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4721 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4722 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4723 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4724 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4725 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4726 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4727 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4728 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4729 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4730 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4731 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4732 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4733 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4734 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4735 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4736 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4737 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4738 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4739 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4740 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4741 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4742 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4743 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4744 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4745 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4746 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4747 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4748 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4749 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4750 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4751 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4752 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4753 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4754 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4755 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4756 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4757 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4758 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4759 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4760 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4761 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4762 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4763 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4764 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4765 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4766 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4767 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4768 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4769
4770 2018-03-20 Richard Biener <rguenther (a] suse.de>
4771
4772 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4773 parallelizable loop.
4774
4775 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
4776
4777 PR target/84148
4778 * configure: Regenerate.
4779
4780 2018-02-16 Jakub Jelinek <jakub (a] redhat.com>
4781
4782 PR fortran/84418
4783 * libgomp.fortran/pr84418-1.f90: New test.
4784 * libgomp.fortran/pr84418-2.f90: New test.
4785
4786 2018-02-14 Jakub Jelinek <jakub (a] redhat.com>
4787
4788 PR fortran/84313
4789 * testsuite/libgomp.fortran/threadprivate4.f90: Add
4790 -std=f2003 -fall-intrinsics into dg-additional-options.
4791
4792 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
4793
4794 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4795 clonable.
4796
4797 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
4798
4799 * testsuite/libgomp.hsa.c/staticvar.c: New test.
4800
4801 2018-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
4802
4803 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4804 [__cplusplus]: Declare extern "C".
4805
4806 2018-02-07 Tom de Vries <tom (a] codesourcery.com>
4807
4808 PR libgomp/84217
4809 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4810
4811 2018-01-29 Christoph Spiel <cspiel (a] freenet.de>
4812 Jakub Jelinek <jakub (a] redhat.com>
4813
4814 PR libgomp/84096
4815 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4816 instead of omp_lock_t.
4817
4818 2018-01-25 Tom de Vries <tom (a] codesourcery.com>
4819
4820 PR target/84028
4821 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4822
4823 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
4824
4825 PR target/83589
4826 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4827
4828 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
4829
4830 PR target/81352
4831 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4832
4833 2018-01-19 Tom de Vries <tom (a] codesourcery.com>
4834 Cesar Philippidis <cesar (a] codesourcery.com>
4835
4836 PR target/83920
4837 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4838 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4839
4840 2018-01-03 Jakub Jelinek <jakub (a] redhat.com>
4841
4842 Update copyright years.
4843
4844 * libgomp.texi: Bump @copying's copyright year.
4845
4846 2017-12-30 Tom de Vries <tom (a] codesourcery.com>
4847
4848 PR libgomp/83046
4849 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4850 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
4851
4852 2017-12-27 Tom de Vries <tom (a] codesourcery.com>
4853
4854 PR c++/83046
4855 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4856 (test_nonstatic): Fix return type to workaround PR83046.
4857
4858 2017-12-05 Jakub Jelinek <jakub (a] redhat.com>
4859
4860 PR testsuite/83281
4861 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4862 j suffix instead of i.
4863 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4864 Likewise.
4865
4866 2017-12-01 Cesar Philippidis <cesar (a] codesourcery.com>
4867
4868 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4869 call to acc_wait (1).
4870
4871 2017-11-24 Jakub Jelinek <jakub (a] redhat.com>
4872
4873 PR fortran/81304
4874 * testsuite/libgomp.fortran/pr81304.f90: New test.
4875
4876 2017-11-23 Jakub Jelinek <jakub (a] redhat.com>
4877
4878 PR fortran/81841
4879 * libgomp.fortran/pr81841.f90: New test.
4880
4881 2017-11-22 Jakub Jelinek <jakub (a] redhat.com>
4882
4883 PR libgomp/83106
4884 * target.c (gomp_target_init): Compute lengths just once and
4885 use them in both malloc size and subsequent copying.
4886
4887 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
4888
4889 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4890 * acinclude.m4: Add cet.m4.
4891 * configure: Regenerate.
4892 * Makefile.in: Likewise.
4893 * testsuite/Makefile.in: Likewise.
4894
4895 2017-11-15 Tom de Vries <tom (a] codesourcery.com>
4896
4897 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4898 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
4899 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4900 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
4901 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4902 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
4903
4904 2017-11-14 Tom de Vries <tom (a] codesourcery.com>
4905
4906 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4907 non-nvidia devices.
4908
4909 2017-11-07 Jakub Jelinek <jakub (a] redhat.com>
4910
4911 PR c++/82835
4912 * testsuite/libgomp.c++/pr82835.C: New test.
4913
4914 2017-11-06 Martin Liska <mliska (a] suse.cz>
4915
4916 * testsuite/libgomp.c++/loop-2.C: Return a value
4917 for functions with non-void return type, or change type to void,
4918 or add -Wno-return-type for test.
4919 * testsuite/libgomp.c++/loop-4.C: Likewise.
4920 * testsuite/libgomp.c++/parallel-1.C: Likewise.
4921 * testsuite/libgomp.c++/shared-1.C: Likewise.
4922 * testsuite/libgomp.c++/single-1.C: Likewise.
4923 * testsuite/libgomp.c++/single-2.C: Likewise.
4924
4925 2017-10-31 Tom de Vries <tom (a] codesourcery.com>
4926
4927 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4928 "do {} while (false)".
4929 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4930 after HSA_DEBUG call.
4931
4932 2017-10-28 Jakub Jelinek <jakub (a] redhat.com>
4933
4934 * target.c (struct gomp_coalesce_buf): New type.
4935 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4936 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4937 (gomp_copy_host2dev): Add CBUF argument, if copying into
4938 the cached ranges, memcpy into buffer instead of copying
4939 into device.
4940 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4941 Add CBUF argument, pass it through to other calls.
4942 (gomp_map_vars): Aggregate copies from host to device if small enough
4943 and with small enough gaps in between into memcpy into a buffer and
4944 fewer host to device copies from the buffer.
4945 (gomp_update): Adjust gomp_copy_host2dev caller.
4946
4947 2017-10-17 Thomas Schwinge <thomas (a] codesourcery.com>
4948
4949 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4950 run" directive.
4951 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4952 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4953 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4954 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4955
4956 2017-10-16 Tom de Vries <tom (a] codesourcery.com>
4957
4958 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4959 openacc_nvidia_accel_selected.
4960 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4961 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4962 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4963 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4964 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4965 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4966 openacc_nvidia_accel_selected. Skip for shared memory device.
4967 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4968 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4969
4970 2017-10-09 Martin Jambor <mjambor (a] suse.cz>
4971
4972 PR hsa/82416
4973 * testsuite/libgomp.hsa.c/pr82416.c: New test.
4974
4975 2017-10-07 Tom de Vries <tom (a] codesourcery.com>
4976
4977 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4978 Remove acc_device_nvidia references.
4979 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4980 Same.
4981
4982 2017-10-05 Tom de Vries <tom (a] codesourcery.com>
4983
4984 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4985 vector_length(32) clause from acc parallel directive.
4986 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4987
4988 2017-10-04 Tom de Vries <tom (a] codesourcery.com>
4989
4990 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4991 (main): Reduce sum of arr elements. Assert that hres is exactly
4992 representable in 32-bit floating point.
4993 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4994 (main): Reduce sum of arr elements. Assert that hres and hmres are
4995 exactly representable in 32-bit floating point.
4996 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4997
4998 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
4999
5000 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5001 setting.
5002 * testsuite/libgomp.c++/pr69393.C: Same.
5003 * testsuite/libgomp.c++/taskloop-1.C: Same.
5004 * testsuite/libgomp.c++/taskloop-3.C: Same.
5005 * testsuite/libgomp.c++/taskloop-4.C: Same.
5006 * testsuite/libgomp.c/for-4.c: Same.
5007 * testsuite/libgomp.c/pr66199-3.c: Same.
5008 * testsuite/libgomp.c/pr66199-4.c: Same.
5009 * testsuite/libgomp.c/pr66199-6.c: Same.
5010 * testsuite/libgomp.c/taskloop-1.c: Same.
5011 * testsuite/libgomp.c/taskloop-3.c: Same.
5012 * testsuite/libgomp.c/taskloop-4.c: Same.
5013 * testsuite/libgomp.fortran/aligned1.f03: Same.
5014 * testsuite/libgomp.fortran/condinc1.f: Same.
5015 * testsuite/libgomp.fortran/condinc3.f90: Same.
5016 * testsuite/libgomp.fortran/crayptr1.f90: Same.
5017 * testsuite/libgomp.fortran/crayptr2.f90: Same.
5018 * testsuite/libgomp.fortran/crayptr3.f90: Same.
5019 * testsuite/libgomp.fortran/omp_cond1.f: Same.
5020 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5021 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5022 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5023 * testsuite/libgomp.fortran/recursion1.f90: Same.
5024 * testsuite/libgomp.fortran/target2.f90: Same.
5025 * testsuite/libgomp.fortran/target5.f90: Same.
5026 * testsuite/libgomp.fortran/task3.f90: Same.
5027
5028 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
5029
5030 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5031 vector_length(32) clause from acc parallel directive.
5032 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5033
5034 2017-09-27 Tom de Vries <tom (a] codesourcery.com>
5035
5036 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5037 Remove acc_device_nvidia references.
5038
5039 2017-09-16 Tom de Vries <tom (a] codesourcery.com>
5040
5041 PR c/81875
5042 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5043
5044 2017-09-14 Tom de Vries <tom (a] codesourcery.com>
5045
5046 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5047 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5048 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5049 * testsuite/libgomp.c/c.exp: Include test-cases from
5050 libgomp.c-c++-common.
5051 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
5052 files.
5053
5054 2017-09-14 Jakub Jelinek <jakub (a] redhat.com>
5055
5056 PR c++/81314
5057 * testsuite/libgomp.c++/pr81314.C: New test.
5058
5059 2017-09-03 Gerald Pfeifer <gerald (a] pfeifer.com>
5060
5061 * libgomp.texi (Top): www.openacc.org now uses https.
5062 (Enabling OpenACC): Ditto.
5063 (acc_get_num_devices): Ditto.
5064 (acc_set_device_type): Ditto.
5065 (acc_get_device_type): Ditto.
5066 (acc_set_device_num): Ditto.
5067 (acc_get_device_num): Ditto.
5068 (acc_async_test): Ditto.
5069 (acc_async_test_all): Ditto.
5070 (acc_wait): Ditto.
5071 (acc_wait_all): Ditto.
5072 (acc_wait_all_async): Ditto.
5073 (acc_wait_async): Ditto.
5074 (acc_init): Ditto.
5075 (acc_shutdown): Ditto.
5076 (acc_on_device): Ditto.
5077 (acc_malloc): Ditto.
5078 (acc_free): Ditto.
5079 (acc_copyin): Ditto.
5080 (acc_present_or_copyin): Ditto.
5081 (acc_create): Ditto.
5082 (acc_present_or_create): Ditto.
5083 (acc_copyout): Ditto.
5084 (acc_delete): Ditto.
5085 (acc_update_device): Ditto.
5086 (acc_update_self): Ditto.
5087 (acc_map_data): Ditto.
5088 (acc_unmap_data): Ditto.
5089 (acc_deviceptr): Ditto.
5090 (acc_hostptr): Ditto.
5091 (acc_is_present): Ditto.
5092 (acc_memcpy_to_device): Ditto.
5093 (acc_memcpy_from_device): Ditto.
5094 (acc_get_current_cuda_device): Ditto.
5095 (acc_get_current_cuda_context): Ditto.
5096 (acc_get_cuda_stream): Ditto.
5097 (acc_set_cuda_stream): Ditto.
5098 (ACC_DEVICE_TYPE): Ditto.
5099 (ACC_DEVICE_NUM): Ditto.
5100 (OpenACC Library Interoperability): Ditto.
5101
5102 2017-08-09 Jakub Jelinek <jakub (a] redhat.com>
5103
5104 PR c/81687
5105 * testsuite/libgomp.c/pr81687-1.c: New test.
5106 * testsuite/libgomp.c/pr81687-2.c: New test.
5107
5108 2017-08-07 Jakub Jelinek <jakub (a] redhat.com>
5109
5110 PR c/69389
5111 * testsuite/libgomp.c/pr69389.c: New test.
5112 * testsuite/libgomp.c++/pr69389.C: New test.
5113
5114 2017-08-07 Tom de Vries <tom (a] codesourcery.com>
5115
5116 PR middle-end/78266
5117 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5118 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5119
5120 2017-07-27 Jakub Jelinek <jakub (a] redhat.com>
5121
5122 PR c/45784
5123 * testsuite/libgomp.c/pr45784.c: New test.
5124 * testsuite/libgomp.c++/pr45784.C: New test.
5125
5126 2017-07-19 Tom de Vries <tom (a] codesourcery.com>
5127
5128 * testsuite/libgomp.oacc-c/vec.c: New test.
5129
5130 2017-07-03 Tom de Vries <tom (a] codesourcery.com>
5131
5132 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5133
5134 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
5135
5136 * plugin/plugin-nvptx.c (notify_var): New function.
5137 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5138
5139 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
5140
5141 * env.c (parse_unsigned_long_1): Factor out of ...
5142 (parse_unsigned_long): ... here.
5143 (parse_int_1): Factor out of ...
5144 (parse_int): ... here.
5145 (parse_int_secure): New function.
5146 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5147 * secure_getenv.h: Factor out of ...
5148 * plugin/plugin-hsa.c: ... here.
5149 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5150
5151 2017-06-21 Jakub Jelinek <jakub (a] redhat.com>
5152
5153 PR c++/81130
5154 * testsuite/libgomp.c++/pr81130.C: New test.
5155
5156 2017-06-17 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5157
5158 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5159 default args.
5160 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5161 dg-xfail-run-if default args.
5162
5163 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de>
5164
5165 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5166 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5167
5168 2017-05-30 Jakub Jelinek <jakub (a] redhat.com>
5169
5170 PR libgomp/80822
5171 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5172 (gomp_affinity_init_level): Use it. Always analyze the core and thread
5173 sibling lists, depending on level just pick up what CPUs to put
5174 together into a place vs. whether add multiple ordered places.
5175
5176 2017-05-24 Thomas Schwinge <thomas (a] codesourcery.com>
5177
5178 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5179 * libgomp.map (OACC_2.0.1): Add these.
5180 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5181 for "acc_wait", and "acc_wait_all", respectively.
5182 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5183 for "acc_wait", and "acc_wait_all", respectively.
5184 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5185 * libgomp.texi (acc_wait, acc_wait_all): Update.
5186 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5187 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5188 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5189
5190 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5191 acc_present_or_copyin and acc_present_or_create procedures,
5192 respectively.
5193 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5194 generally different variants of OpenACC Runtime Library functions.
5195 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5196
5197 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5198 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5199
5200 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5201 of preprocessor definitions.
5202 * libgomp.h (strong_alias): Guard by "#ifdef
5203 HAVE_ATTRIBUTE_ALIAS".
5204 * oacc-mem.c: Provide "acc_pcreate" as alias for
5205 "acc_present_or_create", and "acc_pcopyin" as alias for
5206 "acc_present_or_copyin".
5207 * libgomp.map: New version "OACC_2.0.1".
5208 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5209 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5210 its content into...
5211 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5212 Extend testing.
5213
5214 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5215 when disabling nvptx offloading.
5216
5217 2017-05-23 Thomas Schwinge <thomas (a] codesourcery.com>
5218
5219 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5220 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5221 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5222
5223 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5224 * testsuite/lib/libgomp.exp
5225 (check_effective_target_openacc_nvidia_accel_configured): New
5226 proc.
5227 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5228 (check_effective_target_c++): New procs.
5229 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5230 (check_effective_target_c++): Likewise.
5231
5232 2017-05-22 Jakub Jelinek <jakub (a] redhat.com>
5233
5234 PR middle-end/80809
5235 * testsuite/libgomp.c/pr80809-2.c: New test.
5236 * testsuite/libgomp.c/pr80809-3.c: New test.
5237
5238 PR middle-end/80809
5239 * testsuite/libgomp.c/pr80809-1.c: New test.
5240
5241 PR middle-end/80853
5242 * testsuite/libgomp.c/pr80853.c: New test.
5243
5244 2017-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
5245
5246 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5247 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5248 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5249 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5250 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5251
5252 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5253 Debug output for failure.
5254
5255 2017-05-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5256
5257 * testsuite/lib/libgomp.exp: Load scanlang.exp.
5258
5259 2017-04-27 Jakub Jelinek <jakub (a] redhat.com>
5260
5261 PR bootstrap/80531
5262 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5263 bootstrap compare failures.
5264
5265 2017-04-20 Alexander Monakov <amonakov (a] ispras.ru>
5266
5267 * testsuite/libgomp.c/target-36.c: New testcase.
5268
5269 2017-04-13 Jakub Jelinek <jakub (a] redhat.com>
5270
5271 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5272 instead of char.
5273
5274 2017-04-11 Jakub Jelinek <jakub (a] redhat.com>
5275
5276 PR libgomp/80394
5277 * testsuite/libgomp.c/pr80394.c: New test.
5278
5279 2017-04-04 Jakub Jelinek <jakub (a] redhat.com>
5280
5281 PR libgomp/79876
5282 * config/posix/thread-stacksize.h: New file.
5283 * config/darwin/thread-stacksize.h: New file.
5284 * config/nvptx/thread-stacksize.h: New file.
5285 * env.c: Include thread-stacksize.h.
5286 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5287 instead of 0. Call pthread_attr_setstacksize even if
5288 GOMP_DEFAULT_STACKSIZE is non-zero.
5289
5290 2017-03-30 Jakub Jelinek <jakub (a] redhat.com>
5291
5292 * env.c (initialize_env): Initialize stacksize to 0.
5293
5294 2017-03-22 Cesar Philippidis <cesar (a] codesourcery.com>
5295
5296 PR c++/80029
5297 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5298
5299 2017-03-08 Jakub Jelinek <jakub (a] redhat.com>
5300
5301 PR c/79940
5302 * testsuite/libgomp.c/pr79940.c: New test.
5303
5304 2017-02-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5305
5306 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5307 targets.
5308 Add __float128 options.
5309
5310 2017-02-11 John David Anglin <danglin (a] gcc.gnu.org>
5311
5312 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5313 hppa*-*-* dg-skip-if directive.
5314
5315 2017-02-09 Jakub Jelinek <jakub (a] redhat.com>
5316
5317 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5318 dg-skip-if directive into a comment.
5319
5320 2017-02-09 Nathan Sidwell <nathan (a] codesourcery.com>
5321 Chung-Lin Tang <cltang (a] codesourcery.com>
5322
5323 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5324 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5325 add additional case.
5326 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5327 "openacc_nvidia_accel_selected".
5328 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5329 Add num_workers(8) clause.
5330
5331 2017-02-08 John David Anglin <danglin (a] gcc.gnu.org>
5332
5333 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5334 hppa*-*-*.
5335 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5336 include complex.h on hppa*-*-hpux*.
5337 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5338
5339 2017-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
5340
5341 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5342
5343 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5344 GOMP_OFFLOAD_openacc_exec. Adjust all users.
5345 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5346 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
5347 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5348 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
5349 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5350 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
5351 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5352 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
5353
5354 2017-01-31 Thomas Schwinge <thomas (a] codesourcery.com>
5355
5356 * libgomp-plugin.h: #include <stdbool.h>.
5357 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5358 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5359 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5360 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5361 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5362 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5363 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5364 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5365 (GOMP_OFFLOAD_openacc_register_async_cleanup)
5366 (GOMP_OFFLOAD_openacc_async_test)
5367 (GOMP_OFFLOAD_openacc_async_test_all)
5368 (GOMP_OFFLOAD_openacc_async_wait)
5369 (GOMP_OFFLOAD_openacc_async_wait_async)
5370 (GOMP_OFFLOAD_openacc_async_wait_all)
5371 (GOMP_OFFLOAD_openacc_async_wait_all_async)
5372 (GOMP_OFFLOAD_openacc_async_set_async)
5373 (GOMP_OFFLOAD_openacc_create_thread_data)
5374 (GOMP_OFFLOAD_openacc_destroy_thread_data)
5375 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5376 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5377 (GOMP_OFFLOAD_openacc_get_cuda_stream)
5378 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5379 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5380 these.
5381 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5382 (GOMP_OFFLOAD_unload_image): Fix argument types.
5383
5384 2017-01-26 Jakub Jelinek <jakub (a] redhat.com>
5385
5386 * testsuite/lib/libgomp.exp
5387 (check_effective_target_hsa_offloading_selected_nocache): Fix up
5388 check_compile invocation. Fix up removal of executable. Drop
5389 bogus "2>&1" argument.
5390
5391 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5392 directive.
5393
5394 2017-01-24 Pekka Jskelinen <pekka (a] parmance.com>
5395 Martin Jambor <mjambor (a] suse.cz>
5396
5397 * plugin/hsa.h: Moved to top level include.
5398 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5399
5400 2017-01-21 Jakub Jelinek <jakub (a] redhat.com>
5401
5402 PR other/79046
5403 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5404 of cat to get version from BASE-VER file.
5405 * testsuite/Makefile.in: Regenerated.
5406
5407 2017-01-19 Jakub Jelinek <jakub (a] redhat.com>
5408
5409 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
5410 for _WIN64.
5411
5412 2017-01-17 Jakub Jelinek <jakub (a] redhat.com>
5413
5414 * plugin/hsa.h: Add GCC runtime library exception.
5415 * plugin/hsa_ext_finalize.h: Likewise.
5416
5417 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
5418 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
5419 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
5420 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
5421 plugin/include/cuda as include dir and -ldl instead of -lcuda as
5422 library to link ptx plugin against.
5423 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
5424 (CUDA_CALLS): Define.
5425 (cuda_lib, cuda_lib_inited): New variables.
5426 (init_cuda_lib): New function.
5427 (CUDA_CALL_PREFIX): Define.
5428 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5429 (CUDA_CALL): Use FN instead of (FN).
5430 (CUDA_CALL_NOCHECK): Define.
5431 (cuda_error, fini_streams_for_device, select_stream_for_async,
5432 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5433 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5434 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5435 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5436 CUDA_CALL_NOCHECK.
5437 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
5438 CUDA_CALL_NOCHECK.
5439 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5440 Use CUDA_CALL_NOCHECK.
5441 * plugin/cuda/cuda.h: New file.
5442 * config.h.in: Regenerated.
5443 * configure: Regenerated.
5444
5445 PR other/79046
5446 * configure.ac: Add GCC_BASE_VER.
5447 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5448 get version from BASE-VER file.
5449 * testsuite/Makefile.in: Regenerated.
5450 * configure: Regenerated.
5451 * Makefile.in: Regenerated.
5452
5453 2017-01-09 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
5454
5455 PR libgomp/60670
5456 * Makefile.am: Make fincludedir multilib-aware.
5457 * Makefile.in: Regenerate.
5458
5459 2017-01-01 Jakub Jelinek <jakub (a] redhat.com>
5460
5461 Update copyright years.
5462
5463 * libgomp.texi: Bump @copying's copyright year.
5464
5465 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
5466
5467 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5468 pthread_spinlock_t instead of gomp_mutex_t lock.
5469 (gomp_get_thread_pool): Likewise.
5470 (gomp_release_thread_pool): Likewise.
5471 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5472 Likewise.
5473
5474 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
5475
5476 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5477 thread pool in case nthreads == 1.
5478
5479 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
5480
5481 * config/nvptx/env.c: Delete.
5482 * icv.c: Move definitions of ICV variables back ...
5483 * env.c: ...here. Do not compile environment-related functionality if
5484 LIBGOMP_OFFLOADED_ONLY is set.
5485
5486 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
5487
5488 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5489 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5490 * configure: Regenerate.
5491 * config.h.in: Likewise.
5492
5493 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
5494
5495 * Makefile.in: Regenerate with automake-1.11.6.
5496 * aclocal.m4: Likewise.
5497 * configure: Likewise.
5498 * testsuite/Makefile.in: Likewise.
5499
5500 2016-11-28 Alexander Monakov <amonakov (a] ispras.ru>
5501
5502 * config/nvptx/critical.c: Delete to use generic implementation.
5503
5504 2016-11-28 Jonas Hahnfeld <Hahnfeld (a] itc.rwth-aachen.de>
5505
5506 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5507 ../../affinity.c as fallback.
5508 * config/nvptx/affinity.c: Delete to use fallback implementation.
5509
5510 2016-11-23 Alexander Monakov <amonakov (a] ispras.ru>
5511 Jakub Jelinek <jakub (a] redhat.com>
5512 Dmitry Melnik <dm (a] ispras.ru>
5513
5514 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5515 * Makefile.in. Regenerate.
5516 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5517 (LIBGOMP_USE_PTHREADS): ...here; new define.
5518 * configure: Regenerate.
5519 * config.h.in: Likewise.
5520 * config/posix/affinity.c: Move to...
5521 * affinity.c: ...here (new file). Guard use of Pthreads-specific
5522 interface by LIBGOMP_USE_PTHREADS.
5523 * critical.c: Split out GOMP_atomic_{start,end} into...
5524 * atomic.c: ...here (new file).
5525 * env.c: Split out ICV definitions into...
5526 * icv.c: ...here (new file) and...
5527 * icv-device.c: ...here. New file.
5528 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5529 (gomp_destroy_lock_30): Ditto.
5530 (gomp_set_lock_30): Ditto.
5531 (gomp_unset_lock_30): Ditto.
5532 (gomp_test_lock_30): Ditto.
5533 (gomp_init_nest_lock_30): Ditto.
5534 (gomp_destroy_nest_lock_30): Ditto.
5535 (gomp_set_nest_lock_30): Ditto.
5536 (gomp_unset_nest_lock_30): Ditto.
5537 (gomp_test_nest_lock_30): Ditto.
5538 * lock.c: New.
5539 * config/nvptx/lock.c: New.
5540 * config/nvptx/bar.c: New.
5541 * config/nvptx/bar.h: New.
5542 * config/nvptx/doacross.h: New.
5543 * config/nvptx/error.c: New.
5544 * config/nvptx/icv-device.c: New.
5545 * config/nvptx/mutex.h: New.
5546 * config/nvptx/pool.h: New.
5547 * config/nvptx/proc.c: New.
5548 * config/nvptx/ptrlock.h: New.
5549 * config/nvptx/sem.h: New.
5550 * config/nvptx/simple-bar.h: New.
5551 * config/nvptx/target.c: New.
5552 * config/nvptx/task.c: New.
5553 * config/nvptx/team.c: New.
5554 * config/nvptx/time.c: New.
5555 * config/posix/simple-bar.h: New.
5556 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
5557 (gomp_num_teams_var): Declare.
5558 (struct gomp_thread_pool): Change threads_dock member to
5559 gomp_simple_barrier_t.
5560 [__nvptx__] (gomp_thread): New implementation.
5561 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5562 (gomp_thread_destructor): Ditto.
5563 (gomp_init_thread_affinity): Ditto.
5564 * team.c: Guard uses of Pthreads-specific interfaces by
5565 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
5566 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
5567 * config/nvptx/alloc.c: Delete.
5568 * config/nvptx/barrier.c: Ditto.
5569 * config/nvptx/fortran.c: Ditto.
5570 * config/nvptx/iter.c: Ditto.
5571 * config/nvptx/iter_ull.c: Ditto.
5572 * config/nvptx/loop.c: Ditto.
5573 * config/nvptx/loop_ull.c: Ditto.
5574 * config/nvptx/ordered.c: Ditto.
5575 * config/nvptx/parallel.c: Ditto.
5576 * config/nvptx/priority_queue.c: Ditto.
5577 * config/nvptx/sections.c: Ditto.
5578 * config/nvptx/single.c: Ditto.
5579 * config/nvptx/splay-tree.c: Ditto.
5580 * config/nvptx/work.c: Ditto.
5581 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5582 -foffload=-lgfortran in addition to -lgfortran.
5583 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5584 * plugin/plugin-nvptx.c: Include <limits.h>.
5585 (struct targ_fn_descriptor): Add new fields.
5586 (struct ptx_device): Ditto. Set them...
5587 (nvptx_open_device): ...here.
5588 (nvptx_adjust_launch_bounds): New.
5589 (nvptx_host2dev): Allow NULL 'nvthd'.
5590 (nvptx_dev2host): Ditto.
5591 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5592 (link_ptx): Adjust log sizes.
5593 (nvptx_host2dev): Allow NULL 'nvthd'.
5594 (nvptx_dev2host): Ditto.
5595 (nvptx_set_clocktick): New. Use it...
5596 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
5597 fields.
5598 (GOMP_OFFLOAD_dev2dev): New.
5599 (nvptx_adjust_launch_bounds): New.
5600 (nvptx_stacks_size): New.
5601 (nvptx_stacks_alloc): New.
5602 (nvptx_stacks_free): New.
5603 (GOMP_OFFLOAD_run): New.
5604 (GOMP_OFFLOAD_async_run): New (stub).
5605
5606 2016-11-23 Martin Jambor <mjambor (a] suse.cz>
5607
5608 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
5609 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5610 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5611
5612 2016-11-23 Martin Liska <mliska (a] suse.cz>
5613 Martin Jambor <mjambor (a] suse.cz>
5614
5615 * plugin/hsa.h: New file.
5616 * plugin/hsa_ext_finalize.h: New file.
5617 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
5618 header file unistd.h, and functions secure_getenv, __secure_getenv,
5619 getuid, geteuid, getgid and getegid.
5620 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5621 -D_GNU_SOURCE.
5622 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5623 Handle various cases of secure_getenv presence, add an implementation
5624 when we can test effective UID and GID.
5625 (struct hsa_runtime_fn_info): New structure.
5626 (hsa_runtime_fn_info hsa_fns): New variable.
5627 (hsa_runtime_lib): Likewise.
5628 (support_cpu_devices): Likewise.
5629 (init_enviroment_variables): Load newly introduced ENV
5630 variables.
5631 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
5632 (hsa_fatal): Likewise.
5633 (DLSYM_FN): New macro.
5634 (init_hsa_runtime_functions): New function.
5635 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5636 structure. Depending on environment, also allow CPU devices.
5637 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5638 (get_kernarg_memory_region): Likewise.
5639 (GOMP_OFFLOAD_init_device): Likewise.
5640 (destroy_hsa_program): Likewise.
5641 (init_basic_kernel_info): New function.
5642 (GOMP_OFFLOAD_load_image): Use it.
5643 (create_and_finalize_hsa_program): Call hsa run-time functions via
5644 hsa_fns structure.
5645 (create_single_kernel_dispatch): Likewise.
5646 (release_kernel_dispatch): Likewise.
5647 (init_single_kernel): Likewise.
5648 (parse_target_attributes): Allow up multiple HSA grid dimensions.
5649 (get_group_size): New function.
5650 (run_kernel): Likewise.
5651 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5652 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5653 structure.
5654 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5655 * testsuite/libgomp-test-support.exp.in: Likewise.
5656 * Makefile.in: Regenerated.
5657 * aclocal.m4: Likewise.
5658 * config.h.in: Likewise.
5659 * configure: Likewise.
5660 * testsuite/Makefile.in: Likewise.
5661
5662 2016-11-15 Martin Jambor <mjambor (a] suse.cz>
5663 Alexander Monakov <amonakov (a] ispras.ru>
5664
5665 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5666 mapping clauses to target constructs.
5667 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5668
5669 2016-11-15 Matthias Klose <doko (a] ubuntu.com>
5670
5671 * configure: Regenerate.
5672
5673 2016-11-10 Jakub Jelinek <jakub (a] redhat.com>
5674
5675 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5676 * omp_lib.h.in (openmp_version): Likewise.
5677 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5678 of 201307.
5679 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5680
5681 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5682 (fib_wrapper): Add map(from: x) clause.
5683 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5684 (e_53_2): Likewise.
5685 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5686 (accum): Add map(tmp) clause.
5687 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5688 (accum): Add map(tofrom: tmp) clause.
5689 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
5690 (gramSchmidt): Likewise.
5691 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5692 map(tofrom: sum) clause.
5693 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5694 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
5695 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5696 only allowed on the loop iterator.
5697 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5698 * testsuite/libgomp.fortran/taskloop2.f90: New test.
5699 * testsuite/libgomp.fortran/taskloop4.f90: New test.
5700 * testsuite/libgomp.fortran/doacross1.f90: New test.
5701 * testsuite/libgomp.fortran/doacross3.f90: New test.
5702 * testsuite/libgomp.fortran/taskloop1.f90: New test.
5703 * testsuite/libgomp.fortran/taskloop3.f90: New test.
5704 * testsuite/libgomp.fortran/doacross2.f90: New test.
5705 * testsuite/libgomp.c/doacross-1.c (main): Add missing
5706 #pragma omp atomic read.
5707 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5708 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
5709
5710 2016-11-02 Cesar Philippidis <cesar (a] codesourcery.com>
5711 Nathan Sidwell <nathan (a] acm.org>
5712
5713 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5714 to determine default geometry.
5715 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5716 dimension.
5717
5718 2016-11-01 Jakub Jelinek <jakub (a] redhat.com>
5719
5720 * hashtab.h: Use standard GPLv3 with runtime exception
5721 boilerplate.
5722
5723 2016-10-27 Aldy Hernandez <aldyh (a] redhat.com>
5724
5725 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5726 size when allocating new thread.
5727
5728 2016-09-14 Marek Polacek <polacek (a] redhat.com>
5729
5730 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5731
5732 2016-08-19 Jakub Jelinek <jakub (a] redhat.com>
5733
5734 PR fortran/71014
5735 * testsuite/libgomp.fortran/pr71014.f90: New test.
5736
5737 2016-08-18 Chung-Lin Tang <cltang (a] codesourcery.com>
5738
5739 PR middle-end/70895
5740 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5741 firstprivate clauses.
5742 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5743 copy clauses.
5744 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5745 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5746 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5747 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5748 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5749 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5750 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5751 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5752 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5753 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5754 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5755 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5756
5757 2016-08-14 Chung-Lin Tang <cltang (a] codesourcery.com>
5758
5759 PR fortran/70598
5760 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5761
5762 2016-08-08 Jakub Jelinek <jakub (a] redhat.com>
5763
5764 PR c++/58706
5765 * testsuite/libgomp.c++/pr58706.C: New test.
5766
5767 2016-08-04 Thomas Schwinge <thomas (a] codesourcery.com>
5768
5769 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5770 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5771 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5772 Likewise.
5773 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5774 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5775 Likewise.
5776 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5777
5778 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5779 test, and don't hardcode -O0.
5780
5781 2016-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
5782
5783 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5784
5785 2016-07-15 Cesar Philippidis <cesar (a] codesourcery.com>
5786
5787 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5788 test.
5789
5790 2016-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
5791
5792 PR middle-end/71734
5793 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
5794 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5795
5796 2016-07-01 Jakub Jelinek <jakub (a] redhat.com>
5797
5798 PR fortran/71717
5799 * testsuite/libgomp.fortran/associate3.f90: New test.
5800
5801 2016-06-17 Jakub Jelinek <jakub (a] redhat.com>
5802
5803 * testsuite/libgomp.c++/target-21.C: New test.
5804
5805 2016-06-16 Jakub Jelinek <jakub (a] redhat.com>
5806
5807 * testsuite/libgomp.c++/target-20.C: New test.
5808
5809 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
5810 Cesar Philippidis <cesar (a] codesourcery.com>
5811
5812 PR middle-end/71373
5813 * libgomp.oacc-c/nested-function-1.c: New file.
5814 * libgomp.oacc-c/nested-function-2.c: Likewise.
5815 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5816 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5817 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5818
5819 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
5820
5821 PR c/71381
5822 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5823 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5824 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5825
5826 2016-06-03 Chung-Lin Tang <cltang (a] codesourcery.com>
5827
5828 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5829 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5830
5831 2016-06-01 Cesar Philippidis <cesar (a] codesourcery.com>
5832
5833 PR c/70688
5834 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
5835
5836 2016-05-26 Jakub Jelinek <jakub (a] redhat.com>
5837
5838 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5839 instead of invalid schedule(static, 0).
5840 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
5841
5842 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
5843
5844 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5845 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5846 parameter, use to set async stream around call to gomp_unmap_vars,
5847 call gomp_unmap_vars() with 'do_copyfrom' set to true.
5848 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5849 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5850 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5851 (event_add): Add int parameter, initialize 'val' field when
5852 adding new ptx_event struct.
5853 (nvptx_evec): Adjust event_add() call arguments.
5854 (nvptx_host2dev): Likewise.
5855 (nvptx_dev2host): Likewise.
5856 (nvptx_wait_async): Likewise.
5857 (nvptx_wait_all_async): Likewise.
5858 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5859 pass to event_add() call.
5860 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5861 parameter.
5862 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5863 call openacc.register_async_cleanup_func() hook.
5864 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5865 * target.c (gomp_copy_from_async): Delete function.
5866 (gomp_map_vars): Remove async_refcount.
5867 (gomp_unmap_vars): Likewise.
5868 (gomp_load_image_to_device): Likewise.
5869 (omp_target_associate_ptr): Likewise.
5870 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5871 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5872 (gomp_copy_from_async): Remove.
5873
5874 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
5875
5876 * target.c (gomp_device_copy): New function.
5877 (gomp_copy_host2dev): Likewise.
5878 (gomp_copy_dev2host): Likewise.
5879 (gomp_free_device_memory): Likewise.
5880 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5881 (gomp_map_pointer): Likewise.
5882 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5883 NULL value from alloc_func plugin hook.
5884 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5885 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5886 (gomp_unmap_vars): Likewise.
5887 (gomp_update): Adjust to call gomp_copy_dev2host and
5888 gomp_copy_host2dev functions.
5889 (gomp_unload_image_from_device): Handle false value from
5890 unload_image_func plugin hook.
5891 (gomp_init_device): Handle false value from init_device_func
5892 plugin hook.
5893 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
5894 (omp_target_free): Adjust to call gomp_free_device_memory.
5895 (omp_target_memcpy): Handle return values from host2dev_func,
5896 dev2host_func, and dev2dev_func plugin hooks.
5897 (omp_target_memcpy_rect_worker): Likewise.
5898 (gomp_target_fini): Handle false value from fini_device_func
5899 plugin hook.
5900 * libgomp.h (struct gomp_device_descr): Adjust return type of
5901 init_device_func, fini_device_func, unload_image_func, free_func,
5902 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5903 * oacc-init.c (acc_shutdown_1): Handle false value from
5904 fini_device_func plugin hook.
5905 * oacc-host.c (host_init_device): Change return type to bool.
5906 (host_fini_device): Likewise.
5907 (host_unload_image): Likewise.
5908 (host_free): Likewise.
5909 (host_dev2host): Likewise.
5910 (host_host2dev): Likewise.
5911 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5912 (acc_memcpy_to_device): Likewise.
5913 (acc_memcpy_from_device): Likewise.
5914 (delete_copyout): Add libfnname parameter, handle free_func
5915 hook fatal error case.
5916 (acc_delete): Adjust delete_copyout call.
5917 (acc_copyout): Likewise.
5918 (update_dev_host): Move gomp_mutex_unlock to after
5919 host2dev/dev2host hook calls.
5920
5921 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5922 to 'hsa_error_msg', for clarity.
5923 (hsa_fatal): Likewise.
5924 (hsa_error): New function.
5925 (init_hsa_context): Change return type to bool, adjust to return
5926 false on error.
5927 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5928 return value.
5929 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5930 return false on error.
5931 (get_agent_info): Adjust to return NULL on error.
5932 (destroy_hsa_program): Change return type to bool, adjust to
5933 return false on error.
5934 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5935 (destroy_module): Change return type to bool, adjust to
5936 return false on error.
5937 (GOMP_OFFLOAD_unload_image): Likewise.
5938 (GOMP_OFFLOAD_fini_device): Likewise.
5939 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
5940 (GOMP_OFFLOAD_free): Change to return false when called.
5941 (GOMP_OFFLOAD_dev2host): Likewise.
5942 (GOMP_OFFLOAD_host2dev): Likewise.
5943 (GOMP_OFFLOAD_dev2dev): Likewise.
5944
5945 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5946 (CUDA_CALL): Likewise.
5947 (CUDA_CALL_ASSERT): Likewise.
5948 (map_init): Change return type to bool, use CUDA_CALL* macros.
5949 (map_fini): Likewise.
5950 (init_streams_for_device): Change return type to bool, adjust
5951 call to map_init.
5952 (fini_streams_for_device): Change return type to bool, adjust
5953 call to map_fini.
5954 (select_stream_for_async): Release stream_lock before calls to
5955 GOMP_PLUGIN_fatal, adjust call to map_init.
5956 (nvptx_init): Use CUDA_CALL* macros.
5957 (nvptx_attach_host_thread_to_device): Change return type to bool,
5958 use CUDA_CALL* macros.
5959 (nvptx_open_device): Use CUDA_CALL* macros.
5960 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
5961 macros.
5962 (nvptx_get_num_devices): Use CUDA_CALL* macros.
5963 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
5964 (nvptx_exec): Use CUDA_CALL* macros.
5965 (nvptx_alloc): Use CUDA_CALL* macros.
5966 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5967 (nvptx_host2dev): Likewise.
5968 (nvptx_dev2host): Likewise.
5969 (nvptx_wait): Use CUDA_CALL* macros.
5970 (nvptx_wait_async): Likewise.
5971 (nvptx_wait_all): Likewise.
5972 (nvptx_wait_all_async): Likewise.
5973 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5974 use CUDA_CALL* macros, adjust call to map_fini.
5975 (GOMP_OFFLOAD_init_device): Change return type to bool,
5976 adjust code accordingly.
5977 (GOMP_OFFLOAD_fini_device): Likewise.
5978 (GOMP_OFFLOAD_load_image): Adjust calls to
5979 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5980 use CUDA_CALL* macros.
5981 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5982 return code.
5983 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5984 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5985 handle error return.
5986 (GOMP_OFFLOAD_dev2host): Likewise.
5987 (GOMP_OFFLOAD_host2dev): Likewise.
5988 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5989 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5990
5991 2016-05-24 Cesar Philippidis <cesar (a] codesourcery.com>
5992
5993 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5994 (acc_free): Likewise.
5995 (acc_memcpy_to_device): Likewise.
5996 (acc_memcpy_from_device): Likewise.
5997 (acc_deviceptr): Likewise.
5998 (acc_hostptr): Likewise.
5999 (acc_is_present): Likewise.
6000 (acc_map_data): Likewise.
6001 (acc_unmap_data): Likewise.
6002 (present_create_copy): Likewise.
6003 (delete_copyout): Likewise.
6004 (update_dev_host): Likewise.
6005 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6006 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6007 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6008 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6009 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6010 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6011 it only runs on nvptx targets.
6012 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6013 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6014 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6015 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6016 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6017 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6018 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6019 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6020 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6021 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6022 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6023 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6024 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6025 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6026 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6027 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6028 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6030 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6032 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6034 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6035
6036 2016-05-23 Martin Jambor <mjambor (a] suse.cz>
6037
6038 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6039
6040 2016-05-17 Chung-Lin Tang <cltang (a] codesourcery.com>
6041
6042 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6043 to gomp_init_targets_once.
6044 (acc_set_device_type): Remove !cached_base_dev condition on call to
6045 gomp_init_targets_once, move call to before acc_device_lock acquire,
6046 to avoid deadlock.
6047 (acc_get_device_num): Remove !cached_base_dev condition on call to
6048 gomp_init_targets_once.
6049 (acc_set_device_num): Likewise.
6050
6051 2016-05-16 Martin Jambor <mjambor (a] suse.cz>
6052
6053 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
6054
6055 2016-05-02 Nathan Sidwell <nathan (a] codesourcery.com>
6056
6057 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6058 expected partitioning.
6059
6060 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com>
6061
6062 PR middle-end/70626
6063 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6064 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6065 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6066
6067 2016-04-21 Alexander Monakov <amonakov (a] ispras.ru>
6068
6069 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6070 non-fatal.
6071
6072 2016-04-19 Jakub Jelinek <jakub (a] redhat.com>
6073
6074 PR middle-end/70680
6075 * testsuite/libgomp.c/pr70680-1.c: New test.
6076 * testsuite/libgomp.c/pr70680-2.c: New test.
6077
6078 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
6079
6080 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6081 pass parameter variables to subroutines.
6082
6083 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
6084
6085 PR middle-end/70643
6086 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6087
6088 2016-04-13 Cesar Philippidis <cesar (a] codesourcery.com>
6089
6090 PR testsuite/68242
6091 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6092 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6093
6094 2016-04-12 Thomas Schwinge <thomas (a] codesourcery.com>
6095
6096 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6097 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6098 GOACC_declare prototype.
6099
6100 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6101 Merge this file, and...
6102 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6103 ... this file, and...
6104 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6105 ... this file, and...
6106 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6107 ... this file, and...
6108 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6109 ... this file, and...
6110 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6111 ... this file, and...
6112 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6113 ... this file, and...
6114 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6115 ... this file, and...
6116 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6117 ... this file, and...
6118 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6119 ... this file, and...
6120 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6121 ... this file, and...
6122 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6123 ... this file, and...
6124 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6125 ... this file into...
6126 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6127 file.
6128
6129 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6130 Make failure observable.
6131
6132 2016-04-12 Jakub Jelinek <jakub (a] redhat.com>
6133
6134 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6135 field.
6136 * target.c (gomp_target_fallback_firstprivate,
6137 gomp_target_unshare_firstprivate): Removed.
6138 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6139 before waiting for dependencies.
6140 (gomp_target_task_fn): Don't copy firstprivate vars here.
6141 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6142 firstprivate_copies here.
6143 (gomp_create_target_task): Don't initialize firstprivate_copies field.
6144 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6145 explicit/implicit firstprivate.
6146
6147 2016-04-08 Cesar Philippidis <cesar (a] codesourcery.com>
6148
6149 PR lto/70289
6150 PR ipa/70348
6151 PR tree-optimization/70373
6152 PR middle-end/70533
6153 PR middle-end/70534
6154 PR middle-end/70535
6155 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6156 test.
6157 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6158 test.
6159 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6160 test.
6161 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6162 test.
6163 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6164 test.
6165 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6166 test.
6167 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6168 test.
6169 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6170 test.
6171 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6172 test.
6173 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6174 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6175 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6176 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6177 test.
6178 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6179 test.
6180 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6181 test.
6182 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6183 test.
6184 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6185 coverage.
6186 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6187 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6188 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6189 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6190 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6191 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6192 coverage.
6193 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6194 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6195 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6196 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6197 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6198 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6199 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6200 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6201 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6202 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6203 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6204 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6205 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6206 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6207 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6208
6209 2016-03-30 Thomas Schwinge <thomas (a] codesourcery.com>
6210 James Norris <jnorris (a] codesourcery.com>
6211 Nathan Sidwell <nathan (a] codesourcery.com>
6212 Julian Brown <julian (a] codesourcery.com>
6213 Cesar Philippidis <cesar (a] codesourcery.com>
6214 Chung-Lin Tang <cltang (a] codesourcery.com>
6215 Tom de Vries <tom (a] codesourcery.com>
6216
6217 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6218 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6219 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6220 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6221 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6222 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6223 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6224 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6225 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6226 XFAIL.
6227 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6228 Incorporate...
6229 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6230 file.
6231 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6232 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6233 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6234 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6235 Likewise.
6236 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6237 Likewise.
6238 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6239 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6240 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6241 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6242 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6243 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6244 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6245 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6246 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6247 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6248 Likewise.
6249 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6250 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6251 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6252 file...
6253 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6254 file into...
6255 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6256 file. Update.
6257 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6258 file.
6259 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6260 Likewise.
6261 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6262 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6263 ... this new file. Update.
6264 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6265 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6266 ... this new file. Update.
6267 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6268 file. Incorporate...
6269 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6270 file, and...
6271 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6272 file, and...
6273 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6274 file.
6275 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6276
6277 2016-03-29 Thomas Schwinge <thomas (a] codesourcery.com>
6278
6279 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6280 set-torture-options.
6281
6282 2016-03-24 Thomas Schwinge <thomas (a] codesourcery.com>
6283
6284 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6285 gcc-dg-runtest.
6286 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6287 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6288 -fno-builtin-acc_on_device instead of -O0.
6289 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6290 -O0.
6291 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6292 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6293 Likewise.
6294 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6295 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6296 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6297 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6298 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6299 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6300 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6301 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6302 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6303 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6304 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6305 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6306 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6307 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6308 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6309 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6310 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6311 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6312 Don't specify -O2.
6313 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6314 Likewise.
6315 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6316 Likewise.
6317
6318 2016-03-24 Martin Liska <mliska (a] suse.cz>
6319
6320 * plugin/plugin-hsa.c (packet_store_release): New function
6321 that is taken from the HSA runtime manual.
6322 (GOMP_OFFLOAD_run): Use the function.
6323
6324 2016-03-23 Jakub Jelinek <jakub (a] redhat.com>
6325
6326 PR c++/70376
6327 * testsuite/libgomp.c++/pr70376.C: New test.
6328
6329 2016-03-23 Tom de Vries <tom (a] codesourcery.com>
6330
6331 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6332 initialization of lresult and lvresult.
6333 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6334
6335 2016-03-23 James Norris <jnorris (a] codesourcery.com>
6336 Daichi Fukuoka <dc-fukuoka (a] sgi.com>
6337
6338 PR libgomp/69414
6339 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6340 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6341 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6342 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6343
6344 2016-03-23 Martin Liska <mliska (a] suse.cz>
6345
6346 PR hsa/70337
6347 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6348 argument just in case a dispatched kernel uses that argument.
6349
6350 2016-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
6351
6352 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6353 -ftree-parallelize-loops/-fopenacc changes.
6354 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6355 Likewise.
6356 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6357 Likewise.
6358 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6359 Likewise.
6360 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6361 Likewise.
6362 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6363 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6364
6365 2016-03-13 Thomas Schwinge <thomas (a] codesourcery.com>
6366
6367 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6368 always_ld_library_path the path to libgcc_s.
6369
6370 2016-03-10 Cesar Philippidis <cesar (a] codesourcery.com>
6371
6372 PR testsuite/70009
6373 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6374
6375 2016-03-09 Tom de Vries <tom (a] codesourcery.com>
6376
6377 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6378 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6379 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6380 Same.
6381 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6382 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6383 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6384 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6385
6386 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
6387
6388 * testsuite/lib/libgomp.exp
6389 (check_effective_target_hsa_offloading_selected_nocache): New.
6390 (check_effective_target_hsa_offloading_selected): Likewise.
6391 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6392 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6393 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6394 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6395 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6396 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6397 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6398 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6399 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6400 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6401 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6402 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6403 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6404 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6405 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6406 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6407 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6408
6409 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
6410
6411 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
6412 non-shared memory accelerators.
6413 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
6414 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
6415 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
6416 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
6417 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6418 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6419 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6420 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6421 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6422
6423 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
6424
6425 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
6426 ALWAYS_CFLAGS.
6427
6428 2016-03-02 Jakub Jelinek <jakub (a] redhat.com>
6429
6430 PR libgomp/69555
6431 * testsuite/libgomp.c++/pr69555-1.C: New test.
6432 * testsuite/libgomp.c++/pr69555-2.C: New test.
6433
6434 2016-02-26 Keith McDaniel <k.allen.mcdaniel (a] gmail.com>
6435 Martin Jambor <mjambor (a] suse.cz>
6436
6437 * testsuite/lib/libgomp.exp
6438 (check_effective_target_offload_device_shared_as): New proc.
6439 * testsuite/libgomp.c++/declare_target-1.C: New test.
6440
6441 2016-02-25 Ilya Verbin <ilya.verbin (a] intel.com>
6442
6443 PR driver/68463
6444 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6445
6446 2016-02-23 Thomas Schwinge <thomas (a] codesourcery.com>
6447
6448 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6449 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6450 dims.
6451 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6452 -ftree-parallelize-loops/-fopenacc changes.
6453 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6454 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6455 Likewise.
6456 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6457 Likewise.
6458 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6459 Likewise.
6460 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6461 Likewise.
6462 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6463 Likewise.
6464 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6465 Likewise.
6466 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6467 Likewise.
6468 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6469 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6470 Likewise.
6471 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6472 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6473 Likewise.
6474 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6475 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6476 Likewise.
6477
6478 2016-02-22 Cesar Philippidis <cesar (a] codesourcery.com>
6479
6480 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6481
6482 2016-02-19 Jakub Jelinek <jakub (a] redhat.com>
6483
6484 PR driver/69805
6485 * testsuite/libgomp.c/pr69805.c: New test.
6486
6487 2016-02-16 Tom de Vries <tom (a] codesourcery.com>
6488
6489 PR lto/67709
6490 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6491
6492 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
6493
6494 PR tree-optimization/69599
6495 * testsuite/libgomp.c/omp-nested-3.c: New test.
6496 * testsuite/libgomp.c/pr46032-2.c: New test.
6497 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6498 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6499
6500 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
6501
6502 PR lto/69707
6503 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6504
6505 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
6506
6507 * testsuite/libgomp.c/target-31.c: Fix testcase.
6508
6509 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
6510
6511 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6512 clause.
6513 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6514 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6515 reduction and map clauses.
6516 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6517
6518 2016-02-02 James Norris <jnorris (a] codesourcery.com>
6519
6520 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6521
6522 2016-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
6523
6524 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6525 * oacc-parallel.c (GOACC_host_data): Remove function definition.
6526
6527 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6528 cases.
6529
6530 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6531 variables.
6532 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6533 (hsa_kmt_lib): Set variables.
6534 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6535 always_ld_library_path.
6536 * Makefile.in: Regenerate.
6537 * configure: Likewise.
6538 * testsuite/Makefile.in: Likewise.
6539
6540 * plugin/configfrag.ac (offload_additional_options)
6541 (offload_additional_lib_paths): Don't amend for hsa offloading.
6542 * configure: Regenerate.
6543
6544 * plugin/configfrag.ac: Don't configure for offloading target if
6545 we don't build the corresponding plugin.
6546 * configure: Regenerate.
6547
6548 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com>
6549
6550 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6551 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6552
6553 2016-01-26 Tom de Vries <tom (a] codesourcery.com>
6554
6555 PR tree-optimization/69110
6556 * testsuite/libgomp.c/pr69110.c: New test.
6557
6558 2016-01-25 Richard Biener <rguenther (a] suse.de>
6559
6560 PR lto/69393
6561 * testsuite/libgomp.c++/pr69393.C: New testcase.
6562
6563 2016-01-22 Ilya Verbin <ilya.verbin (a] intel.com>
6564
6565 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
6566 function wasn't mapped to the device with non-shared memory.
6567
6568 2016-01-20 Ilya Verbin <ilya.verbin (a] intel.com>
6569
6570 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6571
6572 2016-01-19 Martin Jambor <mjambor (a] suse.cz>
6573 Martin Liska <mliska (a] suse.cz>
6574
6575 * plugin/Makefrag.am: Add HSA plugin requirements.
6576 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6577 (HSA_RUNTIME_LIB): Likewise.
6578 (HSA_RUNTIME_CPPFLAGS): Likewise.
6579 (HSA_RUNTIME_INCLUDE): New substitution.
6580 (HSA_RUNTIME_LIB): Likewise.
6581 (HSA_RUNTIME_LDFLAGS): Likewise.
6582 (hsa-runtime): New configure option.
6583 (hsa-runtime-include): Likewise.
6584 (hsa-runtime-lib): Likewise.
6585 (PLUGIN_HSA): New substitution variable.
6586 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6587 configure options.
6588 (PLUGIN_HSA_CPPFLAGS): Likewise.
6589 (PLUGIN_HSA_LDFLAGS): Likewise.
6590 (PLUGIN_HSA_LIBS): Likewise.
6591 Check that we have access to HSA run-time.
6592 * libgomp-plugin.h (offload_target_type): New element
6593 OFFLOAD_TARGET_TYPE_HSA.
6594 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
6595 args.
6596 (bool gomp_create_target_task): Updated.
6597 (gomp_device_descr): Extra parameter of run_func and async_run_func,
6598 new field can_run_func.
6599 * libgomp_g.h (GOMP_target_ext): Update prototype.
6600 * oacc-host.c (host_run): Added a new parameter args.
6601 * target.c (calculate_firstprivate_requirements): New function.
6602 (copy_firstprivate_data): Likewise.
6603 (gomp_target_fallback_firstprivate): Use them.
6604 (gomp_target_unshare_firstprivate): New function.
6605 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
6606 devices.
6607 (GOMP_target): Do host fallback for all shared memory devices. Do not
6608 pass any args to plugins.
6609 (GOMP_target_ext): Introduce device-specific argument parameter args.
6610 Allow host fallback if device shares memory. Do not remap data if
6611 device has shared memory.
6612 (gomp_target_task_fn): Likewise. Also treat shared memory devices
6613 like host fallback for mappings.
6614 (GOMP_target_data): Treat shared memory devices like host fallback.
6615 (GOMP_target_data_ext): Likewise.
6616 (GOMP_target_update): Likewise.
6617 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
6618 gomp_create_target_task.
6619 (GOMP_target_enter_exit_data): Likewise.
6620 (omp_target_alloc): Treat shared memory devices like host fallback.
6621 (omp_target_free): Likewise.
6622 (omp_target_is_present): Likewise.
6623 (omp_target_memcpy): Likewise.
6624 (omp_target_memcpy_rect): Likewise.
6625 (omp_target_associate_ptr): Likewise.
6626 (gomp_load_plugin_for_device): Also load can_run.
6627 * task.c (GOMP_PLUGIN_target_task_completion): Free
6628 firstprivate_copies.
6629 (gomp_create_target_task): Accept new argument args and store it to
6630 ttask.
6631 * plugin/plugin-hsa.c: New file.
6632
6633 2016-01-18 Tom de Vries <tom (a] codesourcery.com>
6634
6635 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6636 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6637 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6638 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6639 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6640 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6641 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6642 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6643 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6644 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6645 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6646 Same.
6647 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6648 Same.
6649 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6650 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6651 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6652 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6653 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6654 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6655 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6656 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6657 Same.
6658 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6659
6660 2016-01-15 Jakub Jelinek <jakub (a] redhat.com>
6661
6662 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6663
6664 2016-01-15 Cesar Philippidis <cesar (a] codesourcery.com>
6665
6666 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6667
6668 2016-01-12 James Norris <jnorris (a] codesourcery.com>
6669
6670 * libgomp.texi: Updates for OpenACC.
6671
6672 2016-01-11 Alexander Monakov <amonakov (a] ispras.ru>
6673
6674 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6675
6676 2016-01-07 H.J. Lu <hongjiu.lu (a] intel.com>
6677
6678 PR fortran/66680
6679 * testsuite/libgomp.fortran/pr66680.f90: New test.
6680
6681 2016-01-07 Jakub Jelinek <jakub (a] redhat.com>
6682
6683 PR middle-end/68960
6684 * testsuite/libgomp.c/pr68960.c: New test.
6685
6686 2016-01-06 Nathan Sidwell <nathan (a] acm.org>
6687
6688 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
6689 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6690
6691 2016-01-04 Jakub Jelinek <jakub (a] redhat.com>
6692
6693 Update copyright years.
6694
6695 * libgomp.texi: Bump @copying's copyright year.
6696
6697 2015-12-31 Nathan Sidwell <nathan (a] acm.org>
6698
6699 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6700 dg-additional-options syntax.
6701 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6702 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6703 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6704 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6705 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6706 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6707 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6708 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6709 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6710 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6711 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6712 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6713 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6714 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6715 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6716 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6717 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6718 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6719
6720 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com>
6721
6722 * libgomp.h (REFCOUNT_LINK): Define.
6723 (struct splay_tree_key_s): Add link_key.
6724 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6725 Replace target address of the pointer with target address of newly
6726 mapped object in the splay tree. Set link pointer on target to the
6727 device address of the mapped object.
6728 (gomp_unmap_vars): Restore target address of the pointer in the splay
6729 tree for REFCOUNT_LINK objects after unmapping.
6730 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6731 declare target link" objects.
6732 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
6733 "omp declare target link" objects, which were mapped for the image.
6734 (gomp_exit_data): Restore target address of the pointer in the splay
6735 tree for REFCOUNT_LINK objects after unmapping.
6736 * testsuite/libgomp.c/target-link-1.c: New file.
6737
6738 2015-12-14 Ilya Verbin <ilya.verbin (a] intel.com>
6739
6740 * libgomp.h (gomp_device_state): New enum.
6741 (struct gomp_device_descr): Replace is_initialized with state.
6742 (gomp_fini_device): Remove declaration.
6743 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
6744 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
6745 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
6746 (acc_set_device_type): Use state instead of is_initialized.
6747 (acc_set_device_num): Likewise.
6748 * target.c (resolve_device): Use state instead of is_initialized.
6749 Do not initialize finalized device.
6750 (gomp_map_vars): Do nothing if device is finalized.
6751 (gomp_unmap_vars): Likewise.
6752 (gomp_update): Likewise.
6753 (GOMP_offload_register_ver): Use state instead of is_initialized.
6754 (GOMP_offload_unregister_ver): Likewise.
6755 (gomp_init_device): Likewise.
6756 (gomp_unload_device): Likewise.
6757 (gomp_fini_device): Remove.
6758 (gomp_get_target_fn_addr): Do nothing if device is finalized.
6759 (GOMP_target): Go to host fallback if device is finalized.
6760 (GOMP_target_ext): Likewise.
6761 (gomp_exit_data): Do nothing if device is finalized.
6762 (gomp_target_task_fn): Go to host fallback if device is finalized.
6763 (gomp_target_fini): New static function.
6764 (gomp_target_init): Use state instead of is_initialized.
6765 Call gomp_target_fini at exit.
6766
6767 2015-12-09 Tom de Vries <tom (a] codesourcery.com>
6768
6769 PR tree-optimization/68716
6770 * testsuite/libgomp.c/omp-nested-2.c: New test.
6771
6772 2015-12-02 Thomas Schwinge <thomas (a] codesourcery.com>
6773
6774 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6775 target openacc_nvidia_accel_selected.
6776 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6777 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6778 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6779 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6780
6781 2015-12-01 Julian Brown <julian (a] codesourcery.com>
6782 James Norris <James_Norris (a] mentor.com>
6783
6784 * oacc-parallel.c (GOACC_host_data): New function.
6785 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6786 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6787 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6788 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6789 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6790 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6791 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6792
6793 2015-11-30 James Norris <jnorris (a] codesourcery.com>
6794 Cesar Philippidis <cesar (a] codesourcery.com>
6795
6796 libgomp/
6797 * libgomp.oacc-fortran/routine-5.f90: New test.
6798 * libgomp.oacc-fortran/routine-7.f90: New test.
6799 * libgomp.oacc-fortran/routine-9.f90: New test.
6800
6801 2015-11-30 Tom de Vries <tom (a] codesourcery.com>
6802
6803 PR tree-optimization/46032
6804 * testsuite/libgomp.c/pr46032.c: New test.
6805
6806 2015-11-27 Jakub Jelinek <jakub (a] redhat.com>
6807
6808 PR libgomp/68579
6809 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6810 (gomp_create_target_task): Call it before freeing
6811 GOMP_TARGET_TASK_DATA tasks.
6812
6813 PR c/63326
6814 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6815 in between case label and OpenMP standalone directives.
6816 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6817
6818 2015-11-26 David Edelsohn <dje.gcc (a] gmail.com>
6819
6820 * configure: Regenerate.
6821
6822 2015-11-26 Jakub Jelinek <jakub (a] redhat.com>
6823
6824 * testsuite/libgomp.c/target-35.c: New test.
6825
6826 2015-11-22 James Norris <jnorris (a] codesourcery.com>
6827 Cesar Philippidis <cesar (a] codesourcery.com>
6828
6829 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6830 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6831 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6832 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6833 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6834
6835 2015-11-20 Jakub Jelinek <jakub (a] redhat.com>
6836
6837 PR middle-end/68221
6838 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
6839 * testsuite/libgomp.c/reduction-12.c: Likewise.
6840 * testsuite/libgomp.c++/reduction-11.C: Likewise.
6841 * testsuite/libgomp.c++/reduction-12.C: Likewise.
6842
6843 2015-11-19 Nathan Sidwell <nathan (a] codesourcery.com>
6844
6845 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6846 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
6847 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6848 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6849 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6850 and fix.
6851 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6852 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6853
6854 2015-11-18 Nathan Sidwell <nathan (a] codesourcery.com>
6855
6856 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6857 worker & gang cases.
6858 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6859
6860 2015-11-17 Cesar Philippidis <cesar (a] codesourcery.com>
6861
6862 * config/nvptx/priority_queue.c: New file.
6863
6864 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
6865
6866 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6867 sections.
6868
6869 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
6870 Aldy Hernandez <aldyh (a] redhat.com>
6871 Ilya Verbin <ilya.verbin (a] intel.com>
6872
6873 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
6874 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6875 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6876 iterators or IV by chunk size.
6877 * parallel.c (gomp_resolve_num_threads): Don't assume that
6878 if thr->ts.team is non-NULL, then pool must be non-NULL.
6879 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6880 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6881 GOMP_PLUGIN_target_task_completion.
6882 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6883 * Makefile.in: Regenerate.
6884 * libgomp.h: Shuffle prototypes and forward definitions around so
6885 priority queues can be defined.
6886 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6887 (enum gomp_target_task_state): New enum.
6888 (struct gomp_target_task): Add state, tgt, task and team fields.
6889 (gomp_create_target_task): Change return type to bool, add
6890 state argument.
6891 (gomp_target_task_fn): Change return type to bool.
6892 (struct gomp_device_descr): Add async_run_func.
6893 (struct gomp_task): Remove children, next_child, prev_child,
6894 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6895 Add pnode field.
6896 (struct gomp_taskgroup): Remove children.
6897 Add taskgroup_queue.
6898 (struct gomp_team): Change task_queue type to a priority queue.
6899 (splay_compare): Define inline.
6900 (priority_queue_offset): New.
6901 (priority_node_to_task): New.
6902 (task_to_priority_node): New.
6903 * oacc-mem.c: Do not include splay-tree.h.
6904 * priority_queue.c: New file.
6905 * priority_queue.h: New file.
6906 * splay-tree.c: Do not include splay-tree.h.
6907 (splay_tree_foreach_internal): New.
6908 (splay_tree_foreach): New.
6909 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6910 (splay_tree_callback): Define typedef.
6911 * target.c (splay_compare): Move to libgomp.h.
6912 (GOMP_target): Don't adjust *thr in any way around running offloaded
6913 task.
6914 (GOMP_target_ext): Likewise. Handle target nowait.
6915 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6916 return value from gomp_create_target_task, if false, fallthrough
6917 as if no dependencies exist.
6918 (gomp_target_task_fn): Change return type to bool, return true
6919 if the task should have another part scheduled later. Handle
6920 target nowait.
6921 (gomp_load_plugin_for_device): Initialize async_run.
6922 * task.c (gomp_init_task): Initialize children_queue.
6923 (gomp_clear_parent_in_list): New.
6924 (gomp_clear_parent_in_tree): New.
6925 (gomp_clear_parent): Handle priorities.
6926 (GOMP_task): Likewise.
6927 (priority_queue_move_task_first,
6928 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6929 New functions.
6930 (gomp_create_target_task): Use priority queues. Change return type
6931 to bool, add state argument, return false if for async
6932 {{enter,exit} data,update} constructs no dependencies need to be
6933 waited for, handle target nowait. Set task->fn to NULL instead of
6934 gomp_target_task_fn.
6935 (verify_children_queue): Remove.
6936 (priority_list_upgrade_task): New.
6937 (priority_queue_upgrade_task): New.
6938 (verify_task_queue): Remove.
6939 (priority_list_downgrade_task): New.
6940 (priority_queue_downgrade_task): New.
6941 (gomp_task_run_pre): Use priority queues.
6942 Abstract code out to priority_queue_downgrade_task.
6943 (gomp_task_run_post_handle_dependers): Use priority queues.
6944 (gomp_task_run_post_remove_parent): Likewise.
6945 (gomp_task_run_post_remove_taskgroup): Likewise.
6946 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
6947 tasks specially.
6948 (GOMP_taskwait): Likewise.
6949 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
6950 priority-queue_upgrade_task.
6951 (GOMP_taskgroup_start): Use priority queues.
6952 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
6953 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
6954 barrier.
6955 * taskloop.c (GOMP_taskloop): Handle priorities.
6956 * team.c (gomp_new_team): Call priority_queue_init.
6957 (free_team): Call priority_queue_free.
6958 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6959 team created for target nowait in implicit parallel region.
6960 (gomp_team_start): For nested check, test thr->ts.level instead of
6961 thr->ts.team != NULL.
6962 * testsuite/libgomp.c/doacross-3.c: New test.
6963 * testsuite/libgomp.c/ordered-5.c: New test.
6964 * testsuite/libgomp.c/priority.c: New test.
6965 * testsuite/libgomp.c/target-31.c: New test.
6966 * testsuite/libgomp.c/target-32.c: New test.
6967 * testsuite/libgomp.c/target-33.c: New test.
6968 * testsuite/libgomp.c/target-34.c: New test.
6969
6970 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
6971
6972 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6973
6974 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6975 loop is sequential.
6976
6977 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
6978
6979 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6980 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6981
6982 2015-11-12 James Norris <jnorris (a] codesourcery.com>
6983 Joseph Myers <joseph (a] codesourcery.com>
6984
6985 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6986 * oacc-parallel.c (GOACC_declare): New function.
6987 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6988 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6989 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6990 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6991 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6992
6993 2015-11-12 Nathan Sidwell <nathan (a] codesourcery.com>
6994
6995 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6996
6997 2015-11-1 Nathan Sidwell <nathan (a] codesourcery.com>
6998
6999 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7000 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7001
7002 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
7003
7004 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7005 inadvertent commit.
7006
7007 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
7008
7009 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7010 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7011 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7012 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7013 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7014
7015 2015-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
7016
7017 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7018 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7019
7020 2015-11-05 Jakub Jelinek <jakub (a] redhat.com>
7021 Ilya Verbin <ilya.verbin (a] intel.com>
7022
7023 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7024 GOMP_loop_nonmonotonic_dynamic_start,
7025 GOMP_loop_nonmonotonic_guided_next,
7026 GOMP_loop_nonmonotonic_guided_start,
7027 GOMP_loop_ull_nonmonotonic_dynamic_next,
7028 GOMP_loop_ull_nonmonotonic_dynamic_start,
7029 GOMP_loop_ull_nonmonotonic_guided_next,
7030 GOMP_loop_ull_nonmonotonic_guided_start,
7031 GOMP_parallel_loop_nonmonotonic_dynamic,
7032 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7033 (GOMP_target_41): Renamed to ...
7034 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7035 arguments.
7036 (GOMP_target_data_41): Renamed to ...
7037 (GOMP_target_data_ext): ... this.
7038 (GOMP_target_update_41): Renamed to ...
7039 (GOMP_target_update_ext): ... this.
7040 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7041 GOMP_target_data_ext and GOMP_target_update_ext instead of
7042 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7043 Export GOMP_loop_nonmonotonic_dynamic_next,
7044 GOMP_loop_nonmonotonic_dynamic_start,
7045 GOMP_loop_nonmonotonic_guided_next,
7046 GOMP_loop_nonmonotonic_guided_start,
7047 GOMP_loop_ull_nonmonotonic_dynamic_next,
7048 GOMP_loop_ull_nonmonotonic_dynamic_start,
7049 GOMP_loop_ull_nonmonotonic_guided_next,
7050 GOMP_loop_ull_nonmonotonic_guided_start,
7051 GOMP_parallel_loop_nonmonotonic_dynamic and
7052 GOMP_parallel_loop_nonmonotonic_guided.
7053 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7054 GOMP_parallel_loop_nonmonotonic_guided,
7055 GOMP_loop_nonmonotonic_dynamic_start,
7056 GOMP_loop_nonmonotonic_guided_start,
7057 GOMP_loop_nonmonotonic_dynamic_next,
7058 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7059 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7060 GOMP_loop_ull_nonmonotonic_guided_start,
7061 GOMP_loop_ull_nonmonotonic_dynamic_next,
7062 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7063 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7064 functions.
7065 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
7066 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7067 Use gomp_map_val function.
7068 (gomp_target_fallback_firstprivate): New static function.
7069 (GOMP_target_41): Renamed to ...
7070 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7071 arguments. Move firstprivate fallback handling into a new
7072 function.
7073 (GOMP_target_data_41): Renamed to ...
7074 (GOMP_target_data_ext): ... this.
7075 (GOMP_target_update_41): Renamed to ...
7076 (GOMP_target_update_ext): ... this.
7077 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7078 gomp_map_0len_lookup instead of gomp_map_lookup.
7079 (omp_target_is_present): Use gomp_map_0len_lookup instead of
7080 gomp_map_lookup.
7081 * testsuite/libgomp.c/target-28.c: Likewise.
7082 * testsuite/libgomp.c/monotonic-1.c: New test.
7083 * testsuite/libgomp.c/monotonic-2.c: New test.
7084 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7085 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7086 * testsuite/libgomp.c/pr66199-5.c: New test.
7087 * testsuite/libgomp.c/pr66199-6.c: New test.
7088 * testsuite/libgomp.c/pr66199-7.c: New test.
7089 * testsuite/libgomp.c/pr66199-8.c: New test.
7090 * testsuite/libgomp.c/pr66199-9.c: New test.
7091 * testsuite/libgomp.c/reduction-11.c: New test.
7092 * testsuite/libgomp.c/reduction-12.c: New test.
7093 * testsuite/libgomp.c/reduction-13.c: New test.
7094 * testsuite/libgomp.c/reduction-14.c: New test.
7095 * testsuite/libgomp.c/reduction-15.c: New test.
7096 * testsuite/libgomp.c/target-12.c (main): Adjust for
7097 omp_target_is_present change for one-past-last element.
7098 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7099 the same var is both mapped and privatized.
7100 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7101 handling of zero-length array sections.
7102 * testsuite/libgomp.c/target-28.c: New test.
7103 * testsuite/libgomp.c/target-29.c: New test.
7104 * testsuite/libgomp.c/target-30.c: New test.
7105 * testsuite/libgomp.c/target-teams-1.c: New test.
7106 * testsuite/libgomp.c++/member-6.C: New test.
7107 * testsuite/libgomp.c++/member-7.C: New test.
7108 * testsuite/libgomp.c++/monotonic-1.C: New test.
7109 * testsuite/libgomp.c++/monotonic-2.C: New test.
7110 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7111 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7112 * testsuite/libgomp.c++/pr66199-3.C: New test.
7113 * testsuite/libgomp.c++/pr66199-4.C: New test.
7114 * testsuite/libgomp.c++/pr66199-5.C: New test.
7115 * testsuite/libgomp.c++/pr66199-6.C: New test.
7116 * testsuite/libgomp.c++/pr66199-7.C: New test.
7117 * testsuite/libgomp.c++/pr66199-8.C: New test.
7118 * testsuite/libgomp.c++/pr66199-9.C: New test.
7119 * testsuite/libgomp.c++/reduction-11.C: New test.
7120 * testsuite/libgomp.c++/reduction-12.C: New test.
7121 * testsuite/libgomp.c++/target-13.C: New test.
7122 * testsuite/libgomp.c++/target-14.C: New test.
7123 * testsuite/libgomp.c++/target-15.C: New test.
7124 * testsuite/libgomp.c++/target-16.C: New test.
7125 * testsuite/libgomp.c++/target-17.C: New test.
7126 * testsuite/libgomp.c++/target-18.C: New test.
7127 * testsuite/libgomp.c++/target-19.C: New test.
7128
7129 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
7130
7131 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7132 and reduction copy.
7133 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7134 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7135 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7136 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7137 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7138 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7139 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7140 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7141 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7142 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7143 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7144 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7145 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7146 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7147
7148 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
7149
7150 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7151 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7152 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7153 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7154 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7155 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7156 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7157 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7158
7159 2015-11-03 Nathan Sidwell <nathan (a] codesourcery.com>
7160
7161 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7162 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7163 (GOMP_OFFLOAD_openacc_parallel): Likewise.
7164 * oacc-host.c (host_openacc_exec): Likewise.
7165 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7166
7167 2015-11-03 Julian Brown <julian (a] codesourcery.com>
7168 Thomas Schwinge <thomas (a] codesourcery.com>
7169
7170 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7171 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7172 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7173 Likewise.
7174 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7175 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7176
7177 2015-11-03 James Norris <jnorris (a] codesourcery.com>
7178
7179 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7180 file.
7181 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7182 Likewise.
7183 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7184 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7185 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7186 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7187 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7188
7189 2015-10-29 Nathan Sidwell <nathan (a] codesourcery.com>
7190
7191 * openacc.h (enum acc_device_t): Reformat. Ensure layout
7192 compatibility.
7193 (enum acc_async_t): Reformat.
7194 (acc_on_device): Declare compatible with builtin and provide C++
7195 wrapper.
7196 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7197
7198 2015-10-29 Thomas Schwinge <thomas (a] codesourcery.com>
7199 Cesar Philippidis <cesar (a] codesourcery.com>
7200
7201 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7202 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7203 ... this. Add a description of the test at the top of the file.
7204 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7205 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7206 ... this. Add a description of the test at the top of the file.
7207
7208 2015-10-28 Nathan Sidwell <nathan (a] codesourcery.com>
7209
7210 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7211 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7212 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7213 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7214 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7215 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7216
7217 2015-10-27 Nathan Sidwell <nathan (a] codesourcery.com>
7218
7219 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7220 dimensions.
7221
7222 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com>
7223
7224 PR testsuite/68063
7225 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7226
7227 2015-10-27 James Norris <jnorris (a] codesourcery.com>
7228
7229 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7230 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7231
7232 2015-10-26 Thomas Schwinge <thomas (a] codesourcery.com>
7233
7234 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7235 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7236
7237 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7238 acc_device_nvidia usage.
7239 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7240 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7241 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7242
7243 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7244 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7245
7246 PR libgomp/66518
7247 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7248
7249 PR libgomp/65437
7250 PR libgomp/66518
7251 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7252 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7253
7254 2015-10-23 Tom de Vries <tom (a] codesourcery.com>
7255
7256 PR testsuite/68063
7257 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7258
7259 2015-10-20 Nathan Sidwell <nathan (a] codesourcery.com>
7260
7261 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7262 vector_length.
7263 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7264
7265 2015-10-14 Ilya Verbin <ilya.verbin (a] intel.com>
7266 Aleksander Ivanushenko <aleksander.ivanushenko (a] intel.com>
7267
7268 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7269 to 0 when mapnum is 0.
7270
7271 2015-10-14 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
7272
7273 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7274 Cast to int from int32_t.
7275
7276 2015-10-13 Jakub Jelinek <jakub (a] redhat.com>
7277 Aldy Hernandez <aldyh (a] redhat.com>
7278 Ilya Verbin <ilya.verbin (a] intel.com>
7279
7280 * config/linux/affinity.c (omp_get_place_num_procs,
7281 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7282 * config/linux/doacross.h: New file.
7283 * config/posix/affinity.c (omp_get_place_num_procs,
7284 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7285 * config/posix/doacross.h: New file.
7286 * env.c: Include gomp-constants.h.
7287 (struct gomp_task_icv): Rename run_sched_modifier to
7288 run_sched_chunk_size.
7289 (gomp_max_task_priority_var): New variable.
7290 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7291 (handle_omp_display_env): Change _OPENMP value from 201307 to
7292 201511. Print OMP_MAX_TASK_PRIORITY.
7293 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7294 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7295 chunk_size and run_sched_modifier to run_sched_chunk_size.
7296 (omp_get_max_task_priority, omp_get_initial_device,
7297 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7298 omp_get_partition_place_nums): New functions.
7299 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7300 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7301 to chunk_size.
7302 (omp_get_num_places_, omp_get_place_num_procs_,
7303 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7304 omp_get_place_proc_ids_8_, omp_get_place_num_,
7305 omp_get_partition_num_places_, omp_get_partition_place_nums_,
7306 omp_get_partition_place_nums_8_, omp_get_initial_device_,
7307 omp_get_max_task_priority_): New functions.
7308 * libgomp_g.h (GOMP_loop_doacross_static_start,
7309 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7310 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7311 GOMP_loop_ull_doacross_dynamic_start,
7312 GOMP_loop_ull_doacross_guided_start,
7313 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7314 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7315 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7316 GOMP_target_data_41, GOMP_target_update_41,
7317 GOMP_target_enter_exit_data): New prototypes.
7318 (GOMP_task): Add prototype argument.
7319 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7320 (struct gomp_doacross_work_share): New type.
7321 (struct gomp_work_share): Add doacross field.
7322 (struct gomp_task_icv): Rename run_sched_modifier to
7323 run_sched_chunk_size.
7324 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7325 GOMP_TASK_UNDEFERRED. Add comments.
7326 (struct gomp_task_depend_entry): Add comments.
7327 (struct gomp_task): Likewise.
7328 (struct gomp_taskgroup): Likewise.
7329 (struct gomp_target_task): New type.
7330 (struct gomp_team): Add comment.
7331 (gomp_get_place_proc_ids_8, gomp_doacross_init,
7332 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7333 gomp_create_target_task, gomp_target_task_fn): New prototypes.
7334 (struct target_var_desc): New type.
7335 (struct target_mem_desc): Adjust comment. Use struct
7336 target_var_desc instead of splay_tree_key for list.
7337 (REFCOUNT_INFINITY): Define.
7338 (struct splay_tree_key_s): Remove copy_from field.
7339 (struct gomp_device_descr): Add dev2dev_func field.
7340 (enum gomp_map_vars_kind): New enum.
7341 (gomp_map_vars): Add one argument.
7342 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7343 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7344 omp_get_place_num_procs, omp_get_place_num_procs_,
7345 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7346 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7347 omp_get_place_num_, omp_get_partition_num_places,
7348 omp_get_partition_num_places_, omp_get_partition_place_nums,
7349 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7350 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7351 omp_target_free, omp_target_is_present, omp_target_memcpy,
7352 omp_target_memcpy_rect, omp_target_associate_ptr and
7353 omp_target_disassociate_ptr.
7354 (GOMP_4.0.2): Renamed to ...
7355 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
7356 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7357 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7358 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7359 GOMP_loop_doacross_static_start, GOMP_doacross_post,
7360 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7361 GOMP_loop_ull_doacross_guided_start,
7362 GOMP_loop_ull_doacross_runtime_start,
7363 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7364 GOMP_doacross_ull_wait.
7365 * libgomp.texi: Document omp_get_max_task_priority.
7366 Rename modifier argument to chunk_size for omp_set_schedule and
7367 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
7368 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7369 to run_sched_chunk_size renaming.
7370 (GOMP_loop_ordered_runtime_start): Likewise.
7371 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7372 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7373 GOMP_parallel_loop_runtime_start): New functions.
7374 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7375 to run_sched_chunk_size renaming.
7376 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7377 GOMP_loop_doacross_guided_start): New functions or aliases.
7378 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7379 run_sched_modifier to run_sched_chunk_size renaming.
7380 (GOMP_loop_ull_ordered_runtime_start): Likewise.
7381 (gomp_loop_ull_doacross_static_start,
7382 gomp_loop_ull_doacross_dynamic_start,
7383 gomp_loop_ull_doacross_guided_start,
7384 GOMP_loop_ull_doacross_runtime_start): New functions.
7385 (GOMP_loop_ull_doacross_static_start,
7386 GOMP_loop_ull_doacross_dynamic_start,
7387 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7388 * oacc-mem.c (acc_map_data, present_create_copy,
7389 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7390 to gomp_map_vars.
7391 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7392 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7393 instead of false to gomp_map_vars.
7394 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
7395 * omp.h.in (omp_lock_hint_t): New type.
7396 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7397 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7398 omp_get_place_num, omp_get_partition_num_places,
7399 omp_get_partition_place_nums, omp_get_initial_device,
7400 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7401 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7402 omp_target_associate_ptr, omp_target_disassociate_ptr): New
7403 prototypes.
7404 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7405 (omp_lock_hint_none, omp_lock_hint_uncontended,
7406 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7407 omp_lock_hint_speculative): New parameters.
7408 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7409 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7410 omp_get_place_num, omp_get_partition_num_places,
7411 omp_get_partition_place_nums, omp_get_initial_device,
7412 omp_get_max_task_priority): New interfaces.
7413 (omp_set_schedule, omp_get_schedule): Rename modifier argument
7414 to chunk_size.
7415 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
7416 (omp_lock_hint_none, omp_lock_hint_uncontended,
7417 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7418 omp_lock_hint_speculative): New parameters.
7419 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7420 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7421 omp_get_place_num, omp_get_partition_num_places,
7422 omp_get_partition_place_nums, omp_get_initial_device,
7423 omp_get_max_task_priority): New functions and subroutines.
7424 * ordered.c: Include stdarg.h and string.h.
7425 (MAX_COLLAPSED_BITS): Define.
7426 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
7427 gomp_doacross_ull_init, GOMP_doacross_ull_post,
7428 GOMP_doacross_ull_wait): New functions.
7429 * target.c: Include errno.h.
7430 (resolve_device): If device is not initialized, call
7431 gomp_init_device on it.
7432 (gomp_map_lookup): New function.
7433 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7434 Don't bump refcount if REFCOUNT_INFINITY. Handle
7435 GOMP_MAP_ALWAYS_TO_P.
7436 (get_kind): Rename is_openacc argument to short_mapkind.
7437 (gomp_map_pointer): Use gomp_map_lookup.
7438 (gomp_map_fields_existing): New function.
7439 (gomp_map_vars): Rename is_openacc argument to short_mapkind
7440 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
7441 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7442 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7443 Adjust for tgt->list changed type and copy_from living in there.
7444 (gomp_copy_from_async): Adjust for tgt->list changed type and
7445 copy_from living in there.
7446 (gomp_unmap_vars): Likewise.
7447 (gomp_update): Likewise. Rename is_openacc argument to
7448 short_mapkind. Don't fail if object is not mapped.
7449 (gomp_load_image_to_device): Initialize refcount to
7450 REFCOUNT_INFINITY.
7451 (gomp_target_fallback): New function.
7452 (gomp_get_target_fn_addr): Likewise.
7453 (GOMP_target): Adjust gomp_map_vars caller, use
7454 gomp_get_target_fn_addr and gomp_target_fallback.
7455 (GOMP_target_41): New function.
7456 (gomp_target_data_fallback): New function.
7457 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7458 (GOMP_target_data_41): New function.
7459 (GOMP_target_update): Adjust gomp_update caller.
7460 (GOMP_target_update_41): New function.
7461 (gomp_exit_data, GOMP_target_enter_exit_data,
7462 gomp_target_task_fn, omp_target_alloc, omp_target_free,
7463 omp_target_is_present, omp_target_memcpy,
7464 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7465 omp_target_associate_ptr, omp_target_disassociate_ptr,
7466 gomp_load_plugin_for_device): New functions.
7467 * task.c: Include gomp-constants.h. Include taskloop.c
7468 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7469 (gomp_task_handle_depend): New function.
7470 (GOMP_task): Use it. Add priority argument. Use
7471 gomp-constant.h constants instead of hardcoded numbers.
7472 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7473 (gomp_create_target_task): New function.
7474 (verify_children_queue, verify_taskgroup_queue,
7475 verify_task_queue): New functions.
7476 (gomp_task_run_pre): Call verify_*_queue functions.
7477 If an upcoming tied task is about to leave the sibling or
7478 taskgroup queues in an invalid state, adjust appropriately.
7479 Remove taskgroup argument. Add comments.
7480 (gomp_task_run_post_handle_dependers): Add comments.
7481 (gomp_task_run_post_remove_parent): Likewise.
7482 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7483 (GOMP_taskwait): Likewise. Add comments.
7484 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7485 problem such that the first non parent_depends_on task does not
7486 end up at the end of the children queue.
7487 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7488 GOMP_TASK_UNDEFERRED.
7489 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7490 * taskloop.c: New file.
7491 * testsuite/lib/libgomp.exp
7492 (check_effective_target_offload_device_nonshared_as): New proc.
7493 * testsuite/libgomp.c/affinity-2.c: New test.
7494 * testsuite/libgomp.c/doacross-1.c: New test.
7495 * testsuite/libgomp.c/doacross-2.c: New test.
7496 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7497 Add map clause to target.
7498 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7499 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7500 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7501 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7502 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7503 Likewise.
7504 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7505 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7506 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7507 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7508 not defined. Use those where needed.
7509 * testsuite/libgomp.c/for-4.c: New test.
7510 * testsuite/libgomp.c/for-5.c: New test.
7511 * testsuite/libgomp.c/for-6.c: New test.
7512 * testsuite/libgomp.c/linear-1.c: New test.
7513 * testsuite/libgomp.c/ordered-4.c: New test.
7514 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7515 only allowed on the loop iterator.
7516 * testsuite/libgomp.c/pr66199-3.c: New test.
7517 * testsuite/libgomp.c/pr66199-4.c: New test.
7518 * testsuite/libgomp.c/reduction-7.c: New test.
7519 * testsuite/libgomp.c/reduction-8.c: New test.
7520 * testsuite/libgomp.c/reduction-9.c: New test.
7521 * testsuite/libgomp.c/reduction-10.c: New test.
7522 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7523 map(tofrom:s).
7524 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7525 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7526 * testsuite/libgomp.c/target-11.c: New test.
7527 * testsuite/libgomp.c/target-12.c: New test.
7528 * testsuite/libgomp.c/target-13.c: New test.
7529 * testsuite/libgomp.c/target-14.c: New test.
7530 * testsuite/libgomp.c/target-15.c: New test.
7531 * testsuite/libgomp.c/target-16.c: New test.
7532 * testsuite/libgomp.c/target-17.c: New test.
7533 * testsuite/libgomp.c/target-18.c: New test.
7534 * testsuite/libgomp.c/target-19.c: New test.
7535 * testsuite/libgomp.c/target-20.c: New test.
7536 * testsuite/libgomp.c/target-21.c: New test.
7537 * testsuite/libgomp.c/target-22.c: New test.
7538 * testsuite/libgomp.c/target-23.c: New test.
7539 * testsuite/libgomp.c/target-24.c: New test.
7540 * testsuite/libgomp.c/target-25.c: New test.
7541 * testsuite/libgomp.c/target-26.c: New test.
7542 * testsuite/libgomp.c/target-27.c: New test.
7543 * testsuite/libgomp.c/taskloop-1.c: New test.
7544 * testsuite/libgomp.c/taskloop-2.c: New test.
7545 * testsuite/libgomp.c/taskloop-3.c: New test.
7546 * testsuite/libgomp.c/taskloop-4.c: New test.
7547 * testsuite/libgomp.c++/ctor-13.C: New test.
7548 * testsuite/libgomp.c++/doacross-1.C: New test.
7549 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
7550 Replace offload_device with offload_device_nonshared_as.
7551 * testsuite/libgomp.c++/for-12.C: New test.
7552 * testsuite/libgomp.c++/for-13.C: New test.
7553 * testsuite/libgomp.c++/for-14.C: New test.
7554 * testsuite/libgomp.c++/linear-1.C: New test.
7555 * testsuite/libgomp.c++/member-1.C: New test.
7556 * testsuite/libgomp.c++/member-2.C: New test.
7557 * testsuite/libgomp.c++/member-3.C: New test.
7558 * testsuite/libgomp.c++/member-4.C: New test.
7559 * testsuite/libgomp.c++/member-5.C: New test.
7560 * testsuite/libgomp.c++/ordered-1.C: New test.
7561 * testsuite/libgomp.c++/reduction-5.C: New test.
7562 * testsuite/libgomp.c++/reduction-6.C: New test.
7563 * testsuite/libgomp.c++/reduction-7.C: New test.
7564 * testsuite/libgomp.c++/reduction-8.C: New test.
7565 * testsuite/libgomp.c++/reduction-9.C: New test.
7566 * testsuite/libgomp.c++/reduction-10.C: New test.
7567 * testsuite/libgomp.c++/reference-1.C: New test.
7568 * testsuite/libgomp.c++/simd14.C: New test.
7569 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7570 * testsuite/libgomp.c++/target-5.C: New test.
7571 * testsuite/libgomp.c++/target-6.C: New test.
7572 * testsuite/libgomp.c++/target-7.C: New test.
7573 * testsuite/libgomp.c++/target-8.C: New test.
7574 * testsuite/libgomp.c++/target-9.C: New test.
7575 * testsuite/libgomp.c++/target-10.C: New test.
7576 * testsuite/libgomp.c++/target-11.C: New test.
7577 * testsuite/libgomp.c++/target-12.C: New test.
7578 * testsuite/libgomp.c++/taskloop-1.C: New test.
7579 * testsuite/libgomp.c++/taskloop-2.C: New test.
7580 * testsuite/libgomp.c++/taskloop-3.C: New test.
7581 * testsuite/libgomp.c++/taskloop-4.C: New test.
7582 * testsuite/libgomp.c++/taskloop-5.C: New test.
7583 * testsuite/libgomp.c++/taskloop-6.C: New test.
7584 * testsuite/libgomp.c++/taskloop-7.C: New test.
7585 * testsuite/libgomp.c++/taskloop-8.C: New test.
7586 * testsuite/libgomp.c++/taskloop-9.C: New test.
7587 * testsuite/libgomp.fortran/affinity1.f90: New test.
7588 * testsuite/libgomp.fortran/affinity2.f90: New test.
7589
7590 2015-10-13 Tom de Vries <tom (a] codesourcery.com>
7591
7592 PR tree-optimization/67476
7593 * testsuite/libgomp.c/autopar-3.c: New test.
7594 * testsuite/libgomp.c/autopar-4.c: New test.
7595 * testsuite/libgomp.c/autopar-5.c: New test.
7596 * testsuite/libgomp.c/autopar-6.c: New test.
7597 * testsuite/libgomp.c/autopar-7.c: New test.
7598 * testsuite/libgomp.c/autopar-8.c: New test.
7599
7600 2015-10-12 James Norris <jnorris (a] codesourcery.com>
7601
7602 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7603 initializer.
7604
7605 2015-10-09 David Malcolm <dmalcolm (a] redhat.com>
7606
7607 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7608 using load_gcc_lib.
7609
7610 2015-10-02 Thomas Schwinge <thomas (a] codesourcery.com>
7611
7612 * oacc-ptx.h: Remove file, moving its content into...
7613 * config/nvptx/fortran.c: ... here...
7614 * config/nvptx/oacc-init.c: ..., here...
7615 * config/nvptx/oacc-parallel.c: ..., and here.
7616 * config/nvptx/openacc.f90: New file.
7617 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7618 (link_ptx): Don't link in predefined bits of PTX code.
7619
7620 2015-09-30 Nathan Sidwell <nathan (a] codesourcery.com>
7621 Bernd Schmidt <bernds (a] codesourcery.com>
7622
7623 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7624 (struct targ_ptx_obj): New.
7625 (nvptx_tdata): Move earlier, change data format.
7626 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
7627 objects.
7628 (GOMP_OFFLOAD_load_image): Adjust.
7629
7630 2015-09-30 Thomas Schwinge <thomas (a] codesourcery.com>
7631
7632 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7633 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7634 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7635 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7636 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7637 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7638 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7639 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7640 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7641 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7642 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7643 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7644 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7645 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7646 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7647 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7648 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7649 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7650 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7651 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7652 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7653 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7654 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7655 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7656 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7657 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7658 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7659 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7660 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7661 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7662 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7663 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7664 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7665 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7666 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7667 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7668 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7669 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7670 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7676 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7678 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7680 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7682 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7684 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7685 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7686 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7687 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7688 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7689 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7690 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7691 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7692 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7693 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7694 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7695
7696 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
7697
7698 * oacc-init.c (acc_on_device): Force optimization level.
7699
7700 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
7701
7702 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7703 (cuda_errlist): Delete.
7704 (cuda_error): Reimplement.
7705
7706 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com>
7707
7708 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
7709 array.
7710 * libgomp.map (GOACC_parallel_keyed): New.
7711 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7712 all callers.
7713 (GOACC_parallel_keyed): New interface. Lose geometry arguments
7714 and take keyed varargs list. Adjust call to exec_func.
7715 (GOACC_parallel): Force host fallback.
7716 * libgomp_g.h (GOACC_parallel): Remove.
7717 (GOACC_parallel_keyed): Declare.
7718 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
7719 (struct targ_gn_descriptor): Replace name field with launch field.
7720 (nvptx_exec): Lose separate geometry args, take array. Process
7721 dynamic dimensions and adjust.
7722 (struct nvptx_tdata): Replace fn_names field with fn_descs.
7723 (GOMP_OFFLOAD_load_image): Adjust for change in function table
7724 data.
7725 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7726 passing.
7727 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
7728 passing.
7729
7730 2015-09-22 Chung-Lin Tang <cltang (a] codesourcery.com>
7731
7732 PR libgomp/67141
7733 * oacc-int.h (goacc_host_init): Add declaration.
7734 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7735 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7736
7737 2015-09-08 Aditya Kumar <hiraditya (a] msn.com>
7738 Sebastian Pop <s.pop (a] samsung.com>
7739
7740 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
7741 match o/p.
7742 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7743 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
7744 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
7745 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
7746 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
7747
7748 2015-09-03 Jakub Jelinek <jakub (a] redhat.com>
7749
7750 * configure.tgt: Add missing ;; in between nvptx and rtems
7751 snippets.
7752
7753 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
7754
7755 * config/posix/pool.h (gomp_adjust_thread_attr): New.
7756 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7757 (gomp_thread_pool_reservoir): Add priority member.
7758 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7759 priority.
7760 (parse_thread_pools): Likewise.
7761 * team.c (gomp_team_start): Call configuration provided
7762 gomp_adjust_thread_attr(). Destroy thread attributes if
7763 necessary.
7764 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7765
7766 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
7767
7768 * config/posix/pool.h: New.
7769 * config/rtems/pool.h: Likewise.
7770 * config/rtems/proc.c: Likewise.
7771 * libgomp.h (gomp_thread_destructor): Declare.
7772 * team.c: Include configuration provided "pool.h".
7773 (gomp_get_thread_pool): Define in configuration.
7774 (gomp_team_end): Call configuration defined
7775 gomp_release_thread_pool().
7776
7777 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
7778
7779 * config/rtems/bar.c: New.
7780 * config/rtems/bar.h: Likewise.
7781 * config/rtems/mutex.c: Likewise.
7782 * config/rtems/mutex.h: Likewise.
7783 * config/rtems/sem.c: Likewise.
7784 * config/rtems/sem.h: Likewise.
7785 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
7786 <sys/lock.h> header file.
7787 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7788 supported by Newlib.
7789 * configure: Regenerate.
7790
7791 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
7792
7793 * team.c (gomp_new_thread_pool): Delete and move content to ...
7794 (gomp_get_thread_pool): ... new function. Allocate and
7795 initialize thread pool on demand.
7796 (get_last_team): Use gomp_get_thread_pool().
7797 (gomp_team_start): Delete thread pool initialization.
7798
7799 2015-09-03 Tom de Vries <tom (a] codesourcery.com>
7800
7801 PR tree-optimization/65637
7802 * testsuite/libgomp.c/autopar-2.c: New test.
7803
7804 2015-08-29 Tom de Vries <tom (a] codesourcery.com>
7805
7806 PR tree-optimization/46193
7807 * testsuite/libgomp.c/pr46193.c: New test.
7808
7809 2015-08-24 Nathan Sidwell <nathan (a] codesourcery.com>
7810
7811 libgomp/
7812 * libgomp.map: Add 4.0.2 version.
7813 * target.c (offload_image_descr): Add version field.
7814 (gomp_load_image_to_device): Add version argument. Adjust plugin
7815 call. Improve load mismatch diagnostic.
7816 (gomp_unload_image_from_device): Add version argument. Adjust plugin
7817 call.
7818 (GOMP_offload_regster): Make stub function, move bulk to ...
7819 (GOMP_offload_register_ver): ... here. Process version argument.
7820 (GOMP_offload_unregister): Make stub function, move bulk to ...
7821 (GOMP_offload_unregister_ver): ... here. Process version argument.
7822 (gomp_init_device): Process version field.
7823 (gomp_unload_device): Process version field.
7824 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7825 macros. Check plugin version.
7826 * libgomp.h (gomp_device_descr): Add version function field. Adjust
7827 loader and unloader types.
7828 * oacc-host.c: Include gomp-constants.h.
7829 (host_version): New.
7830 (host_load_image, host_unload_image): Adjust.
7831 (host_dispatch): Add host_version.
7832 * plugin/plugin-nvptx.c: Include gomp-constants.h.
7833 (GOMP_OFFLOAD_version): New.
7834 (GOMP_OFFLOAD_load_image): Add version arg and check it.
7835 (GOMP_OFFLOAD_unload_image): Likewise.
7836 * plugin/plugin-host.c: Include gomp-constants.h.
7837 (GOMP_OFFLOAD_version): New.
7838 (GOMP_OFFLOAD_load_image): Add version arg.
7839 (GOMP_OFFLOAD_unload_image): Likewise.
7840
7841 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
7842
7843 PR tree-optimization/65468
7844 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7845
7846 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
7847
7848 PR tree-optimization/65468
7849 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
7850
7851 2015-08-24 Joost VandeVondele <vondele (a] gnu.gcc.org>
7852
7853 PR libgomp/66761
7854 PR libgomp/67303
7855 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7856 (gomp_iter_guided_next): Idem.
7857 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7858 (gomp_iter_ull_guided_next): Idem.
7859 * config/linux/wait.h (do_spin): Idem.
7860
7861 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
7862
7863 * libgomp-plugin.h (enum offload_target_type): Remove
7864 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7865 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7866 * openacc.h (enum acc_device_t): Likewise.
7867 * openacc_lib.h: Likewise.
7868 * oacc-init.c (name_of_acc_device_t): Don't handle it.
7869 (acc_on_device): Just use __builtin_acc_on_device.
7870 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7871 of acc_on_device builtin.
7872 * plugin/plugin-host.h: Remove file.
7873 * plugin/plugin-host.c: Likewise, but salvage some content into...
7874 * oacc-host.c: ... this file.
7875 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7876 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7877 * Makefile.in: Regenerate.
7878 * configure: Likewise.
7879 * testsuite/lib/libgomp.exp
7880 (check_effective_target_openacc_host_nonshm_selected): Remove.
7881 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7882 ACC_DEVICE_TYPE=host_nonshm.
7883 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7884 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7885 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7886 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7887 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7888 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7889
7890 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
7891 Jakub Jelinek <jakub (a] redhat.com>
7892
7893 * config/nvptx/affinity.c: New file.
7894 * config/nvptx/alloc.c: Likewise.
7895 * config/nvptx/bar.c: Likewise.
7896 * config/nvptx/barrier.c: Likewise.
7897 * config/nvptx/critical.c: Likewise.
7898 * config/nvptx/env.c: Likewise.
7899 * config/nvptx/error.c: Likewise.
7900 * config/nvptx/fortran.c: Likewise.
7901 * config/nvptx/iter.c: Likewise.
7902 * config/nvptx/iter_ull.c: Likewise.
7903 * config/nvptx/libgomp-plugin.c: Likewise.
7904 * config/nvptx/lock.c: Likewise.
7905 * config/nvptx/loop.c: Likewise.
7906 * config/nvptx/loop_ull.c: Likewise.
7907 * config/nvptx/mutex.c: Likewise.
7908 * config/nvptx/oacc-async.c: Likewise.
7909 * config/nvptx/oacc-cuda.c: Likewise.
7910 * config/nvptx/oacc-host.c: Likewise.
7911 * config/nvptx/oacc-init.c: Likewise.
7912 * config/nvptx/oacc-mem.c: Likewise.
7913 * config/nvptx/oacc-parallel.c: Likewise.
7914 * config/nvptx/oacc-plugin.c: Likewise.
7915 * config/nvptx/omp-lock.h: Likewise.
7916 * config/nvptx/ordered.c: Likewise.
7917 * config/nvptx/parallel.c: Likewise.
7918 * config/nvptx/proc.c: Likewise.
7919 * config/nvptx/ptrlock.c: Likewise.
7920 * config/nvptx/sections.c: Likewise.
7921 * config/nvptx/sem.c: Likewise.
7922 * config/nvptx/single.c: Likewise.
7923 * config/nvptx/splay-tree.c: Likewise.
7924 * config/nvptx/target.c: Likewise.
7925 * config/nvptx/task.c: Likewise.
7926 * config/nvptx/team.c: Likewise.
7927 * config/nvptx/time.c: Likewise.
7928 * config/nvptx/work.c: Likewise.
7929 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7930 * configure: Regenerate.
7931 * configure.tgt (config_path): Set to "nvptx" for target
7932 nvptx*-*-*.
7933
7934 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
7935
7936 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7937
7938 2015-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
7939
7940 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
7941 (cuda_errlist): Constify.
7942 (errmsg): Move into ...
7943 (cuda_error): ... here. Make smaller.
7944 (_XSTR, _STR): Delete.
7945 (cuda_synames): Delete.
7946 (verify_device_library): Delete.
7947 (nvptx_init): Don't call it.
7948
7949 2015-07-28 Tom de Vries <tom (a] codesourcery.com>
7950
7951 * testsuite/libgomp.c/uns-outer-4.c: New test.
7952
7953 2015-07-24 Cesar Philippidis <cesar (a] codesourcery.com>
7954
7955 * testsuite/libgomp.c/pr66714.c: New test.
7956
7957 2015-07-22 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
7958
7959 PR libgomp/66950
7960 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7961 (fib_ref): New function.
7962 (fib): Correct corner cases in the recursion.
7963 (main): Replace the non-simd loop with fib_ref call.
7964 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7965 subroutine.
7966 (fibonacci): Lower the parameter N to 30. Correct accordingly check
7967 for the last array element value. Replace the non-simd loop with
7968 fib_ref call. Remove redundant b_ref array. Remove the comparison
7969 of the last array element with according Fibonacci sequence element.
7970 (fib): Correct corner cases in the recursion.
7971
7972 2015-07-21 Nathan Sidwell <nathan (a] codesourcery.com>
7973
7974 * target.c (gomp_offload_image_to_device): Rename to ...
7975 (gomp_load_image_to_device): ... here.
7976 (GOMP_offload_register): Adjust call.
7977 (gomp_init_device): Likewise.
7978 (gomp_unload_image_from_device): New. Broken out of ...
7979 (GOMP_offload_unregister): ... here. Call it.
7980 (gomp_unload_device): New.
7981 * libgomp.h (gomp_unload_device): Declare.
7982 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
7983 mem maps.
7984
7985 2015-07-20 Nathan Sidwell <nathan (a] codesourcery.com>
7986
7987 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
7988 wait=-specific if.
7989 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7990 !=0 condition.
7991 (goacc_waits): Move !num_waits handling to ...
7992 (GOACC_wait): ... here, the only caller that might have zero waits.
7993
7994 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7995 (struct ptx_image_data): Move earlier, add fns field.
7996 (struct ptx_device): Add images and image_lock fields.
7997 (ptx_images, ptx_image_lock): Delete.
7998 (nvptx_open_device): Initialize images and image_lock fields.
7999 (nvptx_close_device): Destroy image_lock.
8000 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8001 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8002 fields.
8003
8004 2015-07-17 Nathan Sidwell <nathan (a] codesourcery.com>
8005
8006 * target.c (GOMP_offload_register): Use int for device type arg.
8007 (GOMP_offload_unregister): Likewise.
8008
8009 * target.c (struct_offload_image_descr): Constify host_table.
8010 (gomp_offload_image_to_device): Likewise.
8011 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8012
8013 * libgomp.h (gomp_device_descr): Constify target data arguments.
8014 * target.c (struct offload_image_descr): Constify target_data.
8015 (gomp_offload_image_to_device): Likewise.
8016 (GOMP_offload_register): Likewise.
8017 (GOMP_offload_unregister): Likewise.
8018 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8019 GOMP_OFFLOAD_unload_image): Constify target data.
8020 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8021 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8022
8023 2015-07-16 Nathan Sidwell <nathan (a] codesourcery.com>
8024
8025 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8026 Workaround driver library const error.
8027 (struct nvptx_tdata, nvptx_tdata_t): New.
8028 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8029 type.
8030
8031 2015-07-15 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
8032
8033 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8034 of EPS parameter from integer to real.
8035 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8036 type of EPS parameter from integer to real.
8037
8038 2015-07-15 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
8039
8040 * team.c (get_last_team): New.
8041 (gomp_new_team): Recycle last non-nested team if possible.
8042 (gomp_team_end): Move team work share list free lock destruction
8043 to ...
8044 (free_team): ... here.
8045
8046 2015-07-14 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
8047
8048 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8049 and ref from int to double. Replaced their comparison with
8050 an inequality of their difference and EPS.
8051 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8052 comparison of pri and a reference number with an inequality of their
8053 difference and EPS.
8054 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8055 the comparison of sum and sum_ref with an inequality of their
8056 difference and EPS.
8057 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8058 the comparison of pri and a reference number with an inequality of
8059 their difference and EPS.
8060
8061 2015-07-13 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
8062
8063 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8064 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8065 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8066 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8067 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8068 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8069 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8070 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8071 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8072 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8073 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8074 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8075 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8076 variables.
8077 (vec_mult): Likewise. Add #pragma omp taskwait.
8078 (main): Adjust caller.
8079 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8080 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8081 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8082 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8083 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8084 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8085 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8086 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8087 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8088 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8089 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8090 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8091 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8092 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8093 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8094 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8095 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8096 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8097 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8098 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8099 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8100 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8101 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8102 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8103 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8104 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8105 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8106 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8107 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8108 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8109 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8110 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8111 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8112 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8113 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8114 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8115 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8116 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8117 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8118 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8119 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8120 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8121 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8122 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8123 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8124 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8125 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8126 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8127 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8128 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8129 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8130 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8131 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8132 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8133 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8134 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8135 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8136 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8137 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8138 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8139 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8140 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8141 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8142 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8143 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8144 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8145 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8146 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8147 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8148 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8149 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8150 (vec_mult): Add !$omp taskwait.
8151 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8152 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8153 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8154 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8155 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8156 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8157 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8158 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8159 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8160 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8161 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8162 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8163 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8164 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8165 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8166 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8167 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8168 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8169 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8170 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8171 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8172 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8173 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8174 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8175 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8176 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8177 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8178 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8179 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8180 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8181 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8182 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8183 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8184 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8185 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8186 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8187 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8188 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8189 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8190 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8191 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8192 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8193 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8194 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8195 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8196 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8197 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8198 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8199 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8200 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8201 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8202 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8203 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8204 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8205 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8206 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8207 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8208 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8209 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8210 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8211 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8212 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8213 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8214 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8215 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8216 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8217 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8218
8219 2015-07-10 Tom de Vries <tom (a] codesourcery.com>
8220
8221 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8222 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8223
8224 2015-07-08 Thomas Schwinge <thomas (a] codesourcery.com>
8225
8226 PR libgomp/65099
8227 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8228 in a 64-bit configuration.
8229 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8230 offloading testing if no such device is available.
8231 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8232 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8233
8234 2015-07-08 Tom de Vries <tom (a] codesourcery.com>
8235
8236 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8237 second call to f.
8238 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8239
8240 2015-07-07 Tom de Vries <tom (a] codesourcery.com>
8241
8242 PR tree-optimization/66642
8243 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8244 iteration count case.
8245 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8246 function, factor out of ...
8247 (main): ... here. Test low iteration count case.
8248
8249 2015-07-06 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
8250
8251 * libgomp.h (gomp_thread_pool): Comment last_team field.
8252
8253 2015-07-02 Uros Bizjak <ubizjak (a] gmail.com>
8254
8255 * testsuite/libgomp.c++/pr66702-1.C: Require
8256 vect_simd_clones effective target.
8257 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8258
8259 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
8260
8261 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8262 already set. Use DEFAULT_CFLAGS in dg-runtest.
8263 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8264 "-O2".
8265
8266 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
8267
8268 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8269 already set. Use DEFAULT_CFLAGS in dg-runtest.
8270 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8271 * testsuite/libgomp.c++/pr64824.C: Same.
8272 * testsuite/libgomp.c++/pr64868.C: Same.
8273 * testsuite/libgomp.c++/pr66199-1.C: Same.
8274 * testsuite/libgomp.c++/pr66199-2.C: Same.
8275 * testsuite/libgomp.c++/target-2.C: Same.
8276 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8277 -std=<standard> option.
8278 * testsuite/libgomp.c++/udr-11.C: Same.
8279 * testsuite/libgomp.c++/udr-12.C: Same.
8280 * testsuite/libgomp.c++/udr-13.C: Same.
8281 * testsuite/libgomp.c++/udr-14.C: Same.
8282 * testsuite/libgomp.c++/udr-15.C: Same.
8283 * testsuite/libgomp.c++/udr-16.C: Same.
8284 * testsuite/libgomp.c++/udr-17.C: Same.
8285 * testsuite/libgomp.c++/udr-18.C: Same.
8286 * testsuite/libgomp.c++/udr-19.C: Same.
8287 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8288 * testsuite/libgomp.c++/simd-1.C: Same.
8289 * testsuite/libgomp.c++/simd-2.C: Same.
8290 * testsuite/libgomp.c++/simd-3.C: Same.
8291 * testsuite/libgomp.c++/simd-4.C: Same.
8292 * testsuite/libgomp.c++/simd-5.C: Same.
8293 * testsuite/libgomp.c++/simd-6.C: Same.
8294 * testsuite/libgomp.c++/simd-7.C: Same.
8295 * testsuite/libgomp.c++/simd-8.C: Same.
8296 * testsuite/libgomp.c++/simd-9.C: Same.
8297 * testsuite/libgomp.c++/simd10.C: Same.
8298 * testsuite/libgomp.c++/simd11.C: Same.
8299 * testsuite/libgomp.c++/simd12.C: Same.
8300 * testsuite/libgomp.c++/simd13.C: Same.
8301
8302 2015-06-30 Jakub Jelinek <jakub (a] redhat.com>
8303
8304 PR middle-end/66702
8305 * testsuite/libgomp.c++/pr66702-1.C: New test.
8306 * testsuite/libgomp.c++/pr66702-2.C: New test.
8307
8308 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
8309
8310 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8311 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8312 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8313 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8314
8315 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
8316
8317 PR tree-optimization/66652
8318 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8319 using restrict pointers.
8320 (main): Add arguments to calls to f.
8321 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8322
8323 2015-06-23 Andreas Tobler <andreast (a] gcc.gnu.org>
8324
8325 * configure.ac: Fix check for header <sys/sysctl.h>.
8326 * configure: Regenerate.
8327 * config.h.in: Likewise.
8328
8329 2015-06-23 Tom de Vries <tom (a] codesourcery.com>
8330
8331 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8332 abort.
8333 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8334
8335 2015-06-19 Thomas Schwinge <thomas (a] codesourcery.com>
8336
8337 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8338 acc_device_nvidia.
8339
8340 PR libgomp/66518
8341 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8342 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8343
8344 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
8345
8346 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
8347 dg-additional-options for any remaining options.
8348 * testsuite/libgomp.c/atomic-2.c: Same.
8349 * testsuite/libgomp.c/atomic-4.c: Same.
8350 * testsuite/libgomp.c/atomic-5.c: Same.
8351 * testsuite/libgomp.c/atomic-6.c: Same.
8352 * testsuite/libgomp.c/autopar-1.c: Same.
8353 * testsuite/libgomp.c/copyin-1.c: Same.
8354 * testsuite/libgomp.c/copyin-2.c: Same.
8355 * testsuite/libgomp.c/copyin-3.c: Same.
8356 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8357 * testsuite/libgomp.c/nestedfn-5.c: Same.
8358 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8359 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8360 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8361 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8362 * testsuite/libgomp.c/pr32362-1.c: Same.
8363 * testsuite/libgomp.c/pr32362-2.c: Same.
8364 * testsuite/libgomp.c/pr32362-3.c: Same.
8365 * testsuite/libgomp.c/pr39591-1.c: Same.
8366 * testsuite/libgomp.c/pr39591-2.c: Same.
8367 * testsuite/libgomp.c/pr39591-3.c: Same.
8368 * testsuite/libgomp.c/pr58392.c: Same.
8369 * testsuite/libgomp.c/pr58756.c: Same.
8370 * testsuite/libgomp.c/simd-1.c: Same.
8371 * testsuite/libgomp.c/simd-10.c: Same.
8372 * testsuite/libgomp.c/simd-11.c: Same.
8373 * testsuite/libgomp.c/simd-12.c: Same.
8374 * testsuite/libgomp.c/simd-13.c: Same.
8375 * testsuite/libgomp.c/simd-14.c: Same.
8376 * testsuite/libgomp.c/simd-15.c: Same.
8377 * testsuite/libgomp.c/simd-2.c: Same.
8378 * testsuite/libgomp.c/simd-3.c: Same.
8379 * testsuite/libgomp.c/simd-4.c: Same.
8380 * testsuite/libgomp.c/simd-5.c: Same.
8381 * testsuite/libgomp.c/simd-6.c: Same.
8382 * testsuite/libgomp.c/simd-7.c: Same.
8383 * testsuite/libgomp.c/simd-8.c: Same.
8384 * testsuite/libgomp.c/simd-9.c: Same.
8385
8386 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
8387
8388 * testsuite/libgomp.c/pr35625.c: Fix typo.
8389
8390 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
8391
8392 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8393 in dg-options.
8394 * testsuite/libgomp.c/atomic-3.c: Same.
8395 * testsuite/libgomp.c/debug-1.c: Same.
8396 * testsuite/libgomp.c/nqueens-1.c: Same.
8397 * testsuite/libgomp.c/pr26171.c: Same.
8398 * testsuite/libgomp.c/pr48591.c: Same.
8399 * testsuite/libgomp.c/pr64824.c: Same.
8400 * testsuite/libgomp.c/pr64868.c: Same.
8401 * testsuite/libgomp.c/pr66133.c: Same.
8402 * testsuite/libgomp.c/pr66199-1.c: Same.
8403 * testsuite/libgomp.c/pr66199-2.c: Same.
8404 * testsuite/libgomp.c/target-8.c: Same.
8405
8406 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
8407
8408 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
8409 -std={gnu99,c99}.
8410 * testsuite/libgomp.c/for-1.c: Same.
8411 * testsuite/libgomp.c/for-2.c: Same.
8412 * testsuite/libgomp.c/for-3.c: Same.
8413 * testsuite/libgomp.c/pr35625.c: Same.
8414 * testsuite/libgomp.c/pr39154.c: Same.
8415 * testsuite/libgomp.c/simd-16.c: Same.
8416 * testsuite/libgomp.c/simd-17.c: Same.
8417
8418 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
8419
8420 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
8421
8422 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
8423
8424 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
8425 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8426 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
8427 (N): Define.
8428 (main): Use N instead of hardcoded constants.
8429
8430 2015-06-05 Tom de Vries <tom (a] codesourcery.com>
8431
8432 merge from gomp4 branch:
8433 2015-05-28 Tom de Vries <tom (a] codesourcery.com>
8434
8435 PR tree-optimization/65443
8436 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8437 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8438 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8439
8440 2015-05-29 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
8441
8442 * testsuite/libgomp.graphite/bounds.c: Adjust for
8443 cleanup-tree-dump removal.
8444 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8445 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8446 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8447 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8448 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8449 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8450 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8451 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8452 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8453 * testsuite/libgomp.graphite/pr41118.c: Likewise.
8454
8455 2015-05-28 Uros Bizjak <ubizjak (a] gmail.com>
8456
8457 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8458 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8459 (futex_wake) [!__x86_64__]: Ditto.
8460
8461 2015-05-28 Julian Brown <julian (a] codesourcery.com>
8462
8463 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8464 function comment. Only call gomp_fatal if new argument is true.
8465 (acc_dev_num_out_of_range): New function.
8466 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8467 acc_dev_num_out_of_range as appropriate.
8468 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8469 (acc_get_device_num, acc_set_device_num): Update calls to
8470 resolve_device.
8471 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8472 output.
8473
8474 2015-05-28 Julian Brown <julian (a] codesourcery.com>
8475
8476 PR libgomp/65742
8477 * oacc-init.c (plugin/plugin-host.h): Include.
8478 (acc_on_device): Check whether we're in an offloaded region for
8479 host_nonshm
8480 plugin. Don't use __builtin_acc_on_device.
8481 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8482 nonshm_exec flag in thread-local data.
8483 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8484 data for host_nonshm plugin.
8485 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8486 for host_nonshm plugin.
8487 * plugin/plugin-host.h: New.
8488
8489 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
8490
8491 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8492
8493 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
8494
8495 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8496 Declare as int.
8497 (FUTEX_PRIVATE_FLAG): Remove L suffix.
8498 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8499 Declare as int.
8500
8501 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
8502
8503 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
8504
8505 2015-05-27 Chung-Lin Tang <cltang (a] codesourcery.com>
8506
8507 * target.c (gomp_map_pointer): New function abstracting out
8508 GOMP_MAP_POINTER handling.
8509 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8510 gomp_map_pointer().
8511
8512 2015-05-19 Jakub Jelinek <jakub (a] redhat.com>
8513
8514 PR middle-end/66199
8515 * testsuite/libgomp.c/pr66199-1.c: New test.
8516 * testsuite/libgomp.c/pr66199-2.c: New test.
8517 * testsuite/libgomp.c++/pr66199-1.C: New test.
8518 * testsuite/libgomp.c++/pr66199-2.C: New test.
8519 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
8520 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
8521
8522 2015-05-19 Julian Brown <julian (a] codesourcery.com>
8523
8524 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8525 on cuInit failure.
8526
8527 2015-05-13 Jakub Jelinek <jakub (a] redhat.com>
8528
8529 PR middle-end/66133
8530 * testsuite/libgomp.c/pr66133.c: New test.
8531
8532 2015-05-13 Michael Haubenwallner <michael.haubenwallner (a] ssi-schaefer.com>
8533
8534 * Makefile.in: Regenerated with automake-1.11.6.
8535 * aclocal.m4: Likewise.
8536 * config.h.in: Likewise.
8537 * configure: Likewise.
8538 * testsuite/Makefile.in: Likewise.
8539
8540 2015-05-08 Jason Merrill <jason (a] redhat.com>
8541
8542 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8543 _Complex.
8544
8545 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8546
8547 2015-05-06 Julian Brown <julian (a] codesourcery.com>
8548
8549 * oacc-init.c (acc_device_lock): Add explanatory comment.
8550 (resolve_device): Add comment about locking requirement.
8551 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
8552 gomp_init_device and gomp_fini_device calls.
8553 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8554 (acc_get_device_num, acc_set_device_num): Add locking around
8555 resolve_device and gomp_init_device calls.
8556
8557 2015-05-06 Julian Brown <julian (a] codesourcery.com>
8558
8559 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8560 goacc_thread_lock on error paths.
8561 * oacc-mem.c (lookup_host): Remove locking from function. Note
8562 locking requirement for caller in function comment.
8563 (lookup_dev): Likewise.
8564 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8565 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8566 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8567 Add locking.
8568
8569 2015-05-05 Thomas Schwinge <thomas (a] codesourcery.com>
8570
8571 PR testsuite/65205
8572 PR libgomp/65993
8573 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8574 don't expect "0x" prefix for "%p" format specifier, don't expect
8575 "(nil)" for NULL pointer.
8576 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8577 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8578 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8579 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8580 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8581 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8582 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8583 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8584 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8585 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8586 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8587 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8588 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8589 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8590 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8591 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8592 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8593 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8594 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8595 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8596 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8597 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8598 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8599 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8600 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8601 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8602 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8603 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8604 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8605 accurately specify what we're looking for.
8606 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8607 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8608 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8609 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8610 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8611
8612 2015-04-30 James Norris <jnorris (a] codesourcery.com>
8613
8614 PR testsuite/65205
8615 * testsuite/lib/libgomp.exp
8616 (check_effective_target_openacc_host_selected)
8617 (check_effective_target_openacc_host_nonshm_selected): New
8618 procedures.
8619 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8620 dg-shouldfail.
8621 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8622 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8623 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8624 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8625 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8626 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8627 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8628 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8629 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8630 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8631 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8632 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8633 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8634 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8635 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8636 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8637 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8638 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8639 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8640 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8641 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8642 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8643 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8644 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8645 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8646 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8647 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8648 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8649 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8650 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8651 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8652 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8653 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8654 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8655 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8656 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8657 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8658 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8659 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8660 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8661 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8662 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8663 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8664
8665 2015-04-08 Julian Brown <julian (a] codesourcery.com>
8666
8667 * libgomp.h (target_mem_desc: Remove mem_map field.
8668 (acc_dispatch_t): Remove open_device_func, close_device_func,
8669 get_device_num_func, set_device_num_func, target_data members.
8670 Change create_thread_data_func argument to device number instead of
8671 generic pointer.
8672 * oacc-async.c (assert.h): Include.
8673 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8674 (acc_wait_all, acc_wait_all_async): Use current host thread's
8675 active device, not base_dev.
8676 * oacc-cuda.c (acc_get_current_cuda_device)
8677 (acc_get_current_cuda_context, acc_get_cuda_stream)
8678 (acc_set_cuda_stream): Likewise.
8679 * oacc-host.c (host_dispatch): Don't set open_device_func,
8680 close_device_func, get_device_num_func or set_device_num_func.
8681 * oacc-init.c (base_dev, init_key): Remove.
8682 (cached_base_dev): New.
8683 (name_of_acc_device_t): New.
8684 (acc_init_1): Initialise default-numbered device, not zeroth.
8685 (acc_shutdown_1): Close all devices of a given type.
8686 (goacc_destroy_thread): Don't use base_dev.
8687 (lazy_open, lazy_init, lazy_init_and_open): Remove.
8688 (goacc_attach_host_thread_to_device): New.
8689 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
8690 (acc_get_num_devices): Don't use base_dev.
8691 (acc_set_device_type): Reimplement.
8692 (acc_get_device_type): Don't use base_dev.
8693 (acc_get_device_num): Tweak logic.
8694 (acc_set_device_num): Likewise.
8695 (acc_on_device): Use acc_get_device_type.
8696 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8697 (goacc_lazy_initialize): Reimplement with acc_init and
8698 goacc_attach_host_thread_to_device.
8699 * oacc-int.h (goacc_thread): Add base_dev field.
8700 (base_dev): Remove extern declaration.
8701 (goacc_attach_host_thread_to_device): Add prototype.
8702 * oacc-mem.c (acc_malloc): Use current thread's device instead of
8703 base_dev.
8704 (acc_free): Likewise.
8705 (acc_memcpy_to_device): Likewise.
8706 (acc_memcpy_from_device): Likewise.
8707 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
8708 goacc_lazy_initialize (throughout).
8709 (GOACC_parallel): Use tgt_offset to locate target functions.
8710 * target.c (gomp_map_vars): Don't set tgt->mem_map.
8711 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8712 (gomp_load_plugin_for_device): Remove open_device, close_device,
8713 get_device_num, set_device_num openacc hook initialisation. Don't set
8714 openacc.target_data.
8715 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8716 (GOMP_OFFLOAD_openacc_close_device)
8717 (GOMP_OFFLOAD_openacc_get_device_num)
8718 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
8719 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8720 to int.
8721 * plugin/plugin-nvptx.c (ptx_inited): Remove.
8722 (instantiated_devices, ptx_dev_lock): New.
8723 (struct ptx_image_data): New.
8724 (ptx_devices, ptx_images, ptx_image_lock): New.
8725 (fini_streams_for_device): Reorder cuStreamDestroy call.
8726 (nvptx_get_num_devices): Remove forward declaration.
8727 (nvptx_init): Change return type to bool.
8728 (nvptx_fini): Remove.
8729 (nvptx_attach_host_thread_to_device): New.
8730 (nvptx_open_device): Return struct ptx_device* instead of void*.
8731 (nvptx_close_device): Change argument type to struct ptx_device*,
8732 return type to void.
8733 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8734 (kernel_target_data, kernel_host_table): Remove static globals.
8735 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8736 (GOMP_OFFLOAD_init_device): Reimplement.
8737 (GOMP_OFFLOAD_fini_device): Likewise.
8738 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8739 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8740 (GOMP_OFFLOAD_host2dev): Use ORD argument.
8741 (GOMP_OFFLOAD_openacc_open_device)
8742 (GOMP_OFFLOAD_openacc_close_device)
8743 (GOMP_OFFLOAD_openacc_set_device_num)
8744 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
8745 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8746 (device number).
8747
8748 testsuite/
8749 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8750
8751 2015-04-06 Ilya Verbin <ilya.verbin (a] intel.com>
8752
8753 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8754 * libgomp.h (struct gomp_memory_mapping): Remove.
8755 (struct target_mem_desc): Change type of mem_map from
8756 gomp_memory_mapping * to splay_tree_s *.
8757 (struct gomp_device_descr): Remove register_image_func, get_table_func.
8758 Add load_image_func, unload_image_func.
8759 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8760 Remove offload_regions_registered.
8761 (gomp_init_tables): Remove.
8762 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8763 to splay_tree_s *.
8764 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8765 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
8766 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8767 offload_regions_registered.
8768 Initialize load_image_func, unload_image_func, mem_map.root.
8769 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8770 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
8771 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8772 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8773 gomp_memory_mapping *. Use dev's lock and splay_tree.
8774 (lookup_dev): Use dev's lock.
8775 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8776 (acc_is_present): Likewise.
8777 (acc_map_data): Likewise.
8778 (acc_unmap_data): Likewise. Use dev's lock.
8779 (present_create_copy): Likewise.
8780 (delete_copyout): Pass dev to lookup_host instead of mem_map.
8781 (update_dev_host): Likewise.
8782 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
8783 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8784 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8785 (GOMP_OFFLOAD_get_table): Remove
8786 (GOMP_OFFLOAD_load_image): New function.
8787 (GOMP_OFFLOAD_unload_image): New function.
8788 * target.c (register_lock): New mutex for offload image registration.
8789 (num_devices): Do not guard with PLUGIN_SUPPORT.
8790 (gomp_realloc_unlock): New static function.
8791 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
8792 before gomp_fatal.
8793 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8794 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
8795 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
8796 mem_map's.
8797 (gomp_unmap_vars): Likewise.
8798 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
8799 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
8800 (gomp_offload_image_to_device): New static function.
8801 (GOMP_offload_register): Add mutex lock.
8802 Call gomp_offload_image_to_device for all initialized devices.
8803 Replace gomp_realloc with gomp_realloc_unlock.
8804 (GOMP_offload_unregister): New function.
8805 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
8806 get_table_func from the plugin with calls to init_device_func and
8807 gomp_offload_image_to_device.
8808 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8809 to splay_tree_s *.
8810 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
8811 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
8812 (GOMP_target_data): Do not call gomp_init_tables.
8813 (GOMP_target_update): Likewise. Remove argument from gomp_update.
8814 (gomp_load_plugin_for_device): Replace register_image and get_table
8815 with load_image and unload_image in DLSYM ().
8816 (gomp_register_images_for_device): Remove function.
8817 (gomp_target_init): Do not initialize current_device.mem_map.*,
8818 current_device.offload_regions_registered.
8819 Remove call to gomp_register_images_for_device.
8820 Do not free offload_images and num_offload_images.
8821
8822 2015-03-30 Jakub Jelinek <jakub (a] redhat.com>
8823
8824 PR fortran/65597
8825 * testsuite/libgomp.fortran/pr65597.f90: New test.
8826
8827 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
8828
8829 PR testsuite/65594
8830 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8831 (init, check): New function.
8832 (foo): Change return type to void.
8833 (main): Call init and check.
8834
8835 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
8836
8837 PR testsuite/65594
8838 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8839 (foo): Use M for non-inner loops to scale down test-case.
8840
8841 2015-03-25 Kai Tietz <ktietz (a] redhat.com>
8842
8843 PR libgomp/64972
8844 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8845 (GOACC_data_start): Likewise.
8846 * target.c (gomp_map_vars): Likewise.
8847
8848 2015-03-21 John David Anglin <danglin (a] gcc.gnu.org>
8849
8850 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8851 hppa*-*-hpux*.
8852
8853 2015-03-19 Jakub Jelinek <jakub (a] redhat.com>
8854
8855 * testsuite/libgomp.c/target-10.c: New test.
8856 * testsuite/libgomp.c++/target-4.C: New test.
8857
8858 2015-03-13 Ilya Verbin <ilya.verbin (a] intel.com>
8859
8860 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
8861 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
8862
8863 2015-03-13 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
8864
8865 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
8866 * configure.ac (*-*-rtems*): Assume Pthread is supported.
8867 (pthread.h): Check for this header file.
8868 * configure: Regenerate.
8869
8870 2015-02-25 Tom de Vries <tom (a] codesourcery.com>
8871
8872 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8873 (check_reduction_op, check_reduction_macro, max, min):
8874 Declare.
8875 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8876 function.
8877 (main): Use new functions.
8878
8879 2015-02-18 Ilya Tocar <ilya.tocar (a] intel.com>
8880
8881 * target.c (gomp_load_plugin_for_device): Use const char * instead of
8882 char * for variables holding dlerror return values.
8883 (DLSYM_OPT): Ditto.
8884
8885 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
8886
8887 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8888
8889 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
8890 Cesar Philippidis <cesar (a] codesourcery.com>
8891
8892 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8893 GOACC_ctaid, and GOACC_nctaid routines.
8894
8895 2015-02-11 Jakub Jelinek <jakub (a] redhat.com>
8896
8897 PR c/64824
8898 * testsuite/libgomp.c/atomic-18.c: New test.
8899 * testsuite/libgomp.c++/atomic-16.C: New test.
8900
8901 2015-02-04 Jakub Jelinek <jakub (a] redhat.com>
8902
8903 PR c/64824
8904 PR c/64868
8905 * testsuite/libgomp.c/pr64824.c: New test.
8906 * testsuite/libgomp.c/pr64868.c: New test.
8907 * testsuite/libgomp.c++/pr64824.C: New test.
8908 * testsuite/libgomp.c++/pr64868.C: New test.
8909
8910 2015-02-01 David Edelsohn <dje.gcc (a] gmail.com>
8911
8912 PR libgomp/64635
8913 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8914 Link with -lpthread.
8915 * config/aix/plugin-suffix.h: Delete.
8916
8917 2015-01-28 Jack Howarth <howarth.at.gcc (a] gmail.com>
8918
8919 PR libgomp/64635
8920 * configure.tgt (*-*-aix*): Use config_path "aix posix".
8921 (*-*-darwin*): Use config_path "bsd darwin posix".
8922 (*-*-hpux*): Use config_path "hpux posix".
8923 * target.c: Add include of plugin-suffix.h and use
8924 SONAME_SUFFIX macro.
8925 * config/aix/plugin-suffix.h: New file.
8926 * config/darwin/plugin-suffix.h: New file.
8927 * config/hpux/plugin-suffix.h: New file.
8928 * config/posix/plugin-suffix.h: New file.
8929
8930 2015-01-23 Jakub Jelinek <jakub (a] redhat.com>
8931
8932 PR middle-end/64734
8933 * libgomp.c/pr64734.c: New test.
8934
8935 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
8936
8937 PR libgomp/64672
8938 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8939
8940 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
8941
8942 PR libgomp/64707
8943 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8944 dg-options.
8945
8946 2015-01-19 Thomas Schwinge <thomas (a] codesourcery.com>
8947
8948 PR libgomp/64625
8949 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8950 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
8951 formal parameter. Update all users.
8952 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8953 Document unused formal parameter.
8954
8955 2015-01-16 Thomas Schwinge <thomas (a] codesourcery.com>
8956
8957 * oacc-parallel.c: Don't include <alloca.h>.
8958 (GOACC_parallel): Use gomp_alloca instead of alloca.
8959
8960 2015-01-16 Gerald Pfeifer <gerald (a] pfeifer.com>
8961
8962 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
8963
8964 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com>
8965 James Norris <jnorris (a] codesourcery.com>
8966 Tom de Vries <tom (a] codesourcery.com>
8967 Julian Brown <julian (a] codesourcery.com>
8968 Cesar Philippidis <cesar (a] codesourcery.com>
8969 Nathan Sidwell <nathan (a] codesourcery.com>
8970 Tobias Burnus <burnus (a] net-b.de>
8971
8972 * Makefile.am (search_path): Add $(top_srcdir)/../include.
8973 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8974 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8975 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8976 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8977 Include $(top_srcdir)/plugin/Makefrag.am.
8978 (nodist_libsubinclude_HEADERS): Add openacc.h.
8979 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8980 openacc.f90, openacc.mod, openacc_kinds.mod.
8981 (omp_lib.mod): Generalize into...
8982 (%.mod): ... this new rule.
8983 (openacc_kinds.mod, openacc.mod): New rules.
8984 * plugin/configfrag.ac: New file.
8985 * configure.ac: Move plugin/offloading support into it. Include
8986 it. Instantiate testsuite/libgomp-test-support.pt.exp.
8987 * plugin/Makefrag.am: New file.
8988 * testsuite/Makefile.am (OFFLOAD_TARGETS)
8989 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8990 export.
8991 (libgomp-test-support.exp): New rule.
8992 (all-local): Depend on it.
8993 * Makefile.in: Regenerate.
8994 * testsuite/Makefile.in: Regenerate.
8995 * config.h.in: Likewise.
8996 * configure: Likewise.
8997 * configure.tgt: Harden shell syntax.
8998 * env.c: Include "oacc-int.h".
8999 (parse_acc_device_type): New function.
9000 (gomp_debug_var, goacc_device_type, goacc_device_num): New
9001 variables.
9002 (initialize_env): Initialize those. Call
9003 goacc_runtime_initialize.
9004 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9005 (gomp_fatal): Call gomp_vfatal.
9006 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9007 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9008 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9009 (splay_tree_node, splay_tree, splay_tree_key)
9010 (struct target_mem_desc, struct splay_tree_key_s)
9011 (struct gomp_memory_mapping, struct acc_dispatch_t)
9012 (struct gomp_device_descr, gomp_acc_insert_pointer)
9013 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9014 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9015 (gomp_free_memmap, gomp_fini_device): New declarations.
9016 (gomp_vdebug, gomp_debug): New macros.
9017 Include "splay-tree.h".
9018 * libgomp.map (OACC_2.0): New symbol version. Use for
9019 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9020 acc_set_device_type_h_, acc_get_device_type,
9021 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9022 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9023 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9024 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9025 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9026 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9027 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9028 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9029 acc_copyin_array_h_, acc_present_or_copyin,
9030 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9031 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9032 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9033 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9034 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9035 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9036 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9037 acc_update_device, acc_update_device_32_h_,
9038 acc_update_device_64_h_, acc_update_device_array_h_,
9039 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9040 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9041 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9042 acc_is_present_64_h_, acc_is_present_array_h_,
9043 acc_memcpy_to_device, acc_memcpy_from_device,
9044 acc_get_current_cuda_device, acc_get_current_cuda_context,
9045 acc_get_cuda_stream, acc_set_cuda_stream.
9046 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
9047 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9048 GOACC_update, GOACC_wait, GOACC_get_thread_num,
9049 GOACC_get_num_threads.
9050 (GOMP_PLUGIN_1.0): New symbol version. Use for
9051 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9052 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9053 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9054 GOMP_PLUGIN_acc_thread.
9055 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9056 environment variable.
9057 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9058 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9059 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9060 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9061 (splay_tree_remove): New declarations.
9062 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9063 (splay_tree_remove, splay_tree_lookup): Move into...
9064 * splay-tree.c: ... this new file.
9065 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9066 (splay_tree_node, splay_tree, splay_tree_key)
9067 (struct target_mem_desc, struct splay_tree_key_s)
9068 (struct gomp_device_descr): Don't declare.
9069 (num_devices_openmp): New variable.
9070 (gomp_get_num_devices ): Use it.
9071 (gomp_init_targets_once): New function.
9072 (gomp_get_num_devices ): Use it.
9073 (get_kind, gomp_copy_from_async, gomp_free_memmap)
9074 (gomp_fini_device, gomp_register_image_for_device): New functions.
9075 (gomp_map_vars): Add devaddrs parameter.
9076 (gomp_update): Add mm parameter.
9077 (gomp_init_device): Move most of it into...
9078 (gomp_init_tables): ... this new function.
9079 (gomp_register_images_for_device): Remove function.
9080 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9081 Make them hidden instead of static.
9082 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9083 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9084 (GOMP_target_end_data, GOMP_target_update)
9085 (gomp_load_plugin_for_device, gomp_target_init): Update for
9086 OpenACC changes.
9087 * oacc-async.c: New file.
9088 * oacc-cuda.c: Likewise.
9089 * oacc-host.c: Likewise.
9090 * oacc-init.c: Likewise.
9091 * oacc-int.h: Likewise.
9092 * oacc-mem.c: Likewise.
9093 * oacc-parallel.c: Likewise.
9094 * oacc-plugin.c: Likewise.
9095 * oacc-plugin.h: Likewise.
9096 * oacc-ptx.h: Likewise.
9097 * openacc.f90: Likewise.
9098 * openacc.h: Likewise.
9099 * openacc_lib.h: Likewise.
9100 * plugin/plugin-host.c: Likewise.
9101 * plugin/plugin-nvptx.c: Likewise.
9102 * libgomp-plugin.c: Likewise.
9103 * libgomp-plugin.h: Likewise.
9104 * libgomp_target.h: Remove file after merging content into the
9105 former file. Update all users.
9106 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9107 (offload_targets_s, offload_targets_s_openacc): New variables.
9108 (check_effective_target_openacc_nvidia_accel_present)
9109 (check_effective_target_openacc_nvidia_accel_selected): New
9110 procedures.
9111 (libgomp_init): Update for OpenACC changes.
9112 * testsuite/libgomp-test-support.exp.in: New file.
9113 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9114 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9115 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9116 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9117 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9118 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9119 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9120 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9121 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9122 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9123 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9124 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9125 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9126 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9127 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9128 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9129 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9130 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9131 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9132 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9133 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9134 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9135 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9136 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9137 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9138 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9139 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9140 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9141 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9142 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9143 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9144 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9145 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9146 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9147 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9148 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9149 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9150 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9151 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9152 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9153 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9154 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9155 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9156 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9157 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9158 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9159 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9160 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9161 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9162 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9163 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9164 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9165 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9166 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9167 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9168 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9169 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9170 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9171 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9172 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9173 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9174 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9175 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9176 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9177 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9178 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9179 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9180 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9181 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9182 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9183 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9184 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9185 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9186 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9187 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9188 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9189 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9190 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9191 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9192 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9193 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9194 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9195 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9196 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9197 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9198 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9199 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9200 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9201 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9202 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9203 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9204 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9205 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9206 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9207 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9208 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9209 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9210 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9211 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9212 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9213 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9214 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9215 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9216 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9217 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9218 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9219 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9220 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9221 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9222 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9223 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9224 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9225 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9226 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9227 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9228 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9229 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9230 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9231 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9232 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9233 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9234 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9235 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9236 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9237 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9238 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9239 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9240 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9241 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9242 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9243 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9244 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9245 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9246 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9247 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9248 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9249 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9250 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9251 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9252 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9253 Likewise.
9254 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9255 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9256 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9257 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9258 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9259 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9260 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9261 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9262 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9263 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9264 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9265 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9266 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9267 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9268 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9269 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9270 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9271 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9272 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9273 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9274 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9275 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9276 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9277 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9278 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9279 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9280 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9281 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9282 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9283 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9284 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9285 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9286 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9287 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9288 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9289 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9290 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9291 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9292 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9293 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9294 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9295 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9296 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9297 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9298 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9299 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9300 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9301 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9302 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9303 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9304 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9305 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9306 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9307 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9308 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9309 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9310 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9311 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9312 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9313 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9314
9315 2015-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
9316 Julian Brown <julian (a] codesourcery.com>
9317 David Malcolm <dmalcolm (a] redhat.com>
9318
9319 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9320 to "GNU Offloading and Multi Processing Runtime Library". Change
9321 all users.
9322 * configure: Regenerate.
9323 * libgomp.texi: Update.
9324
9325 2015-01-08 Thomas Schwinge <thomas (a] codesourcery.com>
9326
9327 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9328 "$tgt_dir/lib32".
9329 * configure: Regenerate.
9330
9331 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9332 "intelmic" in $offload_targets.
9333
9334 2015-01-05 Jakub Jelinek <jakub (a] redhat.com>
9335
9336 Update copyright years.
9337
9338 * libgomp.texi: Bump @copying's copyright year.
9339
9340 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com>
9341
9342 * testsuite/lib/libgomp.exp: Load target-utils.exp.
9343 Move load of target-supports.exp earlier.
9344
9345 2014-12-10 Ilya Verbin <ilya.verbin (a] intel.com>
9346
9347 * testsuite/libgomp.c/target-9.c: New test.
9348
9349 2014-12-09 Varvara Rainchik <varvara.rainchik (a] intel.com>
9350
9351 * config.h.in: Regenerate.
9352 * configure: Regenerate.
9353 * configure.ac: Add GCC_CHECK_EMUTLS.
9354 * libgomp.h: Add check for USE_EMUTLS: this case
9355 is equal to HAVE_TLS.
9356 * team.c: Likewise.
9357
9358 2014-12-03 Uros Bizjak <ubizjak (a] gmail.com>
9359
9360 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9361
9362 2014-11-28 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
9363 Ilya Verbin <ilya.verbin (a] intel.com>
9364
9365 * testsuite/libgomp.c/target-critical-1.c: New test.
9366
9367 2014-11-26 Jakub Jelinek <jakub (a] redhat.com>
9368
9369 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
9370 to dg-options unless expensive testing is on.
9371 (TESTITERS): Define to N if not defined.
9372 (main): Use TESTITERS instead of N.
9373 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9374 dg-additional-options depending on whether expensive testing is on.
9375 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9376 Decrease N to 100000 and CHUNKSZ to 10000.
9377
9378 2014-11-24 Jakub Jelinek <jakub (a] redhat.com>
9379
9380 PR fortran/63938
9381 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9382 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
9383
9384 2014-11-21 Steve Ellcey <sellcey (a] imgtec.com>
9385
9386 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9387
9388 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com>
9389
9390 PR bootstrap/63784
9391 * configure: Regenerated.
9392
9393 2014-11-19 Uros Bizjak <ubizjak (a] gmail.com>
9394
9395 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9396 vect_simd_clones effective target.
9397 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9398
9399 2014-11-14 Jakub Jelinek <jakub (a] redhat.com>
9400
9401 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9402 of 32 as block_size.
9403 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9404 instead of 32 as block_size.
9405
9406 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
9407 Ilya Verbin <ilya.verbin (a] intel.com>
9408
9409 * Makefile.in: Regenerate.
9410 * configure: Regenerate.
9411 * configure.ac: Set up offload_additional_options,
9412 offload_additional_lib_paths and offload_targets.
9413 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
9414 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
9415 * testsuite/Makefile.in: Regenerate.
9416 * testsuite/lib/libgomp.exp (libgomp_init): Append
9417 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
9418 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
9419 build directory to LD_LIBRARY_PATH for intelmic offload targets.
9420
9421 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
9422 Ilya Verbin <ilya.verbin (a] intel.com>
9423 Kirill Yukhin <kirill.yukhin (a] intel.com>
9424 Ilya Tocar <ilya.tocar (a] intel.com>
9425
9426 * testsuite/lib/libgomp.exp
9427 (check_effective_target_offload_device): New.
9428 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9429 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9430 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9431 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9432 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9433 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9434 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9435 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9436 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9437 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9438 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9439 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9440 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9441 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9442 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9443 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9444 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9445 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9446 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9447 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9448 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9449 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9450 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9451 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9452 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9453 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9454 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9455 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9456 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9457 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9458 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9459 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9460 * testsuite/libgomp.c/target-7.c: Fix test.
9461 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9462 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9463 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9464 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9465 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9466 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9467 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9468 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9469 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9470 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9471 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9472 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9473 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9474 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9475 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9476 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9477 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9478 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9479 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9480 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9481 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9482 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9483 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9484 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9485 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9486 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9487 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9488 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9489 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9490 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9491 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9492
9493 2014-11-13 Jakub Jelinek <jakub (a] redhat.com>
9494 Ilya Verbin <ilya.verbin (a] intel.com>
9495 Thomas Schwinge <thomas (a] codesourcery.com>
9496 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
9497
9498 * libgomp.map (GOMP_4.0.1): New symbol version.
9499 Add GOMP_offload_register.
9500 * libgomp_target.h: New file.
9501 * splay-tree.h: New file.
9502 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9503 (gomp_target_init): New forward declaration.
9504 (gomp_is_initialized): New static variable.
9505 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9506 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9507 New structures.
9508 (offload_images, num_offload_images, devices, num_devices): New static
9509 variables.
9510 (splay_compare): New static function.
9511 (struct gomp_device_descr): New structure.
9512 (gomp_get_num_devices): Call gomp_target_init.
9513 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9514 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9515 (GOMP_offload_register): New function.
9516 (GOMP_target): Arrange for host callback to be performed in a separate
9517 initial thread and contention group, inheriting ICVs from
9518 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
9519 Add device initialization and lookup for target function in splay tree.
9520 (GOMP_target_data): Add device initialization and call gomp_map_vars.
9521 (GOMP_target_end_data): Call gomp_unmap_vars.
9522 (GOMP_target_update): Add device initialization and call gomp_update.
9523 (gomp_load_plugin_for_device, gomp_register_images_for_device)
9524 (gomp_target_init): New static functions.
9525
9526 2014-11-13 Bernd Schmidt <bernds (a] codesourcery.com>
9527 Thomas Schwinge <thomas (a] codesourcery.com>
9528 Ilya Verbin <ilya.verbin (a] intel.com>
9529 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
9530
9531 * config.h.in: Regenerate.
9532 * configure: Regenerate.
9533 * configure.ac: Check for libdl, required for plugin support.
9534 (PLUGIN_SUPPORT): Define if plugins are supported.
9535 (enable_offload_targets): Support Intel MIC targets.
9536 (OFFLOAD_TARGETS): List of target names suitable for offloading.
9537
9538 2014-11-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
9539
9540 PR target/63610
9541 * configure: Regenerate.
9542
9543 2014-11-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
9544
9545 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9546
9547 2014-10-06 Marek Polacek <polacek (a] redhat.com>
9548
9549 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9550 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9551 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9552 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9553
9554 2014-10-06 Marek Polacek <polacek (a] redhat.com>
9555
9556 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9557 * testsuite/libgomp.c/nqueens-1.c: Likewise.
9558 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9559 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9560 * testsuite/libgomp.c/pr36802-2.c: Likewise.
9561 * testsuite/libgomp.c/pr36802-3.c: Likewise.
9562 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
9563 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
9564 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9565 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9566 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9567 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9568 * testsuite/libgomp.c/omp-single-1.c: Likewise.
9569 * testsuite/libgomp.c/omp-single-2.c: Likewise.
9570 * testsuite/libgomp.c/omp_matvec.c: Likewise.
9571 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
9572 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
9573 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
9574 declarations.
9575
9576 2014-10-03 Jakub Jelinek <jakub (a] redhat.com>
9577
9578 PR libgomp/61200
9579 * testsuite/libgomp.c/pr61200.c: New test.
9580
9581 2014-09-18 Jakub Jelinek <jakub (a] redhat.com>
9582
9583 PR c++/63248
9584 * testsuite/libgomp.c++/pr63248.C: New test.
9585
9586 2014-08-04 Jakub Jelinek <jakub (a] redhat.com>
9587
9588 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
9589 is not zero, but taskgroup->children is NULL and there are
9590 any task->children, schedule those instead of waiting.
9591 * testsuite/libgomp.c/depend-6.c: New test.
9592 * testsuite/libgomp.c/depend-7.c: New test.
9593 * testsuite/libgomp.c/depend-8.c: New test.
9594 * testsuite/libgomp.c/depend-9.c: New test.
9595 * testsuite/libgomp.c/depend-10.c: New test.
9596
9597 2014-08-01 Jakub Jelinek <jakub (a] redhat.com>
9598
9599 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9600 (struct gomp_taskwait): New type.
9601 (struct gomp_task): Add taskwait and parent_depends_on, remove
9602 in_taskwait and taskwait_sem fields.
9603 (gomp_finish_task): Don't destroy taskwait_sem.
9604 * task.c (gomp_init_task): Don't init in_taskwait, instead init
9605 taskwait and parent_depends_on.
9606 (GOMP_task): For if (0) tasks with depend clause that depend on
9607 earlier tasks don't defer them, instead call
9608 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9609 Initialize redundant_out field, for redundant out entries just
9610 move them at the end of linked list instead of removing them
9611 completely, and set redundant_out flag instead of redundant.
9612 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
9613 that task.
9614 (gomp_task_run_post_handle_dependers): If parent is in
9615 gomp_task_maybe_wait_for_dependencies and newly runnable task
9616 is not parent_depends_on, queue it in parent->children linked
9617 list after all runnable tasks with parent_depends_on set.
9618 Adjust for addition of taskwait indirection.
9619 (gomp_task_run_post_remove_parent): If parent is in
9620 gomp_task_maybe_wait_for_dependencies and task to be removed
9621 is parent_depends_on, decrement n_depend and if needed awake
9622 parent. Adjust for addition of taskwait indirection.
9623 (GOMP_taskwait): Adjust for addition of taskwait indirection.
9624 (gomp_task_maybe_wait_for_dependencies): New function.
9625 * testsuite/libgomp.c/depend-5.c: New test.
9626
9627 2014-07-13 Tobias Burnus <burnus (a] net-b.de>
9628
9629 * testsuite/libgomp.fortran/pr34020.f90: Make compile
9630 with TS 18508/Fortran 2015.
9631
9632 2014-07-06 Marek Polacek <polacek (a] redhat.com>
9633
9634 PR c/6940
9635 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9636
9637 2014-07-03 Jakub Jelinek <jakub (a] redhat.com>
9638
9639 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9640 matches regex $lang_source_re, add $lang_include_flags to options.
9641 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9642 * testsuite/libgomp.c++/c++.exp: Likewise.
9643 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
9644 and lang_include_flags instead of adding -fintrinsic-modules-path= to
9645 ALWAYS_CFLAGS.
9646 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9647
9648 2014-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
9649
9650 * testsuite/libgomp.fortran/fortran.exp: Explain
9651 gfortran-dg-runtest usage.
9652
9653 2014-06-25 Jakub Jelinek <jakub (a] redhat.com>
9654
9655 * testsuite/libgomp.fortran/simd5.f90: New test.
9656 * testsuite/libgomp.fortran/simd6.f90: New test.
9657 * testsuite/libgomp.fortran/simd7.f90: New test.
9658
9659 2014-06-24 Jakub Jelinek <jakub (a] redhat.com>
9660
9661 * testsuite/libgomp.c/for-2.c: Define SC to static for
9662 #pragma omp for simd testing.
9663 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9664 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9665 SC macro.
9666 * testsuite/libgomp.c/simd-14.c: New test.
9667 * testsuite/libgomp.c/simd-15.c: New test.
9668 * testsuite/libgomp.c/simd-16.c: New test.
9669 * testsuite/libgomp.c/simd-17.c: New test.
9670 * testsuite/libgomp.c++/for-10.C: Define SC to static for
9671 #pragma omp for simd testing.
9672 * testsuite/libgomp.c++/simd10.C: New test.
9673 * testsuite/libgomp.c++/simd11.C: New test.
9674 * testsuite/libgomp.c++/simd12.C: New test.
9675 * testsuite/libgomp.c++/simd13.C: New test.
9676
9677 * testsuite/libgomp.fortran/aligned1.f03: New test.
9678 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
9679 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9680 tasks with !$omp parallel !$omp single.
9681 * testsuite/libgomp.fortran/target8.f90: New test.
9682 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9683 not to use trim in the combiner, instead call elemental function.
9684 (fn): New elemental function.
9685 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9686 Make elemental.
9687 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9688 omp_in): Likewise.
9689 * testsuite/libgomp.fortran/udr12.f90: New test.
9690 * testsuite/libgomp.fortran/udr13.f90: New test.
9691 * testsuite/libgomp.fortran/udr14.f90: New test.
9692 * testsuite/libgomp.fortran/udr15.f90: New test.
9693
9694 2014-06-18 Jakub Jelinek <jakub (a] redhat.com>
9695
9696 * omp_lib.f90.in (openmp_version): Set to 201307.
9697 * omp_lib.h.in (openmp_version): Likewise.
9698 * testsuite/libgomp.c/target-8.c: New test.
9699 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9700 and inbranch clauses.
9701 * testsuite/libgomp.fortran/depend-3.f90: New test.
9702 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9703 openmp_version.
9704 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9705 * testsuite/libgomp.fortran/target1.f90: New test.
9706 * testsuite/libgomp.fortran/target2.f90: New test.
9707 * testsuite/libgomp.fortran/target3.f90: New test.
9708 * testsuite/libgomp.fortran/target4.f90: New test.
9709 * testsuite/libgomp.fortran/target5.f90: New test.
9710 * testsuite/libgomp.fortran/target6.f90: New test.
9711 * testsuite/libgomp.fortran/target7.f90: New test.
9712
9713 2014-06-10 Jakub Jelinek <jakub (a] redhat.com>
9714
9715 PR fortran/60928
9716 * testsuite/libgomp.fortran/allocatable9.f90: New test.
9717 * testsuite/libgomp.fortran/allocatable10.f90: New test.
9718 * testsuite/libgomp.fortran/allocatable11.f90: New test.
9719 * testsuite/libgomp.fortran/allocatable12.f90: New test.
9720 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9721 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9722 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9723 * testsuite/libgomp.fortran/associate1.f90: New test.
9724 * testsuite/libgomp.fortran/associate2.f90: New test.
9725 * testsuite/libgomp.fortran/procptr1.f90: New test.
9726
9727 2014-06-06 Jakub Jelinek <jakub (a] redhat.com>
9728
9729 * testsuite/libgomp.fortran/simd1.f90: New test.
9730 * testsuite/libgomp.fortran/udr1.f90: New test.
9731 * testsuite/libgomp.fortran/udr2.f90: New test.
9732 * testsuite/libgomp.fortran/udr3.f90: New test.
9733 * testsuite/libgomp.fortran/udr4.f90: New test.
9734 * testsuite/libgomp.fortran/udr5.f90: New test.
9735 * testsuite/libgomp.fortran/udr6.f90: New test.
9736 * testsuite/libgomp.fortran/udr7.f90: New test.
9737 * testsuite/libgomp.fortran/udr8.f90: New test.
9738 * testsuite/libgomp.fortran/udr9.f90: New test.
9739 * testsuite/libgomp.fortran/udr10.f90: New test.
9740 * testsuite/libgomp.fortran/udr11.f90: New test.
9741
9742 2014-05-27 Uros Bizjak <ubizjak (a] gmail.com>
9743
9744 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
9745 vect_simd_clones effective target.
9746 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9747
9748 2014-05-21 Jakub Jelinek <jakub (a] redhat.com>
9749
9750 PR middle-end/61252
9751 * testsuite/libgomp.c++/simd-9.C: New test.
9752
9753 2014-05-18 Uros Bizjak <ubizjak (a] gmail.com>
9754
9755 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9756 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9757 texts according to their @menu entry positions.
9758
9759 2014-05-11 Jakub Jelinek <jakub (a] redhat.com>
9760
9761 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9762 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9763 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9764 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9765 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9766 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9767 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9768 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9769 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9770 * testsuite/libgomp.fortran/depend-1.f90: New test.
9771 * testsuite/libgomp.fortran/depend-2.f90: New test.
9772 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9773 * testsuite/libgomp.fortran/simd1.f90: New test.
9774 * testsuite/libgomp.fortran/simd2.f90: New test.
9775 * testsuite/libgomp.fortran/simd3.f90: New test.
9776 * testsuite/libgomp.fortran/simd4.f90: New test.
9777 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
9778
9779 2014-05-02 Jakub Jelinek <jakub (a] redhat.com>
9780
9781 * testsuite/libgomp.c/simd-10.c: New test.
9782 * testsuite/libgomp.c/simd-11.c: New test.
9783 * testsuite/libgomp.c/simd-12.c: New test.
9784 * testsuite/libgomp.c/simd-13.c: New test.
9785
9786 2014-04-24 Jakub Jelinek <jakub (a] redhat.com>
9787
9788 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9789 atomic type clauses in any order and optional comma in between.
9790 * testsuite/libgomp.c++/atomic-15.C: Likewise.
9791 * testsuite/libgomp.c/atomic-17.c: Likewise.
9792
9793 * testsuite/libgomp.c/simd-7.c: New test.
9794 * testsuite/libgomp.c/simd-8.c: New test.
9795 * testsuite/libgomp.c/simd-9.c: New test.
9796 * testsuite/libgomp.c/loop-16.c: New test.
9797
9798 2014-04-02 Richard Henderson <rth (a] redhat.com>
9799
9800 * config/linux/futex.h (futex_wait): Get error value from errno.
9801 (futex_wake): Likewise.
9802
9803 2014-03-25 Jakub Jelinek <jakub (a] redhat.com>
9804
9805 PR c++/60331
9806 * testsuite/libgomp.c++/udr-11.C: New test.
9807 * testsuite/libgomp.c++/udr-12.C: New test.
9808 * testsuite/libgomp.c++/udr-13.C: New test.
9809 * testsuite/libgomp.c++/udr-14.C: New test.
9810 * testsuite/libgomp.c++/udr-15.C: New test.
9811 * testsuite/libgomp.c++/udr-16.C: New test.
9812 * testsuite/libgomp.c++/udr-17.C: New test.
9813 * testsuite/libgomp.c++/udr-18.C: New test.
9814 * testsuite/libgomp.c++/udr-19.C: New test.
9815
9816 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
9817
9818 Update copyright years
9819
9820 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
9821
9822 * hashtab.h: Use the standard form for the copyright notice.
9823
9824 2014-01-02 Tobias Burnus <burnus (a] net-b.de>
9825
9826 * libgomp.texi: Bump @copying's copyright year.
9827
9828 2013-12-17 Andreas Tobler <andreast (a] gcc.gnu.org>
9829
9830 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
9831 alloca () with __builtin_alloca ().
9832 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9833 * testsuite/libgomp.c/lock-3.c: Likewise.
9834 * testsuite/libgomp.c/pr48591.c: Likewise.
9835
9836 2013-12-17 Jakub Jelinek <jakub (a] redhat.com>
9837
9838 PR testsuite/59534
9839 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9840 comparisons.
9841
9842 2013-12-16 Jakub Jelinek <jakub (a] redhat.com>
9843
9844 PR libgomp/58756
9845 * testsuite/libgomp.c/pr58756.c: New test.
9846
9847 2013-12-12 Jakub Jelinek <jakub (a] redhat.com>
9848
9849 PR libgomp/59467
9850 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9851 !$omp parallel.
9852
9853 2013-11-07 Thomas Schwinge <thomas (a] codesourcery.com>
9854
9855 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9856 ALWAYS_CFLAGS.
9857 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9858 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9859 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9860 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9861 Likewise.
9862
9863 * libgomp_g.h: Include <stddef.h> for size_t.
9864
9865 * libgomp.spec.in: Update comment about libgomp's dependencies.
9866 * configure.ac: Likewise.
9867 * configure: Regenerate.
9868
9869 2013-10-16 Tobias Burnus <burnus (a] net-b.de>
9870
9871 * libgomp.texi: (Runtime Library Routines): Update references for
9872 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9873 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9874 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9875 (Environment Variables): Update references for OpenMP 4.0. Add
9876 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9877 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9878 order.
9879
9880 2013-10-14 Jakub Jelinek <jakub (a] redhat.com>
9881
9882 * env.c (parse_bind_var): Initialize value to avoid
9883 (false positive) warning.
9884
9885 2013-10-12 Jakub Jelinek <jakub (a] redhat.com>
9886
9887 PR libgomp/58691
9888 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9889 to check variable.
9890 (gomp_init_num_threads): Move i variable declaration into
9891 #ifdef CPU_ALLOC_SIZE block.
9892 * config/linux/affinity.c (gomp_affinity_init_level): Test
9893 gomp_places_list_len == 0 rather than gomp_places_list == 0
9894 when checking for topology reading error.
9895 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9896 * env.c (parse_affinity): Add ignore argument, if true, don't populate
9897 gomp_places_list, only parse env var and always return false.
9898 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
9899 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9900 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9901 and either of these variables were parsed correctly into a places
9902 list.
9903
9904 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
9905 Jakub Jelinek <jakub (a] redhat.com>
9906
9907 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9908 of 5 loopfn matches.
9909 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9910 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9911 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9912 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9913 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9914 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9915 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9916 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9917
9918 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
9919
9920 * Makefile.am (omp_lib.mod): Streamline rule.
9921 * Makefile.in: Regenerate.
9922
9923 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
9924 exceptions.
9925
9926 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9927 * testsuite/libgomp.fortran/lib1.f90: Likewise.
9928 * testsuite/libgomp.fortran/lib2.f: Likewise.
9929 * testsuite/libgomp.fortran/lib3.f: Likewise.
9930
9931 * configure.ac: Typo fix.
9932 * configure: Regenerate.
9933
9934 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
9935 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9936
9937 * omp.h.in: Don't touch the user's namespace.
9938
9939 2013-10-11 Jakub Jelinek <jakub (a] redhat.com>
9940 Tobias Burnus <burnus (a] net-b.de>
9941 Richard Henderson <rth (a] redhat.com>
9942
9943 * target.c: New file.
9944 * Makefile.am (libgomp_la_SOURCES): Add target.c.
9945 * Makefile.in: Regenerated.
9946 * libgomp_g.h (GOMP_task): Add depend argument.
9947 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9948 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9949 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9950 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9951 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9952 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9953 GOMP_taskgroup_start, GOMP_taskgroup_end,
9954 GOMP_parallel_sections): New prototypes.
9955 * fortran.c (omp_is_initial_device): Add ialias_redirect.
9956 (omp_is_initial_device_): New function.
9957 (ULP, STR1, STR2, ialias_redirect): Removed.
9958 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9959 omp_set_default_device_8_, omp_get_default_device_,
9960 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9961 functions.
9962 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9963 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9964 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9965 @@GOMP_4.0.
9966 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9967 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9968 omp_set_default_device, omp_set_default_device_,
9969 omp_set_default_device_8_, omp_get_default_device,
9970 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9971 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9972 omp_get_team_num_): Export @@OMP_4.0.
9973 * team.c (struct gomp_thread_start_data): Add place field.
9974 (gomp_thread_start): Clear thr->thread_pool and
9975 thr->task before returning. Use gomp_team_barrier_wait_final
9976 instead of gomp_team_barrier_wait. Initialize thr->place.
9977 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9978 team_cancelled and task_queued_count fields.
9979 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9980 before calling pthread_exit.
9981 (gomp_free_thread): No longer static. Use
9982 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9983 (gomp_team_start): Add flags argument. Set
9984 thr->thread_pool->threads_busy to nthreads immediately after creating
9985 new pool. Use gomp_managed_threads_lock instead of
9986 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
9987 (gomp_team_end): Use gomp_managed_threads_lock instead of
9988 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
9989 of gomp_team_barrier_wait. If team->team_cancelled, call
9990 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
9991 rather than thr->ts.work_share.
9992 (initialize_team): Don't call gomp_sem_init here.
9993 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9994 caller.
9995 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9996 * env.c (gomp_global_icv): Add default_device_var, target_data and
9997 bind_var initializers.
9998 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9999 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10000 gomp_places_list_len): New variables.
10001 (parse_bind_var, parse_one_place, parse_places_var): New functions.
10002 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10003 sized places.
10004 (gomp_cancel_var): New global variable.
10005 (parse_int): New function.
10006 (handle_omp_display_env): New function.
10007 (initialize_env): Use it. Initialize default_device_var.
10008 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
10009 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
10010 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
10011 been successfully parsed (and call gomp_init_affinity in that case).
10012 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10013 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10014 omp_get_team_num, omp_is_initial_device): New functions.
10015 * libgomp.h: Include stdlib.h.
10016 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10017 Define.
10018 (struct target_mem_desc): Forward declare.
10019 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10020 and thread_limit_var fields.
10021 (gomp_get_num_devices): New prototype.
10022 (gomp_cancel_var): New extern decl.
10023 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10024 team_cancelled and task_queued_count fields. Add comments about
10025 task_{,queued_,running_}count.
10026 (gomp_cancel_kind): New enum.
10027 (gomp_work_share_end_cancel): New prototype.
10028 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10029 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10030 and depend fields.
10031 (struct gomp_taskgroup): New type.
10032 (struct gomp_task_depend_entry,
10033 struct gomp_dependers_vec): New types.
10034 (gomp_finish_task): Free depend_hash if non-NULL.
10035 (struct gomp_team_state): Add place_partition_off
10036 and place_partition_len fields.
10037 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10038 gomp_places_list_len): New extern decls.
10039 (struct gomp_thread): Add place field.
10040 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10041 (gomp_init_thread_affinity): Add place argument.
10042 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10043 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10044 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10045 gomp_affinity_init_level, gomp_affinity_print_place): New
10046 prototypes.
10047 (gomp_team_start): Add flags argument.
10048 (gomp_thread_limit_var, gomp_remaining_threads_count,
10049 gomp_remaining_threads_lock): Remove.
10050 (gomp_managed_threads_lock): New variable.
10051 (struct gomp_thread_pool): Add threads_busy field.
10052 (gomp_free_thread): New prototype.
10053 * task.c: Include hashtab.h.
10054 (hash_entry_type): New typedef.
10055 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10056 (gomp_init_task): Clear dependers, depend_hash, depend_count,
10057 copy_ctors_done and taskgroup fields.
10058 (GOMP_task): Add depend argument, handle depend clauses. If
10059 gomp_team_barrier_cancelled or if it's taskgroup has been
10060 cancelled, don't queue or start new tasks. Set copy_ctors_done
10061 field if needed. Initialize taskgroup field. If copy_ctors_done
10062 and already cancelled, don't discard the task. If taskgroup is
10063 non-NULL, enqueue the task into taskgroup queue. Increment
10064 num_children field in taskgroup. Increment task_queued_count.
10065 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10066 gomp_task_run_post_remove_taskgroup): New inline functions.
10067 (gomp_task_run_post_handle_depend_hash,
10068 gomp_task_run_post_handle_dependers,
10069 gomp_task_run_post_handle_depend): New functions.
10070 (GOMP_taskwait): Use them. If more than one new tasks
10071 have been queued, wake other threads if needed.
10072 (gomp_barrier_handle_tasks): Likewise. If
10073 gomp_team_barrier_cancelled, don't start any new tasks, just free
10074 all tasks.
10075 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10076 * omp_lib.f90.in
10077 (omp_proc_bind_kind, omp_proc_bind_false,
10078 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10079 omp_proc_bind_spread): New params.
10080 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10081 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10082 omp_get_team_num, omp_is_initial_device): New interfaces.
10083 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10084 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10085 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10086 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10087 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10088 useless use omp_lib_kinds.
10089 * omp.h.in (omp_proc_bind_t): New typedef.
10090 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10091 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10092 omp_get_team_num, omp_is_initial_device): New prototypes.
10093 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10094 through to gomp_team_start.
10095 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10096 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10097 Adjust gomp_parallel_loop_start callers.
10098 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10099 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10100 GOMP_loop_end_cancel): New functions.
10101 (GOMP_parallel_end): Add ialias_redirect.
10102 * hashtab.h: New file.
10103 * libgomp.texi (Environment Variables): Minor cleanup,
10104 update section refs to OpenMP 4.0rc2.
10105 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10106 environment variables.
10107 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10108 team->work_shares_to_free to thr->ts.work_share before calling
10109 free_work_share.
10110 (gomp_work_share_end_cancel): New function.
10111 * config/linux/proc.c: Include errno.h.
10112 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10113 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10114 sizeof (cpu_set_t) to determine number of iterations. Fix up check
10115 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
10116 gomp_cpuset_size is sizeof (cpu_set_t).
10117 (gomp_init_num_threads): Initialize gomp_cpuset_size,
10118 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10119 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10120 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
10121 contain any logical CPUs.
10122 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10123 is NULL. Use gomp_cpusetp instead of &cpuset and pass
10124 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10125 pthread_getaffinity_np. Check gomp_places_list instead of
10126 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
10127 * config/linux/bar.c (gomp_barrier_wait_end,
10128 gomp_barrier_wait_last): Use BAR_* defines.
10129 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
10130 from state where needed. Set work_share_cancelled to 0 on last
10131 thread.
10132 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10133 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10134 functions.
10135 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10136 Add cpusetsize argument.
10137 (gomp_cpuset_size, gomp_cpusetp): Declare.
10138 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10139 (affinity_counter): Remove.
10140 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10141 if CPU_ALLOC_SIZE isn't defined.
10142 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10143 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10144 bind current thread to the first place.
10145 (gomp_init_thread_affinity): Rewritten. Add place argument, just
10146 pthread_setaffinity_np to gomp_places_list[place].
10147 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10148 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10149 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10150 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10151 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10152 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10153 (gomp_barrier_t): Add awaited_final field.
10154 (gomp_barrier_init): Initialize awaited_final field.
10155 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10156 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10157 prototypes.
10158 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
10159 defines.
10160 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10161 gomp_team_barrier_cancelled): New inline functions.
10162 (gomp_barrier_last_thread,
10163 gomp_team_barrier_set_task_pending,
10164 gomp_team_barrier_clear_task_pending,
10165 gomp_team_barrier_set_waiting_for_tasks,
10166 gomp_team_barrier_waiting_for_tasks,
10167 gomp_team_barrier_done): Use BAR_* defines.
10168 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10169 (gomp_barrier_wait_end): Use BAR_* defines.
10170 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10171 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10172 Use BAR_* defines.
10173 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10174 gomp_team_barrier_cancel): New functions.
10175 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10176 argument.
10177 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10178 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10179 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10180 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10181 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10182 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10183 (gomp_barrier_t): Add cancellable field.
10184 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10185 gomp_team_barrier_cancel): New prototypes.
10186 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10187 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10188 gomp_team_barrier_cancelled): New inline functions.
10189 (gomp_barrier_wait_start, gomp_barrier_last_thread,
10190 gomp_team_barrier_set_task_pending,
10191 gomp_team_barrier_clear_task_pending,
10192 gomp_team_barrier_set_waiting_for_tasks,
10193 gomp_team_barrier_waiting_for_tasks,
10194 gomp_team_barrier_done): Use BAR_* defines.
10195 * barrier.c (GOMP_barrier_cancel): New function.
10196 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10197 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10198 omp_proc_bind_spread): New params.
10199 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10200 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10201 omp_get_team_num, omp_is_initial_device): New externals.
10202 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10203 New functions.
10204 (gomp_resolve_num_threads): Adjust for thread_limit now being in
10205 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10206 infinity. If not nested, just return minimum of max_num_threads
10207 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10208 to the returned value. Otherwise, don't update atomically
10209 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10210 (GOMP_parallel_end): Adjust for thread_limit now being in
10211 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10212 infinity. Adjust threads_busy in the pool rather than
10213 gomp_remaining_threads_count. Remember team->nthreads and call
10214 gomp_team_end before adjusting threads_busy, if not nested
10215 afterwards, just set it to 1 non-atomically. Add ialias.
10216 (GOMP_parallel_start): Adjust gomp_team_start caller.
10217 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10218 * testsuite/libgomp.c/affinity-1.c: New test.
10219 * testsuite/libgomp.c/atomic-15.c: New test.
10220 * testsuite/libgomp.c/atomic-16.c: New test.
10221 * testsuite/libgomp.c/atomic-17.c: New test.
10222 * testsuite/libgomp.c/cancel-for-1.c: New test.
10223 * testsuite/libgomp.c/cancel-for-2.c: New test.
10224 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10225 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10226 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10227 * testsuite/libgomp.c/cancel-sections-1.c: New test.
10228 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10229 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10230 * testsuite/libgomp.c/depend-1.c: New test.
10231 * testsuite/libgomp.c/depend-2.c: New test.
10232 * testsuite/libgomp.c/depend-3.c: New test.
10233 * testsuite/libgomp.c/depend-4.c: New test.
10234 * testsuite/libgomp.c/for-1.c: New test.
10235 * testsuite/libgomp.c/for-1.h: New file.
10236 * testsuite/libgomp.c/for-2.c: New test.
10237 * testsuite/libgomp.c/for-2.h: New file.
10238 * testsuite/libgomp.c/for-3.c: New test.
10239 * testsuite/libgomp.c/pr58392.c: New test.
10240 * testsuite/libgomp.c/simd-1.c: New test.
10241 * testsuite/libgomp.c/simd-2.c: New test.
10242 * testsuite/libgomp.c/simd-3.c: New test.
10243 * testsuite/libgomp.c/simd-4.c: New test.
10244 * testsuite/libgomp.c/simd-5.c: New test.
10245 * testsuite/libgomp.c/simd-6.c: New test.
10246 * testsuite/libgomp.c/target-1.c: New test.
10247 * testsuite/libgomp.c/target-2.c: New test.
10248 * testsuite/libgomp.c/target-3.c: New test.
10249 * testsuite/libgomp.c/target-4.c: New test.
10250 * testsuite/libgomp.c/target-5.c: New test.
10251 * testsuite/libgomp.c/target-6.c: New test.
10252 * testsuite/libgomp.c/target-7.c: New test.
10253 * testsuite/libgomp.c/taskgroup-1.c: New test.
10254 * testsuite/libgomp.c/thread-limit-1.c: New test.
10255 * testsuite/libgomp.c/thread-limit-2.c: New test.
10256 * testsuite/libgomp.c/thread-limit-3.c: New test.
10257 * testsuite/libgomp.c/udr-1.c: New test.
10258 * testsuite/libgomp.c/udr-2.c: New test.
10259 * testsuite/libgomp.c/udr-3.c: New test.
10260 * testsuite/libgomp.c++/affinity-1.C: New test.
10261 * testsuite/libgomp.c++/atomic-10.C: New test.
10262 * testsuite/libgomp.c++/atomic-11.C: New test.
10263 * testsuite/libgomp.c++/atomic-12.C: New test.
10264 * testsuite/libgomp.c++/atomic-13.C: New test.
10265 * testsuite/libgomp.c++/atomic-14.C: New test.
10266 * testsuite/libgomp.c++/atomic-15.C: New test.
10267 * testsuite/libgomp.c++/cancel-for-1.C: New test.
10268 * testsuite/libgomp.c++/cancel-for-2.C: New test.
10269 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10270 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10271 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10272 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10273 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10274 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10275 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10276 * testsuite/libgomp.c++/cancel-test.h: New file.
10277 * testsuite/libgomp.c++/for-9.C: New test.
10278 * testsuite/libgomp.c++/for-10.C: New test.
10279 * testsuite/libgomp.c++/for-11.C: New test.
10280 * testsuite/libgomp.c++/simd-1.C: New test.
10281 * testsuite/libgomp.c++/simd-2.C: New test.
10282 * testsuite/libgomp.c++/simd-3.C: New test.
10283 * testsuite/libgomp.c++/simd-4.C: New test.
10284 * testsuite/libgomp.c++/simd-5.C: New test.
10285 * testsuite/libgomp.c++/simd-6.C: New test.
10286 * testsuite/libgomp.c++/simd-7.C: New test.
10287 * testsuite/libgomp.c++/simd-8.C: New test.
10288 * testsuite/libgomp.c++/target-1.C: New test.
10289 * testsuite/libgomp.c++/target-2.C: New test.
10290 * testsuite/libgomp.c++/target-2-aux.cc: New file.
10291 * testsuite/libgomp.c++/target-3.C: New test.
10292 * testsuite/libgomp.c++/taskgroup-1.C: New test.
10293 * testsuite/libgomp.c++/udr-1.C: New test.
10294 * testsuite/libgomp.c++/udr-2.C: New test.
10295 * testsuite/libgomp.c++/udr-3.C: New test.
10296 * testsuite/libgomp.c++/udr-4.C: New test.
10297 * testsuite/libgomp.c++/udr-5.C: New test.
10298 * testsuite/libgomp.c++/udr-6.C: New test.
10299 * testsuite/libgomp.c++/udr-7.C: New test.
10300 * testsuite/libgomp.c++/udr-8.C: New test.
10301 * testsuite/libgomp.c++/udr-9.C: New test.
10302
10303 2013-09-20 Jakub Jelinek <jakub (a] redhat.com>
10304
10305 PR testsuite/57605
10306 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10307 ALWAYS_CFLAGS.
10308
10309 2013-09-20 Alan Modra <amodra (a] gmail.com>
10310
10311 * configure: Regenerate.
10312
10313 2013-09-19 Jakub Jelinek <jakub (a] redhat.com>
10314
10315 * testsuite/libgomp.c/sections-2.c: New test.
10316
10317 2013-06-28 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
10318
10319 * testsuite/libgomp.fortran/strassen.f90:
10320 Add dg-skip-if aarch64_tiny.
10321
10322 2013-06-20 Iain Sandoe <iain (a] codesourcery.com>
10323 Cesar Philippidis <cesar (a] codesourcery.com>
10324
10325 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10326 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10327 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10328 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10329 * testsuite/libgomp.graphite/graphite.exp: Likewise.
10330 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10331 Use dg-runtest rather than gfortran-dg-runtest.
10332
10333 2013-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
10334
10335 * testsuite/libgomp.c/icv-2.c: Extend current handling of
10336 Linux-based x86 systems to cover all GNU systems.
10337 * testsuite/libgomp.c/lock-3.c: Likewise.
10338 * testsuite/libgomp.c/pr48591.c: Likewise.
10339
10340 2013-06-06 Thomas Schwinge <thomas (a] codesourcery.com>
10341
10342 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10343 GNU/Hurd, as done for Linux-based systems.
10344
10345 * config/posix/ptrlock.h: Fix comment.
10346
10347 2013-05-27 Tobias Burnus <burnus (a] net-b.de>
10348
10349 PR fortran/57423
10350 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10351 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10352 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10353 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10354 omp_destroy_nest_lock): Correct arguments to match the one in
10355 the OpenMP spec.
10356 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10357 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10358 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10359 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10360
10361 2013-05-16 Jakub Jelinek <jakub (a] redhat.com>
10362
10363 * testsuite/libgomp.c/loop-13.c: New test.
10364 * testsuite/libgomp.c/loop-14.c: New test.
10365 * testsuite/libgomp.c/loop-15.c: New test.
10366 * testsuite/libgomp.c++/loop-13.C: New test.
10367 * testsuite/libgomp.c++/loop-14.C: New test.
10368 * testsuite/libgomp.c++/loop-15.C: New test.
10369
10370 2013-02-06 Jakub Jelinek <jakub (a] redhat.com>
10371
10372 PR middle-end/56217
10373 * testsuite/libgomp.c++/pr56217.C: New test.
10374
10375 2013-02-01 Alan Modra <amodra (a] gmail.com>
10376
10377 * task.c (GOMP_task, GOMP_taskwait): Comment.
10378
10379 2013-01-31 Dmitry Vyukov <dvyukov (a] gcc.gnu.org>
10380 Joost VandeVondele <Joost.VandeVondele (a] mat.ethz.ch>
10381
10382 PR libgomp/55561
10383 * config/linux/wait.h (do_spin): Use atomic load for addr.
10384 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10385 for intptr and ptrlock.
10386 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10387 for ptrlock.
10388
10389 2013-01-22 Alan Modra <amodra (a] gmail.com>
10390
10391 PR libgomp/51376
10392 PR libgomp/56073
10393 * task.c (GOMP_task): Revert 2011-12-09 change.
10394 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
10395 barrier to read task->children..
10396 (gomp_barrier_handle_tasks): ..and matching atomic store with
10397 release barrier here when setting parent->children to NULL.
10398
10399 2013-01-16 Jakub Jelinek <jakub (a] redhat.com>
10400 Tobias Burnus <burnus (a] net-b.de>
10401
10402 PR driver/55884
10403 * testsuite/libgomp.fortran/fortran.exp: Use
10404 -fintrinsic-modules-path= instead of
10405 -fintrinsic-modules-path.
10406
10407 2013-01-14 Richard Sandiford <rdsandiford (a] googlemail.com>
10408
10409 Update copyright years.
10410
10411 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
10412
10413 * testsuite/libgomp.fortran/fortran.exp: Set
10414 -fintrinsic-modules-path.
10415
10416 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
10417
10418 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
10419 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
10420
10421 2012-11-21 Jakub Jelinek <jakub (a] redhat.com>
10422
10423 PR libgomp/55411
10424 * team.c (gomp_free_thread): Decrease gomp_managed_threads
10425 if pool had any threads_used.
10426
10427 2012-11-07 Jack Howarth <howarth (a] bromo.med.uc.edu>
10428
10429 * testsuite/libgomp.c++/pr24455.C: Use
10430 -Wl,-undefined,dynamic_lookup on darwin.
10431
10432 2012-11-07 David Edelsohn <dje.gcc (a] gmail.com>
10433
10434 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10435
10436 2012-10-24 Dominique d'Humieres <dominiq (a] lps.ens.fr>
10437
10438 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10439
10440 2012-10-23 Ian Bolton <ian.bolton (a] arm.com>
10441 Jim MacArthur <jim.macarthur (a] arm.com>
10442 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
10443 Nigel Stephens <nigel.stephens (a] arm.com>
10444 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com>
10445 Richard Earnshaw <rearnsha (a] arm.com>
10446 Sofiane Naci <sofiane.naci (a] arm.com>
10447 Stephen Thomas <stephen.thomas (a] arm.com>
10448 Tejas Belagod <tejas.belagod (a] arm.com>
10449 Yufeng Zhang <yufeng.zhang (a] arm.com>
10450
10451 * configure.tgt: Add AArch64.
10452
10453 2012-10-04 Jason Merrill <jason (a] redhat.com>
10454
10455 * testsuite/libgomp.c++/tls-init1.C: New.
10456
10457 2012-09-14 David Edelsohn <dje.gcc (a] gmail.com>
10458
10459 * configure: Regenerated.
10460
10461 2012-08-29 Chung-Lin Tang <cltang (a] codesourcery.com>
10462
10463 * config/linux/mips/futex.h (sys_futex0): Change to static
10464 function with noinline, nomips16 attributes under MIPS16. Adjust
10465 asm statement to place 'li v0,SYS_futex' immediately before
10466 syscall insn.
10467
10468 2012-07-04 Sandra Loosemore <sandra (a] codesourcery.com>
10469
10470 * libgomp.texi (Library Index): Renamed from "Index" to prevent
10471 conflict with index.html on case-insensitive file systems.
10472
10473 2012-07-03 Uros Bizjak <ubizjak (a] gmail.com>
10474
10475 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10476 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10477
10478 2012-07-02 Richard Guenther <rguenther (a] suse.de>
10479 Michael Matz <matz (a] suse.de>
10480 Tobias Grosser <tobias (a] grosser.es>
10481 Sebastian Pop <sebpop (a] gmail.com>
10482
10483 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10484 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10485 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10486 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10487
10488 2012-06-28 Andreas Schwab <schwab (a] linux-m68k.org>
10489
10490 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10491
10492 2012-06-22 Richard Guenther <rguenther (a] suse.de>
10493
10494 Merge from graphite branch
10495 2012-01-13 Tobias Grosser <tobias (a] grosser.es>
10496
10497 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10498 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10499
10500 2012-06-07 Jakub Jelinek <jakub (a] redhat.com>
10501
10502 PR middle-end/53580
10503 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10504 use GOMP_barrier () call instead.
10505 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10506 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10507 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10508 call GOMP_barrier instead.
10509 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10510
10511 2012-06-06 Jakub Jelinek <jakub (a] redhat.com>
10512
10513 PR libgomp/52993
10514 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10515 argument to memset call.
10516
10517 2012-05-16 H.J. Lu <hongjiu.lu (a] intel.com>
10518
10519 * configure: Regenerated.
10520
10521 2012-04-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org>
10522
10523 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10524
10525 2012-03-31 H.J. Lu <hongjiu.lu (a] intel.com>
10526
10527 PR bootstrap/52812
10528 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10529
10530 2012-03-22 Jakub Jelinek <jakub (a] redhat.com>
10531
10532 PR middle-end/52547
10533 * testsuite/libgomp.c/pr52547.c: New test.
10534
10535 2012-03-16 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
10536
10537 * testsuite/lib/libgomp.exp: load fortran-modules.exp
10538
10539 2012-03-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10540
10541 * configure.tgt (mips-sgi-irix6*): Remove.
10542
10543 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10544
10545 * configure.tgt (alpha*-dec-osf*): Remove.
10546
10547 * config/osf/sem.h: Remove.
10548 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10549
10550 2012-02-29 Eric Botcazou <ebotcazou (a] adacore.com>
10551
10552 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10553
10554 2012-02-27 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10555
10556 PR libstdc++/52188
10557 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
10558 Remove ENABLE_SYMVERS_SOL2.
10559 * configure: Regenerate.
10560 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10561 (PREPROCESS): New variable.
10562 (libgomp.ver): New target.
10563 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
10564 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10565 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10566 Use libgomp.ver.
10567 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10568 * Makefile.in: Regenerate.
10569
10570 2012-02-14 Walter Lee <walt (a] tilera.com>
10571
10572 * configure.tgt: Handle tilegx and tilepro.
10573 * config/linux/tile/futex.h: New file.
10574
10575 2012-02-08 Richard Guenther <rguenther (a] suse.de>
10576
10577 PR tree-optimization/46886
10578 * testsuite/libgomp.c/pr46886.c: New testcase.
10579
10580 2012-01-25 Matthias Klose <doko (a] ubuntu.com>
10581
10582 * config/linux/arm: Remove empty directory.
10583 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10584
10585 2011-12-09 Alan Modra <amodra (a] gmail.com>
10586
10587 PR libgomp/51376
10588 * task.c (GOMP_taskwait): Don't access task->children outside of
10589 task_lock mutex region.
10590 (GOMP_task): Likewise.
10591
10592 2011-12-06 Jakub Jelinek <jakub (a] redhat.com>
10593
10594 PR libgomp/51132
10595 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10596 to file scope.
10597 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10598 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10599 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10600 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10601 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10602
10603 2011-12-02 Alan Modra <amodra (a] gmail.com>
10604
10605 * config/linux/affinity.c: Use atomic rather than sync builtin.
10606 * config/linux/lock.c: Likewise.
10607 * config/linux/ptrlock.h: Likewise.
10608 * config/linux/ptrlock.c: Likewise.
10609 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10610 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10611 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
10612 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10613 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10614 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10615 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10616 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10617 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10618 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10619
10620 2011-11-30 Alan Modra <amodra (a] gmail.com>
10621
10622 PR libgomp/51298
10623 * config/linux/bar.h: Use atomic rather than sync builtins.
10624 * config/linux/bar.c: Likewise. Add missing acquire
10625 synchronisation on generation field.
10626 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10627 double unlock.
10628
10629 2011-11-30 Alan Modra <amodra (a] gmail.com>
10630
10631 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10632 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10633 * config/linux/mutex.h: Use atomic rather than sync builtins.
10634 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
10635 * config/linux/omp-lock.h: Comment fix.
10636 * config/linux/arm/mutex.h: Delete.
10637 * config/linux/powerpc/mutex.h: Delete.
10638 * config/linux/ia64/mutex.h: Delete.
10639 * config/linux/mips/mutex.h: Delete.
10640
10641 2011-11-30 Alan Modra <amodra (a] gmail.com>
10642
10643 PR libgomp/51249
10644 * config/linux/sem.h: Rewrite.
10645 * config/linux/sem.c: Rewrite.
10646
10647 2011-11-28 Richard Henderson <rth (a] redhat.com>
10648
10649 * libgomp.h (enum memmodel): New.
10650
10651 2011-11-21 Andreas Tobler <andreast (a] fgznet.ch>
10652
10653 * configure: Regenerate.
10654
10655 2011-10-10 Matthias Klose <doko (a] ubuntu.com>
10656
10657 * config/posix95: Remove empty directory.
10658
10659 2011-08-26 Jakub Jelinek <jakub (a] redhat.com>
10660
10661 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
10662
10663 2011-08-19 Jakub Jelinek <jakub (a] redhat.com>
10664
10665 PR fortran/49792
10666 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
10667 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
10668
10669 2011-08-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10670
10671 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
10672
10673 2011-08-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10674
10675 PR libgomp/49965
10676 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10677
10678 2011-08-03 Uros Bizjak <ubizjak (a] gmail.com>
10679
10680 * config/linux/proc.h: New.
10681 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
10682 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
10683 (gomp_init_num_threads): Update call to cpuset_popcount.
10684 (get_num_procs): Ditto.
10685 * config/linux/affinity.c (gomp_init_affinity): Call
10686 gomp_cpuset_popcount.
10687
10688 2011-08-02 Jakub Jelinek <jakub (a] redhat.com>
10689
10690 PR fortran/42041
10691 PR fortran/46752
10692 * omp.h.in (omp_in_final): New prototype.
10693 * omp_lib.f90.in (omp_in_final): New interface.
10694 (omp_integer_kind, omp_logical_kind): Remove
10695 and replace all its uses in the module with 4.
10696 (openmp_version): Change to 201107.
10697 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10698 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10699 kind for the parameters.
10700 (omp_in_final): New external.
10701 (openmp_version): Change to 201107.
10702 * task.c (omp_in_final): New function.
10703 (gomp_init_task): Initialize final_task.
10704 (GOMP_task): Remove unused attribute from flags. Handle final
10705 tasks.
10706 (GOMP_taskyield): New function.
10707 (omp_in_final): Return true if if (false) or final (true) task
10708 or descendant of final (true).
10709 * fortran.c (omp_in_final_): New function.
10710 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10711 (GOMP_3.0): Export GOMP_taskyield.
10712 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10713 variables.
10714 (parse_unsigned_long_list): New function.
10715 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
10716 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
10717 even if parse_affinity returned false.
10718 * config/linux/affinity.c (gomp_init_affinity): Handle
10719 gomp_cpu_affinity_len == 0.
10720 * libgomp_g.h (GOMP_taskyield): New prototype.
10721 * libgomp.h (struct gomp_task): Add final_task field.
10722 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10723 * team.c (gomp_team_start): Override new task's nthreads_var icv
10724 if list form OMP_NUM_THREADS has been used and it has value for
10725 the new nesting level.
10726
10727 * testsuite/libgomp.c/atomic-11.c: New test.
10728 * testsuite/libgomp.c/atomic-12.c: New test.
10729 * testsuite/libgomp.c/atomic-13.c: New test.
10730 * testsuite/libgomp.c/atomic-14.c: New test.
10731 * testsuite/libgomp.c/reduction-6.c: New test.
10732 * testsuite/libgomp.c/task-5.c: New test.
10733 * testsuite/libgomp.c++/atomic-2.C: New test.
10734 * testsuite/libgomp.c++/atomic-3.C: New test.
10735 * testsuite/libgomp.c++/atomic-4.C: New test.
10736 * testsuite/libgomp.c++/atomic-5.C: New test.
10737 * testsuite/libgomp.c++/atomic-6.C: New test.
10738 * testsuite/libgomp.c++/atomic-7.C: New test.
10739 * testsuite/libgomp.c++/atomic-8.C: New test.
10740 * testsuite/libgomp.c++/atomic-9.C: New test.
10741 * testsuite/libgomp.c++/task-8.C: New test.
10742 * testsuite/libgomp.c++/reduction-4.C: New test.
10743 * testsuite/libgomp.fortran/allocatable7.f90: New test.
10744 * testsuite/libgomp.fortran/allocatable8.f90: New test.
10745 * testsuite/libgomp.fortran/crayptr3.f90: New test.
10746 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10747 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10748 * testsuite/libgomp.fortran/pointer1.f90: New test.
10749 * testsuite/libgomp.fortran/pointer2.f90: New test.
10750 * testsuite/libgomp.fortran/task4.f90: New test.
10751
10752 2011-08-02 Tobias Burnus <burnus (a] net-b.de>
10753
10754 * libgomp.texi: Update OpenMP spec references to 3.1.
10755 (omp_in_final,OMP_PROC_BIND): New sections.
10756 (OMP_NUM_THREADS): Document that the value can be now a list.
10757 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10758
10759 2011-08-02 H.J. Lu <hongjiu.lu (a] intel.com>
10760
10761 * config/linux/x86/futex.h: Check __x86_64__ instead of
10762 __LP64__.
10763
10764 2011-07-29 Jakub Jelinek <jakub (a] redhat.com>
10765
10766 PR middle-end/49897
10767 PR middle-end/49898
10768 * testsuite/libgomp.c/pr49897-1.c: New test.
10769 * testsuite/libgomp.c/pr49897-2.c: New test.
10770 * testsuite/libgomp.c/pr49898-1.c: New test.
10771 * testsuite/libgomp.c/pr49898-2.c: New test.
10772
10773 2011-07-28 H.J. Lu <hongjiu.lu (a] intel.com>
10774
10775 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10776 for ia32 instead of ilp32.
10777
10778 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10779 * testsuite/libgomp.c/atomic-6.c: Likewise.
10780
10781 2011-07-23 Sebastian Pop <sebastian.pop (a] amd.com>
10782
10783 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10784 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10785
10786 2011-07-25 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10787
10788 PR libgomp/45351
10789 * config/osf/sem.h: New file.
10790 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10791
10792 2011-07-18 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10793
10794 PR target/49541
10795 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10796 ldflags.
10797
10798 2011-07-15 Jakub Jelinek <jakub (a] redhat.com>
10799
10800 * config/linux/wait.h (do_spin): New inline, largely copied
10801 from do_wait, just don't do futex_wait here, instead return true if
10802 it should be done.
10803 (do_wait): Implement using do_spin.
10804 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10805 to prototype.
10806 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10807 __sync_bool_compare_and_swap, pass the oldval to
10808 gomp_mutex_lock_slow.
10809 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10810 If all mutex contenders are just spinning and not sleeping, don't
10811 change state to 2 unnecessarily. Optimize the loop when state has
10812 already become 2 to use just one atomic operation per loop instead
10813 of two.
10814 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10815 to prototype.
10816 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10817 __sync_bool_compare_and_swap, pass the oldval to
10818 gomp_mutex_lock_slow.
10819
10820 2011-06-22 Jakub Jelinek <jakub (a] redhat.com>
10821
10822 PR libgomp/49490
10823 * iter.c (gomp_iter_static_next): For chunk size 0
10824 only use n ceil/ nthreads size for the first
10825 n % nthreads threads in the team instead of
10826 all threads except for the last few ones which
10827 get less work or none at all.
10828 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
10829 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10830 chunk argument, set run_sched_modifier to 0 for static
10831 resp. 1 for other kinds. If chunk argument is 0
10832 and not static, set value to 1.
10833
10834 2011-05-19 Jakub Jelinek <jakub (a] redhat.com>
10835
10836 PR c++/49043
10837 * testsuite/libgomp.c++/pr49043.C: New test.
10838
10839 PR c++/48869
10840 * testsuite/libgomp.c++/pr48869.C: New test.
10841
10842 2011-05-06 Jakub Jelinek <jakub (a] redhat.com>
10843
10844 PR fortran/48894
10845 * fortran.c: Include limits.h.
10846 (TO_INT): Define.
10847 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10848 *set.
10849 (omp_set_num_threads_8_, omp_set_schedule_8_,
10850 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10851 omp_get_team_size_8_): Use TO_INT macro.
10852 * testsuite/libgomp.fortran/pr48894.f90: New test.
10853
10854 2011-04-13 Jakub Jelinek <jakub (a] redhat.com>
10855
10856 PR middle-end/48591
10857 * testsuite/libgomp.c/pr48591.c: New test.
10858
10859 2011-03-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10860
10861 PR bootstrap/48135
10862 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
10863 * configure: Regenerate.
10864
10865 2011-02-27 Jakub Jelinek <jakub (a] redhat.com>
10866
10867 PR fortran/47886
10868 * testsuite/libgomp.fortran/task3.f90: New test.
10869
10870 2011-02-24 Tobias Burnus <burnus (a] net-b.de>
10871
10872 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10873
10874 2011-02-23 Jakub Jelinek <jakub (a] redhat.com>
10875
10876 PR libgomp/47854
10877 * libgomp.texi (omp_get_wtime): Don't say time in the past
10878 must be Unix Epoch.
10879
10880 2011-02-18 Jakub Jelinek <jakub (a] redhat.com>
10881
10882 PR libgomp/47804
10883 * testsuite/libgomp.fortran/fortran.exp: Check for both
10884 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
10885 but $blddir != "", still append ${blddir}/${lang_library_path}
10886 to ld_library_path.
10887
10888 2011-02-16 Tobias Burnus <burnus (a] net-b.de>
10889
10890 PR libgomp/47758
10891 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
10892 of libquadmath.a before adding its libpath to ldflags.
10893
10894 2011-02-14 Jakub Jelinek <jakub (a] redhat.com>
10895
10896 PR libgomp/47731
10897 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10898 to FUTEX_WAIT futex syscall.
10899 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
10900
10901 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
10902
10903 * configure: Regenerate.
10904
10905 2011-01-20 Benjamin Kosnik <bkoz (a] redhat.com>
10906
10907 PR libstdc++/36104
10908 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10909
10910 2011-01-16 Gerald Pfeifer
10911
10912 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10913
10914 2010-12-14 Jakub Jelinek <jakub (a] redhat.com>
10915
10916 PR fortran/46874
10917 * libgomp.fortran/allocatable6.f90: New test.
10918
10919 2010-12-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10920
10921 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10922 * configure: Regenerate.
10923
10924 2010-12-06 Dave Korn <dave.korn.cygwin (a] gmail.com>
10925
10926 PR target/40125
10927 PR lto/46695
10928 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
10929 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10930 * aclocal.m4: Regenerate.
10931 * configure: Regenerate.
10932 * Makefile.in: Regenerate.
10933 * testsuite/Makefile.in: Regenerate.
10934
10935 2010-12-02 Jakub Jelinek <jakub (a] redhat.com>
10936
10937 PR fortran/46753
10938 * libgomp.fortran/pr46753.f90: New test.
10939
10940 PR libgomp/43706
10941 * env.c (initialize_env): Default to spin count 300000
10942 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10943 is specified.
10944
10945 PR libgomp/45240
10946 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10947 at the end if sync builtins aren't supported.
10948
10949 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10950
10951 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10952
10953 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
10954
10955 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10956
10957 2010-11-24 Iain Sandoe <iains (a] gcc.gnu.org>
10958
10959 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10960
10961 2010-11-16 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
10962 Tobias Burnus <burnus (a] net-b.de>
10963
10964 PR fortran/32049
10965 * configure.ac:
10966 * configure: Regenerate.
10967
10968 2010-10-06 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
10969
10970 * config/linux/futex.h: New.
10971 * config/linux/arm/mutex.h: New.
10972 * configure.tgt (arm*-*-linux*): Add config path.
10973
10974 2010-09-30 Sebastian Pop <sebastian.pop (a] amd.com>
10975
10976 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10977
10978 2010-09-23 Tobias Burnus <burnus (a] net-b.de>
10979
10980 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10981 Change Fortran datatype to LOGICAL.
10982 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10983 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10984
10985 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
10986
10987 * configure: Regenerate.
10988
10989 2010-07-26 Jakub Jelinek <jakub (a] redhat.com>
10990
10991 * libgomp.texi: Add function keyword to a couple of Fortran
10992 interfaces, use integer instead of int for Fortran.
10993
10994 2010-07-26 Aldy Hernandez <aldyh (a] redhat.com>
10995
10996 * libgomp.texi: Fix spelling and pasto problems throughout.
10997 Adjust prototypes to match code.
10998
10999 2010-07-24 Tobias Burnus <burnus (a] net-b.de>
11000
11001 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11002 silence -fwhole-file warning.
11003
11004 2010-07-23 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
11005
11006 * configure.tgt (*-*-solaris2.[56]*): Removed.
11007
11008 2010-07-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
11009
11010 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11011 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11012 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11013 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11014 targetting solaris2*.
11015 * configure: Regenerate.
11016 * config.h.in: Regenerate.
11017
11018 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11019 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11020 Add libgomp_version_dep.
11021 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11022 versioning.
11023 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11024 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11025 * Makefile.in: Regenerate.
11026
11027 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11028 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11029 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11030 to common block, protected by
11031 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11032
11033 2010-06-10 Gerald Pfeifer <gerald (a] pfeifer.com>
11034
11035 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
11036
11037 2010-06-09 Iain Sandoe <iains (a] gcc.gnu.org>
11038
11039 PR bootstrap/43170
11040 * configure: Regenerate.
11041
11042 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11043
11044 PR other/43620
11045 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11046 * configure: Regenerate.
11047 * Makefile.in: Regenerate.
11048 * testsuite/Makefile.in: Regenerate.
11049
11050 2010-04-26 Jakub Jelinek <jakub (a] redhat.com>
11051
11052 PR c/43893
11053 * testsuite/libgomp.c/pr43893.c: New test.
11054 * testsuite/libgomp.c++/pr43893.C: New test.
11055
11056 2010-04-21 Jakub Jelinek <jakub (a] redhat.com>
11057
11058 PR middle-end/43570
11059 * testsuite/libgomp.fortran/vla8.f90: New test.
11060
11061 2010-04-20 Jakub Jelinek <jakub (a] redhat.com>
11062
11063 PR libgomp/43706
11064 * config/linux/affinity.c (gomp_init_affinity): Decrease
11065 gomp_available_cpus if affinity mask confines the process to fewer
11066 CPUs.
11067 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11068 non-NULL, just return gomp_available_cpus.
11069
11070 PR libgomp/43569
11071 * sections.c (gomp_sections_init): Initialize ws->mode.
11072
11073 2010-04-14 Uros Bizjak <ubizjak (a] gmail.com>
11074
11075 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11076 not unused bar variable.
11077 * configure: Regenerate.
11078
11079 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11080
11081 * Makefile.in: Regenerate.
11082 * aclocal.m4: Regenerate.
11083 * testsuite/Makefile.in: Regenerate.
11084
11085 2010-03-22 Jakub Jelinek <jakub (a] redhat.com>
11086
11087 PR libgomp/42942
11088 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11089 (initialize_env): Adjust callers.
11090 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11091 when the argument is 0.
11092
11093 * testsuite/libgomp.c/pr42942.c: New test.
11094
11095 2010-03-08 Tobias Grosser <grosser (a] fim.uni-passau.de>
11096
11097 PR middle-end/42644
11098 PR middle-end/42130
11099 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11100 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11101
11102 2010-01-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
11103
11104 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11105 * testsuite/libgomp.c++/task-6.C: Likewise.
11106
11107 2010-01-28 Steve Ellcey <sje (a] cup.hp.com>
11108
11109 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11110
11111 2010-01-26 Paolo Bonzini <bonzini (a] gnu.org>
11112
11113 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11114 * configure: Regenerate.
11115
11116 2010-01-26 Jakub Jelinek <jakub (a] redhat.com>
11117
11118 PR fortran/42866
11119 * testsuite/libgomp.fortran/allocatable5.f90: New test.
11120
11121 2010-01-20 Paolo Bonzini <bonzini (a] gnu.org>
11122
11123 * configure.ac: Test for executability of GFORTRAN.
11124 * configure: Regenerate.
11125
11126 2010-01-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
11127
11128 * configure: Regenerate.
11129
11130 2010-01-04 H.J. Lu <hongjiu.lu (a] intel.com>
11131
11132 PR libgomp/42602
11133 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11134
11135 2010-01-03 Richard Guenther <rguenther (a] suse.de>
11136
11137 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11138
11139 2009-12-23 Sebastian Pop <sebpop (a] gmail.com>
11140
11141 * testsuite/libgomp.graphite/pr4118.c: New.
11142
11143 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
11144
11145 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11146 for darwin, protect the test with require-effective-target tls_runtime.
11147 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11148
11149 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
11150
11151 PR target/41605
11152 * testsuite/lib/libgomp.exp: Provide -B options to allow for
11153 link spec %s substitutions for static libraries.
11154
11155 2009-12-18 Jack Howarth <howarth (a] bromo.med.uc.edu>
11156
11157 PR testsuite/42135
11158 * libgomp.graphite/force-parallel-2.c: Reduce array size.
11159
11160 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11161
11162 * Makefile.in: Regenerate.
11163 * configure: Regenerate.
11164 * testsuite/Makefile.in: Regenerate.
11165
11166 2009-11-30 Dave Korn <dave.korn.cygwin (a] gmail.com>
11167
11168 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11169 settings for LC_ALL and LANG.
11170
11171 2009-11-25 Jakub Jelinek <jakub (a] redhat.com>
11172
11173 PR fortran/42162
11174 * testsuite/libgomp.fortran/pr42162.f90: New test.
11175
11176 2009-11-13 Jakub Jelinek <jakub (a] redhat.com>
11177
11178 PR middle-end/42029
11179 * testsuite/libgomp.c/pr42029.c: New test.
11180
11181 2009-10-26 Jakub Jelinek <jakub (a] redhat.com>
11182
11183 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11184 *s. Accept ld version without text in ()s.
11185 * configure: Regenerated.
11186
11187 2009-10-22 Razya Ladelsky <razya (a] il.ibm.com>
11188
11189 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11190
11191 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11192
11193 PR libgomp/41418
11194 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11195 or a hyphen (happens with fortran language disabled).
11196 * configure: Regenerate.
11197
11198 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11199
11200 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11201 use sed script portable to Solaris /bin/sed for extracting ld
11202 version.
11203 * configure: Regenerate.
11204
11205 2009-09-17 Alexander Monakov <amonakov (a] ispras.ru>
11206
11207 * testsuite/libgomp.graphite/bounds.c: New test.
11208
11209 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11210
11211 * Makefile.am (libgomp_la_LINK): New.
11212 * Makefile.in: Regenerate.
11213
11214 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11215
11216 * configure.ac (AC_PREREQ): Bump to 2.64.
11217
11218 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11219
11220 * Makefile.am (install-html, install-pdf): Remove.
11221 * Makefile.in: Regenerate.
11222
11223 * Makefile.in: Regenerate.
11224 * aclocal.m4: Regenerate.
11225 * config.h.in: Regenerate.
11226 * configure: Regenerate.
11227 * testsuite/Makefile.in: Regenerate.
11228
11229 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11230
11231 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11232 * Makefile.in: Regenerate.
11233
11234 2009-08-20 Dave Korn <dave.korn.cygwin (a] gmail.com>
11235
11236 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11237 * Makefile.in: Regenerate.
11238
11239 2009-08-19 Tobias Burnus <burnus (a] net-b.de>
11240
11241 PR fortran/41102
11242 omp_lib.h.in: Fix -std=f95 errors.
11243
11244 2009-08-14 David Edelsohn <edelsohn (a] gnu.org>
11245
11246 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11247 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11248 * testsuite/libgomp.graphite/graphite.exp: New.
11249
11250 2009-08-05 Andreas Tobler <a.tobler (a] schweiz.org>
11251
11252 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11253 only build.
11254
11255 2009-08-04 David Daney <ddaney (a] caviumnetworks.com>
11256
11257 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11258 needed memory barrier semantics.
11259 * config/linux/mips/mutex.h: New file.
11260
11261 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11262
11263 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11264
11265 2009-07-16 Joseph Myers <joseph (a] codesourcery.com>
11266
11267 * configure: Regenerate.
11268
11269 2009-07-11 Richard Sandiford <rdsandiford (a] googlemail.com>
11270
11271 PR testsuite/40699
11272 PR testsuite/40707
11273 PR testsuite/40709
11274 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11275 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11276 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11277
11278 2009-07-02 Richard Sandiford <r.sandiford (a] uk.ibm.com>
11279
11280 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11281 options when choosing a multilib.
11282
11283 2009-06-30 Richard Sandiford <r.sandiford (a] uk.ibm.com>
11284
11285 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11286 ld_library_path. Use add_path. Add just find_libgcc_s to
11287 ld_library_path, not every libgcc multilib directory.
11288 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11289 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11290 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11291 Use add_path.
11292 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11293
11294 2009-06-09 Nathan Froyd <froydnj (a] codesourcery.com>
11295
11296 * Makefile.am (LTLDFLAGS): Define.
11297 (LINK): Define.
11298 * Makefile.in: Regenerate.
11299
11300 2009-05-27 Janne Blomqvist <jb (a] gcc.gnu.org>
11301
11302 PR fortran/39718
11303 * testsuite/libgomp.fortran/fortran.exp: Don't link with
11304 libgfortranbegin, check existence of libgfortran.a instead of
11305 libgfortranbegin.a.
11306
11307 2009-05-20 Jakub Jelinek <jakub (a] redhat.com>
11308
11309 PR libgomp/40174
11310 * team.c (gomp_thread_start): Destroy thr->release semaphore.
11311 (gomp_free_pool_helper): Likewise.
11312
11313 2009-04-20 Vasilis Liaskovitis <vliaskov (a] gmail.com>
11314 Jakub Jelinek <jakub (a] redhat.com>
11315
11316 PR fortran/35423
11317 * testsuite/libgomp.fortran/workshare2.f90: New test.
11318
11319 2009-04-09 Nick Clifton <nickc (a] redhat.com>
11320
11321 * iter.c: Change copyright header to refer to version 3 of the
11322 GNU General Public License with version 3.1 of the GCC Runtime
11323 Library Exception and to point readers at the COPYING3 and
11324 COPYING3.RUNTIME files and the FSF's license web page.
11325 * alloc.c: Likewise.
11326 * barrier.c: Likewise.
11327 * config/bsd/proc.c: Likewise.
11328 * config/linux/affinity.c: Likewise.
11329 * config/linux/alpha/futex.h: Likewise.
11330 * config/linux/bar.c: Likewise.
11331 * config/linux/bar.h: Likewise.
11332 * config/linux/ia64/futex.h: Likewise.
11333 * config/linux/ia64/mutex.h: Likewise.
11334 * config/linux/lock.c: Likewise.
11335 * config/linux/mips/futex.h: Likewise.
11336 * config/linux/mutex.c: Likewise.
11337 * config/linux/mutex.h: Likewise.
11338 * config/linux/powerpc/futex.h: Likewise.
11339 * config/linux/proc.c: Likewise.
11340 * config/linux/ptrlock.c: Likewise.
11341 * config/linux/ptrlock.h: Likewise.
11342 * config/linux/s390/futex.h: Likewise.
11343 * config/linux/sem.c: Likewise.
11344 * config/linux/sem.h: Likewise.
11345 * config/linux/sparc/futex.h: Likewise.
11346 * config/linux/wait.h: Likewise.
11347 * config/linux/x86/futex.h: Likewise.
11348 * config/mingw32/proc.c: Likewise.
11349 * config/mingw32/time.c: Likewise.
11350 * config/posix/affinity.c: Likewise.
11351 * config/posix/bar.c: Likewise.
11352 * config/posix/bar.h: Likewise.
11353 * config/posix/lock.c: Likewise.
11354 * config/posix/mutex.h: Likewise.
11355 * config/posix/proc.c: Likewise.
11356 * config/posix/ptrlock.h: Likewise.
11357 * config/posix/sem.c: Likewise.
11358 * config/posix/sem.h: Likewise.
11359 * config/posix/time.c: Likewise.
11360 * config/posix95/lock.c: Likewise.
11361 * critical.c: Likewise.
11362 * env.c: Likewise.
11363 * error.c: Likewise.
11364 * fortran.c: Likewise.
11365 * iter_ull.c: Likewise.
11366 * libgomp.h: Likewise.
11367 * libgomp_f.h.in: Likewise.
11368 * libgomp_g.h: Likewise.
11369 * loop.c: Likewise.
11370 * loop_ull.c: Likewise.
11371 * omp.h.in: Likewise.
11372 * omp_lib.f90.in: Likewise.
11373 * omp_lib.h.in: Likewise.
11374 * ordered.c: Likewise.
11375 * parallel.c: Likewise.
11376 * sections.c: Likewise.
11377 * single.c: Likewise.
11378 * task.c: Likewise.
11379 * team.c: Likewise.
11380 * work.c: Likewise.
11381
11382 2009-04-09 Jakub Jelinek <jakub (a] redhat.com>
11383
11384 * testsuite/config/default.exp: Change copyright header to refer to
11385 version 3 of the GNU General Public License and to point readers
11386 at the COPYING3 file and the FSF's license web page.
11387
11388 2009-04-08 Jakub Jelinek <jakub (a] redhat.com>
11389
11390 PR middle-end/39573
11391 * libgomp.c++/pr39573.C: New test.
11392
11393 2009-04-01 Jakub Jelinek <jakub (a] redhat.com>
11394
11395 PR other/39591
11396 * testsuite/libgomp.c/pr39591-1.c: New test.
11397 * testsuite/libgomp.c/pr39591-2.c: New test.
11398 * testsuite/libgomp.c/pr39591-3.c: New test.
11399
11400 2009-03-25 Uros Bizjak <ubizjak (a] gmail.com>
11401
11402 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11403 * testsuite/libgomp.c/atomic-6.c: Ditto.
11404
11405 2009-03-23 Jakub Jelinek <jakub (a] redhat.com>
11406
11407 PR c/39495
11408 * testsuite/libgomp.c/loop-12.c: New test.
11409 * testsuite/libgomp.c/loop-11.c: New test.
11410 * testsuite/libgomp.c++/loop-11.C: New test.
11411 * testsuite/libgomp.c++/loop-12.C: New test.
11412 * testsuite/libgomp.c++/for-8.C: New test.
11413
11414 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11415
11416 * configure: Regenerate.
11417
11418 2009-02-11 Jakub Jelinek <jakub (a] redhat.com>
11419
11420 PR middle-end/39154
11421 * testsuite/libgomp.c/pr39154.c: New test.
11422
11423 2009-01-30 Ian Lance Taylor <iant (a] google.com>
11424
11425 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
11426 libgomp_ld_is_gold. Get gold version number.
11427 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
11428 * configure: Rebuild.
11429
11430 2009-01-19 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
11431
11432 * testsuite/lib/libgomp.exp: Add -B option for targets that
11433 use libgfortran.a%s in their specs.
11434
11435 2009-01-07 Jakub Jelinek <jakub (a] redhat.com>
11436
11437 PR libgomp/38086
11438 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11439 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11440 HAVE_AS_SYMVER_DIRECTIVE is not defined.
11441 * configure: Regenerated.
11442 * config.h.in: Likewise.
11443
11444 2008-12-28 Jakub Jelinek <jakub (a] redhat.com>
11445
11446 PR c++/38650
11447 * testsuite/libgomp.c/pr38650.c: New test.
11448 * testsuite/libgomp.c++/pr38650.C: New test.
11449
11450 2008-12-27 Jakub Jelinek <jakub (a] redhat.com>
11451
11452 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11453
11454 2008-12-26 Uros Bizjak <ubizjak (a] gmail.com>
11455
11456 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11457
11458 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11459
11460 * configure: Regenerate.
11461
11462 2008-12-08 Jakub Jelinek <jakub (a] redhat.com>
11463
11464 PR middle-end/36802
11465 * testsuite/libgomp.c/pr36802-1.c: New test.
11466 * testsuite/libgomp.c/pr36802-2.c: New test.
11467 * testsuite/libgomp.c/pr36802-3.c: New test.
11468
11469 2008-12-01 Janis Johnson <janis187 (a] us.ibm.com>
11470
11471 PR libgomp/38270
11472 * config/linux/powerpc/mutex.h: New.
11473
11474 2008-12-01 Jakub Jelinek <jakub (a] redhat.com>
11475
11476 PR c++/38257
11477 * testsuite/libgomp.c++/for-7.C: New test.
11478
11479 PR c++/38348
11480 * testsuite/libgomp.c++/for-6.C: New test.
11481
11482 2008-11-26 Janis Johnson <janis187 (a] us.ibm.com>
11483
11484 PR testsuite/28870
11485 * testsuite/lib/libgomp.exp: Include new timeout library files.
11486 (libgomp_target_compile): Set timeout value from new proc.
11487
11488 2008-11-13 Steve Ellcey <sje (a] cup.hp.com>
11489
11490 PR libgomp/37938
11491 * config/linux/ia64/mutex.h: New.
11492
11493 2008-11-04 Tobias Burnus <burnus (a] net-b.de>
11494
11495 PR libgomp/37935
11496 * libgomp.texi (Runtime library routines, environment variables):
11497 Update for OpenMP version 3.0.
11498
11499 2008-09-26 Peter O'Gorman <pogma (a] thewrittenword.com>
11500 Steve Ellcey <sje (a] cup.hp.com>
11501
11502 * configure: Regenerate for new libtool.
11503 * Makefile.in: Ditto.
11504 * testsuite/Makefile.in: Ditto.
11505
11506 2008-09-19 Jakub Jelinek <jakub (a] redhat.com>
11507 Andreas Tobler <a.tobler (a] schweiz.org>
11508
11509 * config/bsd/proc.c: New file.
11510 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
11511 * configure.ac: Check for header <sys/sysctl.h>
11512 * configure: Regenerate.
11513 * config.h.in: Likewise.
11514
11515 2008-09-05 Janis Johnson <janis187 (a] us.ibm.com>
11516
11517 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11518
11519 2008-08-31 Aaron W. LaFramboise <aaronavay62 (a] aaronwl.com>
11520
11521 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11522 * Makefile.in: Regenerated.
11523 * testsuite/Makefile.in: Regenerated.
11524
11525 2008-08-21 Nathan Froyd <froydnj (a] codesourcery.com>
11526
11527 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
11528 depend on blddir if blddir exists.
11529 (libgomp_target_compile): Likewise.
11530 * testsuite/libgomp.c++/c++.exp: Likewise.
11531 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11532
11533 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11534
11535 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
11536 Do not list GPL as Invariant Section.
11537
11538 2008-07-28 Ilie Garbacea <ilie (a] mips.com>
11539 Chao-ying Fu <fu (a] mips.com>
11540
11541 * configure.tgt: Enable futex for MIPS.
11542 * config/linux/mips/futex.h: New file.
11543
11544 2008-07-16 Jakub Jelinek <jakub (a] redhat.com>
11545
11546 * team.c (gomp_team_end): Free team immediately if it has
11547 just one thread.
11548
11549 2008-07-08 David Edelsohn <edelsohn (a] gnu.org>
11550
11551 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
11552 * testsuite/libgomp.fortran/fortran.exp: Same.
11553 * testsuite/libgomp.c/c.exp: Same.
11554 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11555 directory to library path first.
11556
11557 2008-06-29 Krister Walfridsson <krister.walfridsson (a] gmail.com>
11558
11559 * env.c (parse_stacksize): Add cast to avoid warning.
11560 (parse_spincount): Likewise.
11561
11562 2008-06-27 Jakub Jelinek <jakub (a] redhat.com>
11563
11564 * testsuite/libgomp.c/loop-10.c: New test.
11565 * libgomp.c/loop-3.c (main): Add lastprivate clause.
11566 * libgomp.c++/loop-6.C (main): Likewise.
11567
11568 PR debug/36617
11569 * testsuite/libgomp.c/debug-1.c: New test.
11570
11571 2008-06-19 Jakub Jelinek <jakub (a] redhat.com>
11572
11573 * testsuite/libgomp.c/nqueens-1.c: New test.
11574
11575 PR c++/36523
11576 * testsuite/libgomp.c++/task-7.C: New function.
11577
11578 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11579
11580 * configure: Regenerate.
11581
11582 2008-06-15 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
11583
11584 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11585 mutex when HAVE_SYNC_BUILTINS isn't defined.
11586
11587 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
11588
11589 * libgomp.texi (omp_test_lock): Fix typo.
11590
11591 2008-06-12 Tobias Burnus <burnus (a] net-b.de>
11592
11593 * omp_lib.f90.in: Add "implicit none".
11594
11595 2008-06-12 Jakub Jelinek <jakub (a] redhat.com>
11596
11597 PR middle-end/36506
11598 * testsuite/libgomp.c/reduction-5.c: New test.
11599
11600 2008-06-11 Jakub Jelinek <jakub (a] redhat.com>
11601
11602 * libgomp.h (struct gomp_task): Add in_tied_task field.
11603 * task.c (gomp_init_task): Initialize it.
11604 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
11605 unconditionally. Don't call gomp_team_barrier_wake if
11606 current task is implicit or if(0) from implicit and number of
11607 running tasks is equal to nthreads - 1.
11608
11609 PR libgomp/36471
11610 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11611 omp_get_team_size_8): Fix pastos.
11612
11613 PR libgomp/36469
11614 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
11615 * configure: Regenerated.
11616 * config.h.in: Regenerated.
11617 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11618 defined.
11619
11620 2008-06-06 Andreas Tobler <a.tobler (a] schweiz.org>
11621
11622 PR bootstrap/36452
11623 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11624 (GOMP_loop_ull_dynamic_start): Likewise.
11625 (GOMP_loop_ull_guided_start): Likewise.
11626 (GOMP_loop_ull_ordered_static_start): Likewise.
11627 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
11628 (GOMP_loop_ull_ordered_guided_start): Likewise.
11629
11630 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
11631 Richard Henderson <rth (a] redhat.com>
11632 Ulrich Drepper <drepper (a] redhat.com>
11633 Jakob Blomer <jakob.blomer (a] ira.uka.de>
11634
11635 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11636 Substitute also OMP_*LOCK_25*.
11637 * configure: Regenerated.
11638 * config.h.in: Regenerated.
11639 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11640 ptrlock.c and task.c.
11641 * Makefile.in: Regenerated.
11642 * testsuite/Makefile.in: Regenerated.
11643 * task.c: New file.
11644 * loop_ull.c: New file.
11645 * iter_ull.c: New file.
11646 * libgomp.h: Include ptrlock.h.
11647 (enum gomp_task_kind): New type.
11648 (struct gomp_team): Add task_lock, task_queue, task_count,
11649 task_running_count, single_count fields. Add
11650 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11651 Remove work_share_lock, generation_mask,
11652 oldest_live_gen, num_live_gen and init_work_shares fields, add
11653 work work_share_list_alloc, work_share_list_free and work_share_chunk
11654 fields. Change work_shares from pointer to pointers into an array.
11655 Change ordered_release field into gomp_sem_t ** from flexible array
11656 member. Add implicit_task and initial_work_shares fields.
11657 Move close to the end of the struct.
11658 (struct gomp_team_state): Add single_count, last_work_share,
11659 active_level and level fields, remove work_share_generation.
11660 (gomp_barrier_handle_tasks): New prototype.
11661 (gomp_finish_task): New inline function.
11662 (struct gomp_work_share): Move chunk_size, end, incr into
11663 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11664 next_ll fields. Reshuffle fields. Add next_alloc,
11665 next_ws, next_free and inline_ordered_team_ids fields, change
11666 ordered_team_ids into pointer from flexible array member.
11667 Add mode field. Put lock and next into a different cache line
11668 from most of the write-once fields.
11669 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11670 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11671 gomp_iter_ull_guided_next): New prototypes.
11672 (gomp_new_icv): New prototype.
11673 (struct gomp_thread): Add thread_pool and task fields.
11674 (struct gomp_thread_pool): New type.
11675 (gomp_new_team): New prototype.
11676 (gomp_team_start): Change type of last argument.
11677 (gomp_new_work_share): Removed.
11678 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
11679 (gomp_work_share_init_done): New static inline.
11680 (gomp_throttled_spin_count_var, gomp_available_cpus,
11681 gomp_managed_threads): New extern decls.
11682 (gomp_init_task): New prototype.
11683 (gomp_spin_count_var): New extern var decl.
11684 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11685 or no alias support, or if not PIC.
11686 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11687 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11688 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11689 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11690 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11691 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11692 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11693 gomp_test_nest_lock_25): New prototypes.
11694 (omp_lock_symver, strong_alias): Define.
11695 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11696 decls.
11697 (gomp_end_task): New.
11698 (struct gomp_task_icv, gomp_global_icv): New.
11699 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
11700 (struct gomp_task): New.
11701 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11702 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11703 (gomp_icv): New.
11704 (gomp_schedule_type): Reorder enum to match
11705 omp_sched_t.
11706 * team.c (struct gomp_thread_start_data): Add thread_pool and task
11707 fields.
11708 (gomp_thread_start): Add gomp_team_barrier_wait call.
11709 For non-nested case remove clearing of docked thread thr fields.
11710 Use pool fields instead of global gomp_* variables. Use
11711 gomp_barrier_wait_last when needed. Initialize ts.active_level.
11712 Create tasks for each member thread.
11713 (free_team): Only destroy team barrier, task_lock here and free it.
11714 (gomp_free_thread): Free last_team if non-NULL.
11715 (gomp_team_end): Call gomp_team_barrier_wait instead of
11716 gomp_barrier_wait. For nested case call one extra
11717 gomp_barrier_wait. Move here some destruction from free_team.
11718 Call free_team on pool->last_team if any, rather than freeing
11719 current team. Destroy work_share_list_free_lock ifndef
11720 HAVE_SYNC_BUILTINS.
11721 (gomp_new_icv): New function.
11722 (gomp_threads, gomp_threads_size, gomp_threads_used,
11723 gomp_threads_dock): Removed.
11724 (gomp_thread_destructor): New variable.
11725 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11726 functions.
11727 (gomp_team_start): Create new pool if current thread doesn't have
11728 one. Use pool fields instead of global gomp_* variables.
11729 Initialize thread_pool field for new threads. Clear single_count.
11730 Change last argument from ws to team, don't create
11731 new team, set ts.work_share to &team->work_shares[0] and clear
11732 ts.last_work_share. Don't clear ts.work_share_generation.
11733 If number of threads changed, adjust atomically gomp_managed_threads.
11734 Use gomp_init_task instead of gomp_new_task,
11735 set thr->task to the corresponding implicit_task array entry.
11736 Create tasks for each member thread. Initialize ts.level.
11737 (initialize_team): Call pthread_key_create on
11738 gomp_thread_destructor.
11739 (team_destructor): New function.
11740 (new_team): Removed.
11741 (gomp_new_team): New function.
11742 (free_team): Free gomp_work_share blocks chained through next_alloc,
11743 instead of freeing work_shares and destroying work_share_lock.
11744 (gomp_team_end): Call gomp_fini_work_share. If number of threads
11745 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
11746 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11747 of gomp_barrier_wait.
11748 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11749 instead of gomp_barrier_wait. Call gomp_work_share_init_done
11750 if gomp_work_share_start returned true. Don't unlock ws->lock.
11751 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11752 of gomp_barrier_wait.
11753 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
11754 gomp_work_share_init_done if gomp_work_share_start returned true.
11755 Don't unlock ws->lock.
11756 * work.c: Include stddef.h.
11757 (free_work_share): Use work_share_list_free_lock instead
11758 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
11759 Call gomp_fini_work_share and then either free ws if orphaned, or
11760 put it into work_share_list_free list of the current team.
11761 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11762 functions.
11763 (gomp_work_share_start, gomp_work_share_end,
11764 gomp_work_share_end_nowait): Rewritten.
11765 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11766 (openmp_version): Set to 200805.
11767 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11768 omp_sched_guided, omp_sched_auto): New parameters.
11769 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11770 omp_set_max_active_levels, omp_get_max_active_levels,
11771 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11772 omp_get_active_level): New interfaces.
11773 * omp_lib.h.in (openmp_version): Set to 200805.
11774 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11775 omp_sched_guided, omp_sched_auto): New parameters.
11776 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11777 omp_set_max_active_levels, omp_get_max_active_levels,
11778 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11779 omp_get_active_level): New externals.
11780 * loop.c: Include limits.h.
11781 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11782 GFS_AUTO.
11783 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11784 Likewise. Use gomp_icv.
11785 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11786 ts.static_trip here.
11787 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11788 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
11789 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11790 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
11791 don't unlock ws->lock, otherwise lock it.
11792 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11793 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
11794 (gomp_parallel_loop_start): Call gomp_new_team instead of
11795 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
11796 Adjust gomp_team_start caller. Pass 0 as second argument to
11797 gomp_resolve_num_threads.
11798 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11799 If adding ws->chunk_size nthreads + 1 times after end won't
11800 overflow, set ws->mode to 1.
11801 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11802 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11803 GOMP_loop_ull_ordered_static_start,
11804 GOMP_loop_ull_ordered_dynamic_start,
11805 GOMP_loop_ull_ordered_guided_start,
11806 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11807 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11808 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11809 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11810 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11811 prototypes.
11812 * libgomp.map: Export lock routines also @@OMP_2.0.
11813 (GOMP_loop_ordered_dynamic_first,
11814 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11815 GOMP_loop_ordered_static_first): Remove.
11816 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11817 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11818 GOMP_loop_ull_ordered_dynamic_next,
11819 GOMP_loop_ull_ordered_dynamic_start,
11820 GOMP_loop_ull_ordered_guided_next,
11821 GOMP_loop_ull_ordered_guided_start,
11822 GOMP_loop_ull_ordered_runtime_next,
11823 GOMP_loop_ull_ordered_runtime_start,
11824 GOMP_loop_ull_ordered_static_next,
11825 GOMP_loop_ull_ordered_static_start,
11826 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11827 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11828 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11829 (omp_set_schedule, omp_get_schedule,
11830 omp_get_thread_limit, omp_set_max_active_levels,
11831 omp_get_max_active_levels, omp_get_level,
11832 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11833 omp_set_schedule_, omp_set_schedule_8_,
11834 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11835 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11836 omp_get_max_active_levels_, omp_get_level_,
11837 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11838 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11839 New exports @@OMP_3.0.
11840 * omp.h.in (omp_sched_t): New type.
11841 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11842 omp_set_max_active_levels, omp_get_max_active_levels,
11843 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11844 omp_get_active_level): New prototypes.
11845 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11846 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11847 gomp_thread_limit_var, gomp_remaining_threads_count,
11848 gomp_remaining_threads_lock): New variables.
11849 (parse_spincount): New function.
11850 (initialize_env): Call gomp_init_num_threads unconditionally.
11851 Initialize gomp_available_cpus. Call parse_spincount,
11852 initialize gomp_{,throttled_}spin_count_var
11853 depending on presence and value of OMP_WAIT_POLICY and
11854 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
11855 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11856 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
11857 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
11858 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
11859 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11860 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11861 (gomp_global_icv): New.
11862 (parse_schedule): Use it. Parse "auto".
11863 (omp_set_num_threads): Use gomp_icv.
11864 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11865 Likewise.
11866 (omp_get_max_threads): Move from parallel.c.
11867 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11868 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11869 add ialias.
11870 (parse_stacksize, parse_wait_policy): New functions.
11871 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
11872 both wrappers for compatibility and new locks.
11873 (omp_set_schedule, omp_get_schedule,
11874 omp_get_thread_limit, omp_set_max_active_levels,
11875 omp_get_max_active_levels, omp_get_level,
11876 omp_get_ancestor_thread_num, omp_get_team_size,
11877 omp_get_active_level): New ialias_redirect.
11878 (omp_set_schedule_, omp_set_schedule_8_,
11879 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11880 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11881 omp_get_max_active_levels_, omp_get_level_,
11882 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11883 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11884 New functions.
11885 * parallel.c: Include limits.h.
11886 (gomp_resolve_num_threads): Add count argument. Rewritten.
11887 (GOMP_parallel_start): Call gomp_new_team and pass that as last
11888 argument to gomp_team_start. Pass 0 as second argument to
11889 gomp_resolve_num_threads.
11890 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
11891 if gomp_thread_limit_var != ULONG_MAX.
11892 (omp_in_parallel): Implement using ts.active_level.
11893 (omp_get_max_threads): Move to env.c.
11894 (omp_get_level, omp_get_ancestor_thread_num,
11895 omp_get_team_size, omp_get_active_level): New functions,
11896 add ialias.
11897 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11898 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
11899 gomp_iter_dynamic_next instead of the _locked variant and don't take
11900 lock around it, otherwise acquire it before calling
11901 gomp_iter_dynamic_next_locked.
11902 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11903 gomp_iter_dynamic_next instead of the _locked variant and don't take
11904 lock around it.
11905 (GOMP_parallel_sections_start): Call gomp_new_team instead of
11906 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
11907 Adjust gomp_team_start caller. Pass count as second argument to
11908 gomp_resolve_num_threads, don't adjust num_threads after the call.
11909 Use gomp_icv.
11910 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11911 ws->chunk_size by incr.
11912 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
11913 code.
11914 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11915 types.
11916 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11917 (omp_check_defines): Check even the compat defines.
11918 * config/linux/ptrlock.c: New file.
11919 * config/linux/ptrlock.h: New file.
11920 * config/linux/wait.h: New file.
11921 * config/posix/ptrlock.c: New file.
11922 * config/posix/ptrlock.h: New file.
11923 * config/linux/bar.h (gomp_team_barrier_wait,
11924 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11925 (gomp_team_barrier_set_task_pending,
11926 gomp_team_barrier_clear_task_pending,
11927 gomp_team_barrier_set_waiting_for_tasks,
11928 gomp_team_barrier_waiting_for_tasks,
11929 gomp_team_barrier_done): New inlines.
11930 (gomp_barrier_t): Rewritten.
11931 (gomp_barrier_state_t): New typedef.
11932 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11933 gomp_barrier_wait_start): Rewritten.
11934 (gomp_barrier_wait_end): Change second argument to
11935 gomp_barrier_state_t.
11936 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11937 inlines.
11938 * config/linux/bar.c: Include wait.h instead of libgomp.h and
11939 futex.h.
11940 (gomp_barrier_wait_end): Rewritten.
11941 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11942 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11943 * config/posix/bar.h (gomp_barrier_t): Add generation field.
11944 (gomp_barrier_state_t): New typedef.
11945 (gomp_team_barrier_wait,
11946 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11947 (gomp_barrier_wait_start): Or all but low 2 bits from generation
11948 into the return value. Return gomp_barrier_state_t.
11949 (gomp_team_barrier_set_task_pending,
11950 gomp_team_barrier_clear_task_pending,
11951 gomp_team_barrier_set_waiting_for_tasks,
11952 gomp_team_barrier_waiting_for_tasks,
11953 gomp_team_barrier_done): New inlines.
11954 (gomp_barrier_wait_end): Change second argument to
11955 gomp_barrier_state_t.
11956 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11957 inlines.
11958 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
11959 (gomp_barrier_wait_end): Change second argument to
11960 gomp_barrier_state_t.
11961 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11962 gomp_team_barrier_wake): New functions.
11963 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
11964 futex.h.
11965 (gomp_futex_wake, gomp_futex_wait): New variables.
11966 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11967 * config/linux/lock.c: Rewrite to make locks task owned,
11968 for backwards compatibility provide the old entrypoints
11969 if symbol versioning. Include wait.h instead of libgomp.h and
11970 futex.h.
11971 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11972 * config/posix95/lock.c: Rewrite to make locks task owned,
11973 for backwards compatibility provide the old entrypoints
11974 if symbol versioning.
11975 * config/posix/lock.c: Rewrite to make locks task owned,
11976 for backwards compatibility provide the old entrypoints
11977 if symbol versioning.
11978 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11979 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11980 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
11981 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11982 (sys_futex0): Return error code.
11983 (futex_wake, futex_wait): If ENOSYS was returned, clear
11984 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11985 (cpu_relax, atomic_write_barrier): New static inlines.
11986 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11987 (futex_wake, futex_wait): If ENOSYS was returned, clear
11988 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11989 (cpu_relax, atomic_write_barrier): New static inlines.
11990 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11991 (sys_futex0): Return error code.
11992 (futex_wake, futex_wait): If ENOSYS was returned, clear
11993 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11994 (cpu_relax, atomic_write_barrier): New static inlines.
11995 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11996 (sys_futex0): Return error code.
11997 (futex_wake, futex_wait): If ENOSYS was returned, clear
11998 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11999 (cpu_relax, atomic_write_barrier): New static inlines.
12000 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12001 (sys_futex0): Return error code.
12002 (futex_wake, futex_wait): If ENOSYS was returned, clear
12003 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12004 (cpu_relax, atomic_write_barrier): New static inlines.
12005 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12006 (sys_futex0): Return error code.
12007 (futex_wake, futex_wait): If ENOSYS was returned, clear
12008 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12009 (cpu_relax, atomic_write_barrier): New static inlines.
12010 * config/linux/sem.c: Include wait.h instead of libgomp.h and
12011 futex.h.
12012 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12013 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12014 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12015 types.
12016 (omp_nest_lock_t): Change owner into void *, add lock field.
12017 * config/posix95/omp-lock.h: Include semaphore.h.
12018 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12019 (omp_lock_t): Use sem_t instead of mutex if semaphores
12020 aren't broken.
12021 (omp_nest_lock_t): Likewise. Change owner to void *.
12022 * config/posix/omp-lock.h: Include semaphore.h.
12023 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12024 (omp_lock_t): Use sem_t instead of mutex if semaphores
12025 aren't broken.
12026 (omp_nest_lock_t): Likewise. Add owner field.
12027
12028 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
12029
12030 * testsuite/libgomp.c/collapse-1.c: New test.
12031 * testsuite/libgomp.c/collapse-2.c: New test.
12032 * testsuite/libgomp.c/collapse-3.c: New test.
12033 * testsuite/libgomp.c/icv-1.c: New test.
12034 * testsuite/libgomp.c/icv-2.c: New test.
12035 * testsuite/libgomp.c/lib-2.c: New test.
12036 * testsuite/libgomp.c/lock-1.c: New test.
12037 * testsuite/libgomp.c/lock-2.c: New test.
12038 * testsuite/libgomp.c/lock-3.c: New test.
12039 * testsuite/libgomp.c/loop-4.c: New test.
12040 * testsuite/libgomp.c/loop-5.c: New test.
12041 * testsuite/libgomp.c/loop-6.c: New test.
12042 * testsuite/libgomp.c/loop-7.c: New test.
12043 * testsuite/libgomp.c/loop-8.c: New test.
12044 * testsuite/libgomp.c/loop-9.c: New test.
12045 * testsuite/libgomp.c/nested-3.c: New test.
12046 * testsuite/libgomp.c/nestedfn-6.c: New test.
12047 * testsuite/libgomp.c/sort-1.c: New test.
12048 * testsuite/libgomp.c/task-1.c: New test.
12049 * testsuite/libgomp.c/task-2.c: New test.
12050 * testsuite/libgomp.c/task-3.c: New test.
12051 * testsuite/libgomp.c/task-4.c: New test.
12052 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12053 to C++ testsuite default compiler options.
12054 * testsuite/libgomp.c++/collapse-1.C: New test.
12055 * testsuite/libgomp.c++/collapse-2.C: New test.
12056 * testsuite/libgomp.c++/ctor-10.C: New test.
12057 * testsuite/libgomp.c++/for-1.C: New test.
12058 * testsuite/libgomp.c++/for-2.C: New test.
12059 * testsuite/libgomp.c++/for-3.C: New test.
12060 * testsuite/libgomp.c++/for-4.C: New test.
12061 * testsuite/libgomp.c++/for-5.C: New test.
12062 * testsuite/libgomp.c++/loop-8.C: New test.
12063 * testsuite/libgomp.c++/loop-9.C: New test.
12064 * testsuite/libgomp.c++/loop-10.C: New test.
12065 * testsuite/libgomp.c++/task-1.C: New test.
12066 * testsuite/libgomp.c++/task-2.C: New test.
12067 * testsuite/libgomp.c++/task-3.C: New test.
12068 * testsuite/libgomp.c++/task-4.C: New test.
12069 * testsuite/libgomp.c++/task-5.C: New test.
12070 * testsuite/libgomp.c++/task-6.C: New test.
12071 * testsuite/libgomp.fortran/allocatable1.f90: New test.
12072 * testsuite/libgomp.fortran/allocatable2.f90: New test.
12073 * testsuite/libgomp.fortran/allocatable3.f90: New test.
12074 * testsuite/libgomp.fortran/allocatable4.f90: New test.
12075 * testsuite/libgomp.fortran/collapse1.f90: New test.
12076 * testsuite/libgomp.fortran/collapse2.f90: New test.
12077 * testsuite/libgomp.fortran/collapse3.f90: New test.
12078 * testsuite/libgomp.fortran/collapse4.f90: New test.
12079 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12080 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12081 * testsuite/libgomp.fortran/lib4.f90: New test.
12082 * testsuite/libgomp.fortran/lock-1.f90: New test.
12083 * testsuite/libgomp.fortran/lock-2.f90: New test.
12084 * testsuite/libgomp.fortran/nested1.f90: New test.
12085 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12086 * testsuite/libgomp.fortran/strassen.f90: New test.
12087 * testsuite/libgomp.fortran/tabs1.f90: New test.
12088 * testsuite/libgomp.fortran/tabs2.f: New test.
12089 * testsuite/libgomp.fortran/task1.f90: New test.
12090 * testsuite/libgomp.fortran/task2.f90: New test.
12091 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12092 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12093 * testsuite/libgomp.c/pr26943-2.c: Likewise.
12094 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12095 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12096
12097 2008-05-23 Jakub Jelinek <jakub (a] redhat.com>
12098
12099 PR c++/36308
12100 * testsuite/libgomp.c++/ctor-11.C: New test.
12101 * testsuite/libgomp.c++/ctor-12.C: New test.
12102
12103 2008-05-15 Janis Johnson <janis187 (a] us.ibm.com>
12104
12105 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12106
12107 2008-05-07 Jakub Jelinek <jakub (a] redhat.com>
12108
12109 PR middle-end/36106
12110 * testsuite/libgomp.c/atomic-5.c: New test.
12111 * testsuite/libgomp.c/atomic-6.c: New test.
12112 * testsuite/libgomp.c/autopar-1.c: New test.
12113
12114 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
12115
12116 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12117 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12118 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12119 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12120 * configure: Regenerate.
12121 * Makefile.in, testsuite/Makefile.in: Likewise.
12122
12123 2008-04-18 Paolo Bonzini <bonzini (a] gnu.org>
12124
12125 PR bootstrap/35457
12126 * aclocal.m4: Regenerate.
12127 * configure: Regenerate.
12128
12129 2008-03-18 Jakub Jelinek <jakub (a] redhat.com>
12130
12131 PR middle-end/35611
12132 * testsuite/libgomp.c/atomic-4.c: New test.
12133
12134 PR libgomp/35625
12135 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12136 (gomp_iter_guided_next): Likewise.
12137 * testsuite/libgomp.c/pr35625.c: New test.
12138
12139 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
12140
12141 * aclocal.m4: Regenerate.
12142 * configure: Likewise.
12143 * Makefile.in: Likewise.
12144 * testsuite/Makefile.in: Likewise.
12145
12146 2008-03-13 Jakub Jelinek <jakub (a] redhat.com>
12147
12148 PR middle-end/35185
12149 * testsuite/libgomp.c++/pr35185.C: New test.
12150
12151 2008-03-12 Jakub Jelinek <jakub (a] redhat.com>
12152
12153 PR middle-end/35549
12154 * testsuite/libgomp.c/pr35549.c: New test.
12155
12156 2008-03-06 Jakub Jelinek <jakub (a] redhat.com>
12157
12158 * testsuite/libgomp.c/atomic-3.c: New test.
12159
12160 2008-03-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
12161
12162 PR fortran/33197
12163 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
12164 .F08 file suffixes.
12165
12166 2008-03-03 Peter O'Gorman <pogma (a] thewrittenword.com>
12167
12168 PR libgomp/33131
12169 * configure.ac: Add ACX_HEADER_STRING.
12170 * env.c: Include strings.h.
12171 * aclocal.m4: Regenerate.
12172 * config.h.in: Regenerate.
12173 * configure: Regenerate.
12174 * Makefile.in: Regenerate.
12175 * testsuite/Makefile.in: Regenerate.
12176
12177 2008-02-15 Jakub Jelinek <jakub (a] redhat.com>
12178
12179 PR middle-end/35196
12180 * testsuite/libgomp.c/pr35196.c: New test.
12181
12182 PR middle-end/35130
12183 * testsuite/libgomp.fortran/pr35130.f90: New test.
12184 * testsuite/libgomp.c/pr35130.c: New test.
12185
12186 2008-01-25 Jakub Jelinek <jakub (a] redhat.com>
12187
12188 PR middle-end/33880
12189 * testsuite/libgomp.c/pr33880.c: New test.
12190 * testsuite/libgomp.fortran/pr33880.f90: New test.
12191
12192 2008-01-24 David Edelsohn <edelsohn (a] gnu.org>
12193
12194 * configure: Regenerate.
12195
12196 2008-01-08 Jakub Jelinek <jakub (a] redhat.com>
12197
12198 * configure.ac: Move futex checking into ../config/futex.m4.
12199 * configure: Rebuilt.
12200 * aclocal.m4: Rebuilt.
12201 * Makefile.in: Rebuilt.
12202
12203 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12204 2007-10-15 ../config/tls.m4 change.
12205
12206 2007-12-19 Jakub Jelinek <jakub (a] redhat.com>
12207
12208 PR c++/34513
12209 * testsuite/libgomp.c/pr34513.c: New test.
12210 * testsuite/libgomp.c++/pr34513.C: New test.
12211
12212 2007-12-17 Jack Howarth <howarth (a] bromo.med.uc.edu>
12213
12214 PR target/32765
12215 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12216
12217 2007-12-04 Jakub Jelinek <jakub (a] redhat.com>
12218
12219 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
12220
12221 2007-12-03 Jakub Jelinek <jakub (a] redhat.com>
12222
12223 * testsuite/libgomp.c/private-1.c: New test.
12224
12225 2007-11-29 Andris Pavenis <andris.pavenis (a] iki.fi>
12226 Paolo Bonzini <bonzini (a] gnu.org>
12227
12228 * Makefile.am: Use space as vpath separator. Use 'vpath %'
12229 instead of 'VPATH ='.
12230 * Makefile.in: Regenerate.
12231
12232 2007-11-23 Matthias Klose <doko (a] ubuntu.com>
12233
12234 * configure.ac: Adjust makeinfo version check.
12235 * configure: Regenerate.
12236
12237 2007-11-10 Jakub Jelinek <jakub (a] redhat.com>
12238
12239 PR fortran/34020
12240 * testsuite/libgomp.fortran/pr34020.f90: New test.
12241
12242 2007-11-06 Jakub Jelinek <jakub (a] redhat.com>
12243
12244 PR c++/33894
12245 * testsuite/libgomp.c++/atomic-1.C: New test.
12246
12247 2007-10-25 Jakub Jelinek <jakub (a] redhat.com>
12248
12249 PR libgomp/33275
12250 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12251 Make x and y integers rather than (implicit) reals. Add private (j)
12252 clause to the last omp parallel.
12253
12254 2007-10-15 Maciej W. Rozycki <macro (a] linux-mips.org>
12255
12256 * configure: Regenerate following changes to ../config/tls.m4.
12257
12258 2007-09-28 Jakub Jelinek <jakub (a] redhat.com>
12259
12260 * testsuite/libgomp.fortran/stack.f90: New test.
12261
12262 2007-09-10 Danny Smith <dannysmith (a] users.sourceforge.net>
12263
12264 * config/mingw32/proc.c: New file.
12265
12266 2007-09-05 Uros Bizjak <ubizjak (a] gmail.com>
12267
12268 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12269 (main): Use __get_cpuid to get i386 target fetaures.
12270 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12271 (main): Use __get_cpuid to get x86_64 target fetaures.
12272
12273 2007-08-15 Jack Howarth <howarth (a] bromo.med.uc.edu>
12274
12275 PR target/32765
12276 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12277 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12278
12279 2007-07-12 Jakub Jelinek <jakub (a] redhat.com>
12280
12281 PR fortran/32550
12282 * testsuite/libgomp.fortran/pr32550.f90: New test.
12283 * testsuite/libgomp.fortran/crayptr2.f90: New test.
12284
12285 2007-07-05 H.J. Lu <hongjiu.lu (a] intel.com>
12286
12287 * aclocal.m4: Regenerated.
12288
12289 2007-07-05 Tobias Burnus <burnus (a] net-b.de>
12290
12291 PR fortran/32359
12292 * testsuite/libgomp.fortran/pr32359.f90: New.
12293
12294 2007-07-02 Jakub Jelinek <jakub (a] redhat.com>
12295
12296 PR libgomp/32468
12297 * sections.c (GOMP_parallel_sections_start): Only decrease
12298 number of threads to COUNT if dyn_var is true.
12299 * testsuite/libgomp.c/pr32468.c: New test.
12300
12301 2007-07-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
12302
12303 PR libgomp/26308
12304 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12305
12306 2007-06-21 Jakub Jelinek <jakub (a] redhat.com>
12307
12308 PR middle-end/32362
12309 * testsuite/libgomp.c/pr32362-1.c: New test.
12310 * testsuite/libgomp.c/pr32362-2.c: New test.
12311 * testsuite/libgomp.c/pr32362-3.c: New test.
12312
12313 2007-06-07 Jakub Jelinek <jakub (a] redhat.com>
12314
12315 * team.c (gomp_team_start): Fix setting up thread_attr
12316 stack size.
12317
12318 2007-06-02 Paolo Bonzini <bonzini (a] gnu.org>
12319
12320 * configure: Regenerate.
12321
12322 2007-05-23 Steve Ellcey <sje (a] cup.hp.com>
12323
12324 * Makefile.in: Regenerate.
12325 * configure: Regenerate.
12326 * aclocal.m4: Regenerate.
12327 * testsuite/Makefile.in: Regenerate.
12328
12329 2007-05-04 Jakub Jelinek <jakub (a] redhat.com>
12330
12331 * config/linux/proc.c: New file.
12332
12333 PR libgomp/28482
12334 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12335
12336 2007-04-19 Daniel Franke <franke.daniel (a] gmail.com>
12337
12338 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12339
12340 2007-04-16 Matthias Klose <doko (a] debian.org>
12341
12342 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12343 flags if not building with -m64.
12344 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12345 flag for i?86-*-* targets, if current target matches -m64.
12346
12347 2007-04-14 Steve Ellcey <sje (a] cup.hp.com>
12348
12349 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12350 * Makefile.in: Regenerate.
12351
12352 2007-04-07 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
12353
12354 PR testsuite/31369
12355 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12356 ld_library_path.
12357 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12358
12359 2007-04-04 Jakub Jelinek <jakub (a] redhat.com>
12360
12361 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12362 decls.
12363 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12364 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12365 (parse_affinity): New function.
12366 (initialize_env): Call it and gomp_init_affinity.
12367 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12368 create new pthread_attr_t and call gomp_init_thread_affinity
12369 on it for each thread before passing the attribute to pthread_create.
12370 * config/linux/affinity.c: New file.
12371 * config/posix/affinity.c: New file.
12372 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12373 * configure: Rebuilt.
12374 * config.h.in: Rebuilt.
12375 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12376 * Makefile.in: Rebuilt.
12377
12378 2007-03-23 Andreas Tobler <a.tobler (a] schweiz.org>
12379
12380 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12381 *-*-darwin*.
12382 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12383 and use it if found.
12384
12385 2007-03-18 Uros Bizjak <ubizjak (a] gmail.com>
12386
12387 * testsuite/config/default.exp: New file.
12388 * testsuite/lib/libgomp.exp: New file.
12389 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12390 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12391 load_lib *, load_gcc_lib *): Move to libgomp.exp.
12392 (libgomp_load): Remove.
12393 * testsuite/lib/libgomp.exp (libgomp_init): Compute
12394 always_ld_library_path, not ld_library_path. Set additional_flags
12395 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12396 (target_compile): Do not call libgomp_init. Append lang_library_path
12397 and lang_link_flags to options.
12398 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
12399 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
12400 here.
12401 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12402 always_ld_library_path. Set LD_LIBRARY_PATH here.
12403 * testsuite/libgomp.fortran/fortran.exp: Ditto.
12404 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
12405 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
12406 CX8 flag.
12407 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
12408 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
12409 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
12410 * testsuite/libgomp.c/pr29947-1.c: Ditto.
12411 * testsuite/libgomp.c/atomic-10.c: Ditto.
12412
12413 2007-03-21 Jakub Jelinek <jakub (a] redhat.com>
12414
12415 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
12416 dg-final cleanup-modules line.
12417 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
12418 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
12419 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
12420 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12421 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12422 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12423 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12424
12425 2007-03-18 Andreas Schwab <schwab (a] suse.de>
12426
12427 * acinclude.m4: Adjust regular expression for ld version
12428 extraction.
12429 * configure: Regenerate.
12430
12431 2007-03-01 Brooks Moses <brooks.moses (a] codesourcery.com>
12432
12433 * Makefile.am: Add install-pdf target as copied from
12434 automake v1.10 rules.
12435 * Makefile.in: Regenerate
12436
12437 2007-02-07 Jakub Jelinek <jakub (a] redhat.com>
12438
12439 PR libgomp/28486
12440 * configure: Regenerate.
12441
12442 PR c++/30703
12443 * testsuite/libgomp.c++/pr30703.C: New test.
12444
12445 2007-02-02 Jakub Jelinek <jakub (a] redhat.com>
12446
12447 Revert:
12448 2006-07-05 Eric Christopher <echristo (a] apple.com>
12449 * configure.ac: Depend addition of -pthread on host OS.
12450 * configure: Regenerate.
12451
12452 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
12453
12454 * libgomp.texi: Fix spacing after abbreviations.
12455
12456 2007-01-31 Daniel Franke <franke.daniel (a] gmail.com>
12457
12458 PR libgomp/30546
12459 * configure.ac: Add check for makeinfo
12460 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
12461 if an appropriate version of makeinfo is found.
12462 * aclocal.m4: Regenerated.
12463 * configure: Regenerated.
12464 * Makefile.in: Regenerated.
12465 * testsuite/Makefile.in: Regenerated.
12466
12467 2007-01-29 Daniel Franke <franke.daniel (a] gmail.com>
12468
12469 PR libgomp/30540
12470 * libgomp.texi: More about implementation-dependent settings.
12471
12472 2007-01-26 Tobias Burnus <burnus (a] net-b.de>
12473
12474 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12475
12476 2007-01-24 Jakub Jelinek <jakub (a] redhat.com>
12477
12478 PR middle-end/30494
12479 * testsuite/libgomp.c/pr30494.c: New test.
12480
12481 2007-01-15 Tom Tromey <tromey (a] redhat.com>
12482
12483 * configure: Rebuilt.
12484 * configure.ac: Fixed comment.
12485
12486 2007-01-14 Daniel Franke <franke.daniel (a] gmail.com>
12487
12488 * libgomp.texi: Document implementation specific default values of
12489 environment variables.
12490
12491 2006-12-21 Daniel Franke <franke.daniel (a] gmail.com>
12492
12493 PR libgomp/28209
12494 * libgomp.texi: New file.
12495 * configure.ac: Add --enable-generated-files-in-srcdir option.
12496 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12497 files to srcdir.
12498 * Makefile.in: Regenerated.
12499 * config.h.in: Regenerated.
12500 * testsuite/Makefile.in: Regenerated.
12501 * NOTES: Removed.
12502
12503 2006-12-04 Daniel Franke <franke.daniel (a] gmail.com>
12504
12505 PR libgomp/29949
12506 * env.c (omp_set_num_threads): Set illegal thread count to 1.
12507
12508 2006-12-04 Eric Botcazou <ebotcazou (a] libertysurf.fr>
12509
12510 * configure: Regenerate.
12511
12512 2006-12-04 Jakub Jelinek <jakub (a] redhat.com>
12513
12514 PR libgomp/29947
12515 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
12516 start if there shouldn't be any loop iterations.
12517 (gomp_loop_ordered_static_start): Remove start == end test.
12518 * testsuite/libgomp.c/pr29947-1.c: New test.
12519 * testsuite/libgomp.c/pr29947-2.c: New test.
12520
12521 2006-12-02 Eric Botcazou <ebotcazou (a] libertysurf.fr>
12522
12523 * configure.tgt: Force initial-exec TLS model on Linux only.
12524
12525 2006-11-13 Daniel Jacobowitz <dan (a] codesourcery.com>
12526
12527 * configure: Regenerated.
12528
12529 2006-11-09 Uros Bizjak <ubizjak (a] gmail.com>
12530
12531 * env.c (parse_schedule): Reject out of range values.
12532 (parse_unsigned_long): Reject out of range, negative or zero values.
12533
12534 2006-10-29 Jakub Jelinek <jakub (a] redhat.com>
12535
12536 PR fortran/29629
12537 * testsuite/libgomp.fortran/pr29629.f90: New test.
12538
12539 2006-10-24 Eric Botcazou <ebotcazou (a] libertysurf.fr>
12540
12541 PR libgomp/29494
12542 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12543 * config/posix95: New directory.
12544 * config/posix95/omp-lock.h: New file.
12545 * config/posix95/lock.c: Likewise.
12546
12547 2006-10-14 Geoffrey Keating <geoffk (a] apple.com>
12548
12549 * aclocal.m4: Regenerate.
12550 * configure: Regenerate.
12551
12552 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
12553
12554 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12555 '<' to '<='.
12556
12557 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
12558
12559 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12560 test.
12561 * configure: Regenerate.
12562 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12563
12564 2006-09-26 Jakub Jelinek <jakub (a] redhat.com>
12565
12566 PR middle-end/25261
12567 PR middle-end/28790
12568 * testsuite/libgomp.c/nestedfn-4.c: New test.
12569 * testsuite/libgomp.c/nestedfn-5.c: New test.
12570 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
12571
12572 PR fortran/29097
12573 * testsuite/libgomp.fortran/condinc1.f: New test.
12574 * testsuite/libgomp.fortran/condinc2.f: New test.
12575 * testsuite/libgomp.fortran/condinc3.f90: New test.
12576 * testsuite/libgomp.fortran/condinc4.f90: New test.
12577 * testsuite/libgomp.fortran/condinc1.inc: New file.
12578
12579 2006-09-18 Tom Tromey <tromey (a] redhat.com>
12580
12581 * configure: Rebuilt.
12582
12583 2006-09-13 Joseph S. Myers <joseph (a] codesourcery.com>
12584
12585 PR c/28768
12586 PR preprocessor/14634
12587 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12588 to AC_DEFINE.
12589 * configure: Regenerate.
12590
12591 2006-09-08 Steven G. Kargl <kargl (a] gcc.gnu.org>
12592
12593 * testsuite/libgomp.fortran/reduction3.f90: Change
12594 -2147483648 to -huge(i)-1 to avoid overflow.
12595 * testsuite/libgomp.fortran/reduction4.f90: Change
12596 Z'ffffffff' to not(0) to avoid overflow.
12597
12598 2006-08-26 Joseph S. Myers <joseph (a] codesourcery.com>
12599
12600 PR libgomp/25938
12601 * Makefile.am (libsubincludedir): New.
12602 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12603 * Makefile.in: Regenerate.
12604
12605 2006-08-17 Jakub Jelinek <jakub (a] redhat.com>
12606
12607 PR libgomp/28725
12608 * env.c: Include ctype.h.
12609 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
12610 leading and/or trailing whitespace and compare strings case
12611 insensitively.
12612
12613 2006-07-16 Jakub Jelinek <jakub (a] redhat.com>
12614
12615 PR fortran/28390
12616 * testsuite/libgomp.fortran/pr28390.f: New test.
12617
12618 2006-07-05 Eric Christopher <echristo (a] apple.com>
12619
12620 * configure.ac: Depend addition of -pthread on host OS.
12621 * configure: Regenerate.
12622
12623 2006-06-21 Jakub Jelinek <jakub (a] redhat.com>
12624
12625 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
12626 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12627 defined.
12628
12629 2006-06-20 Jakub Jelinek <jakub (a] redhat.com>
12630
12631 PR libgomp/26175
12632 PR libgomp/26477
12633 * configure.ac: If neither --enable-linux-futex nor
12634 --disable-linux-futex is passed, determine the default by checking
12635 for compiling and/or running against NPTL. With --enable-linux-futex,
12636 check if SYS_gettid and SYS_futex are defined.
12637 * configure: Rebuilt.
12638
12639 2006-06-14 Richard Henderson <rth (a] redhat.com>
12640
12641 PR libgomp/28008
12642 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12643 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12644
12645 2006-06-09 Richard Henderson <rth (a] redhat.com>
12646
12647 * env.c (gomp_nthreads_var): Change to unsigned long.
12648 (gomp_run_sched_chunk): Likewise.
12649 (parse_unsigned_long): Rename from parse_num_threads and generalize.
12650 (initialize_env): Initialize gomp_thread_attr.
12651 * libgomp.h (gomp_nthreads_var): Update decl.
12652 (gomp_run_sched_chunk): Likewise.
12653 (gomp_thread_attr): Declare.
12654 * team.c (gomp_thread_attr): Export.
12655 (initialize_team): Don't initialize it.
12656
12657 2006-06-09 Jakub Jelinek <jakub (a] redhat.com>
12658
12659 PR fortran/27916
12660 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
12661 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
12662
12663 2006-06-06 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
12664
12665 * config/mingw32/time.c: New file.
12666 * configure.tgt: Use it.
12667
12668 2006-05-23 Carlos O'Donell <carlos (a] codesourcery.com>
12669
12670 * Makefile.am: Add install-html target. Add install-html to .PHONY
12671 * Makefile.in: Regenerate.
12672
12673 2006-05-22 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
12674
12675 PR libgomp/27612
12676 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12677 * testsuite/libgomp.c/critical-1.c: Likewise.
12678 * testsuite/libgomp.c/loop-1.c: Likewise.
12679 * testsuite/libgomp.c/loop-2.c: Likewise.
12680 * testsuite/libgomp.c/single-1.c: Likewise.
12681 * testsuite/libgomp.c/ordered-1.c: Likewise.
12682 * testsuite/libgomp.c/ordered-2.c: Likewise.
12683
12684 2006-05-15 Jakub Jelinek <jakub (a] redhat.com>
12685
12686 PR middle-end/27416
12687 * libgomp.fortran/pr27416-1.f90: New test.
12688
12689 2006-05-03 Jakub Jelinek <jakub (a] redhat.com>
12690
12691 PR fortran/27395
12692 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
12693 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
12694
12695 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
12696
12697 PR c++/26943
12698 * testsuite/libgomp.c/pr26943-1.c: New test.
12699 * testsuite/libgomp.c/pr26943-2.c: New test.
12700 * testsuite/libgomp.c/pr26943-3.c: New test.
12701 * testsuite/libgomp.c/pr26943-4.c: New test.
12702 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
12703 * testsuite/libgomp.c++/pr26943.C: New test.
12704
12705 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
12706
12707 PR middle-end/27337
12708 * testsuite/libgomp.c++/pr27337.C: New test.
12709
12710 2006-04-26 Jakub Jelinek <jakub (a] redhat.com>
12711
12712 PR c/26171
12713 * testsuite/libgomp.c/pr26171.c: New test.
12714
12715 2006-04-25 Richard Henderson <rth (a] redhat.com>
12716
12717 PR libgomp/25865
12718 * configure.ac: Use GCC_CHECK_TLS.
12719 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12720 * Makefile.in, aclocal.m4, configure: Regenerate.
12721
12722 2006-04-10 Matthias Klose <doko (a] debian.org>
12723
12724 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12725 directory names containing underscores.
12726
12727 2006-03-21 Jakub Jelinek <jakub (a] redhat.com>
12728
12729 PR c++/26691
12730 * testsuite/libgomp.c++/pr26691.C: New test.
12731
12732 2006-03-13 Jakub Jelinek <jakub (a] redhat.com>
12733
12734 * testsuite/libgomp.fortran/retval2.f90: New test.
12735
12736 2006-03-09 Diego Novillo <dnovillo (a] redhat.com>
12737
12738 * testsuite/libgomp.c++: New directory.
12739
12740 2006-02-25 Shantonu Sen <ssen (a] opendarwin.org>
12741
12742 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12743 * config/posix/sem.c: Implement the above.
12744
12745 2006-02-25 Andreas Tobler <a.tobler (a] schweiz.ch>
12746
12747 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12748 define HAVE_BROKEN_POSIX_SEMAPHORES.
12749 * configure: Rebuilt.
12750 * config.h.in: Rebuilt.
12751
12752 2006-02-17 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
12753
12754 PR bootstrap/26161
12755 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12756 for the other pthread check.
12757 * configure: Regenerate.
12758 * config.h.in: Regenerate.
12759
12760 2006-02-15 Jakub Jelinek <jakub (a] redhat.com>
12761
12762 PR libgomp/25938
12763 PR libgomp/25984
12764 * Makefile.am (fincludedir): New variable.
12765 (nodist_include_HEADERS): Remove Fortran files.
12766 (nodist_finclude_HEADERS): New variable.
12767 * Makefile.in: Regenerated.
12768
12769 2006-02-13 Jakub Jelinek <jakub (a] redhat.com>
12770
12771 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12772 Remove tests for returning assumed character length arrays.
12773
12774 2006-02-12 Roger Sayle <roger (a] eyesopen.com>
12775 John David Anglin <dave (a] hiauly1.hia.nrc.ca>
12776
12777 PR libgomp/25936
12778 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
12779
12780 2006-02-08 Ulrich Weigand <uweigand (a] de.ibm.com>
12781
12782 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12783
12784 2006-02-07 Eric Botcazou <ebotcazou (a] libertysurf.fr>
12785
12786 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12787 part of LD_LIBRARY_PATH manually.
12788
12789 2006-02-03 H.J. Lu <hongjiu.lu (a] intel.com>
12790
12791 PR libgomp/25852
12792 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
12793 libgomp_init.
12794
12795 2005-01-25 Paolo Bonzini <bonzini (a] gnu.org>
12796
12797 PR libgomp/25884
12798 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12799 * configure.ac (PERL): Don't set.
12800 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12801 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12802 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12803 * omp.h.in: Wrap the new configure substitutions with @ characters.
12804 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12805 * aclocal.m4, configure, Makefile.in: Regenerate.
12806 * mkomp_h.pl: Delete.
12807
12808 2005-01-24 Paolo Bonzini <bonzini (a] gnu.org>
12809
12810 PR libgomp/25259
12811 * configure.ac: Use GCC_HEADER_STDINT.
12812 * libgomp.h: Include gstdint.h.
12813 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12814 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12815
12816 2006-01-24 Richard Henderson <rth (a] redhat.com>
12817
12818 PR libgomp/25942
12819 * configure.ac: Add AM_MAINTAINER_MODE.
12820 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12821
12822 2006-01-24 Diego Novillo <dnovillo (a] redhat.com>
12823
12824 * Makefile.in: Regenerate.
12825 * testsuite/Makefile.in: Regenerate.
12826 * aclocal.m4: Regenerate.
12827
12828 2006-01-23 Andreas Tobler <a.tobler (a] schweiz.ch>
12829
12830 * config/posix/proc.c: Conditional include of sys/loadavg.h for
12831 Solaris.
12832 * configure.ac: Add check for loadavg.h.
12833 (link_gomp): Adjust comment.
12834 * configure: Regenerate.
12835 * config.h.in: Regenerate.
12836
12837 2006-01-21 Steve Ellcey <sje (a] cup.hp.com>
12838
12839 PR libgomp/25877
12840 * configure.ac: Remove check for alloca.h.
12841 * configure: Regenerate.
12842 * config.h.in: Regenerate.
12843 * libgomp.h: define gomp_alloca to be __builtin_alloca.
12844 * team.c: Remove use of alloca.h.
12845 Call gomp_alloca instead of alloca.
12846
12847 2006-01-20 Steve Ellcey <sje (a] cup.hp.com>
12848
12849 PR libgomp/25877
12850 * team.c: Add include of alloca.h.
12851 * configure.ac: Add check for alloca.h.
12852 * configure: Regenerate.
12853 * config.h.in: Regenerate.
12854
12855 2006-01-17 Jakub Jelinek <jakub (a] redhat.com>
12856
12857 PR fortran/25219
12858 * testsuite/libgomp.fortran/pr25219.f90: New test.
12859
12860 2005-12-05 Uros Bizjak <uros (a] kss-loka.si>
12861
12862 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12863 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12864 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12865 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12866 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12867 testsuite/libgomp.fortran/threadprivate1.f90,
12868 testsuite/libgomp.fortran/threadprivate2.f90,
12869 testsuite/libgomp.fortran/threadprivate3.f90,
12870 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12871 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12872 testsuite/libgomp.fortran/omp_parse3.f90: Change required
12873 effective-target to TLS runtime.
12874
12875 * testsuite/libgomp.fortran/pr25162.f: Require
12876 effective-target TLS runtime.
12877
12878 2005-12-01 Jakub Jelinek <jakub (a] redhat.com>
12879
12880 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
12881 * testsuite/libgomp.c/nestedfn-3.c: New test.
12882
12883 2005-11-30 Jakub Jelinek <jakub (a] redhat.com>
12884
12885 PR fortran/25162
12886 * testsuite/libgomp.fortran/pr25162.f: New test.
12887
12888 2005-11-28 Jakub Jelinek <jakub (a] redhat.com>
12889
12890 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12891 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12892
12893 2005-11-25 Jakub Jelinek <jakub (a] redhat.com>
12894
12895 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12896 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12897 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12898 single.c, team.c, work.c, config/linux/alpha/futex.h,
12899 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12900 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12901 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12902 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12903 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12904 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12905 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12906 FSF address.
12907
12908 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
12909
12910 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12911 to nodist_noinst_HEADERS.
12912 * Makefile.in: Rebuilt.
12913
12914 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12915 add integer count field.
12916 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12917 omp_nest_lock_t type change.
12918 (omp_init_nest_lock): Likewise. Initialize count to 0.
12919 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12920 Increment count.
12921 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12922 Decrement count.
12923 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12924 Increment count if successful and return the new nesting level.
12925 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12926 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12927 * testsuite/libgomp.c/lib-1.c: New test.
12928 * testsuite/libgomp.fortran/lib1.f90: New test.
12929 * testsuite/libgomp.fortran/lib2.f: New test.
12930 * testsuite/libgomp.fortran/lib3.f: New test.
12931
12932 2005-11-17 Richard Henderson <rth (a] redhat.com>
12933
12934 PR 24845
12935 * Makefile.am (nodist_toolexeclib_HEADERS): New.
12936 * configure.ac (link_gomp): New. Substitute it.
12937 (AC_CONFIG_FILES): Add libgomp.spec.
12938 * libgomp.spec.in: New file.
12939 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12940 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12941
12942 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
12943
12944 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
12945 reduction(-:var) behaving the same as reduction(+:var).
12946 * testsuite/libgomp.c/reduction-4.c: New test.
12947
12948 2005-11-15 Uros Bizjak <uros (a] kss-loka.si>
12949
12950 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12951 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12952 testsuite/libgomp.c/copyin-3.c,
12953 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12954 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12955 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12956 testsuite/libgomp.c++/pr24455.C,
12957 testsuite/libgomp.fortran/threadprivate1.f90,
12958 testsuite/libgomp.fortran/threadprivate2.f90,
12959 testsuite/libgomp.fortran/threadprivate3.f90,
12960 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12961 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12962 testsuite/libgomp.fortran/omp_parse3.f90: Require
12963 effective-target TLS.
12964
12965 2005-11-14 Diego Novillo <dnovillo (a] redhat.com>
12966
12967 * HEADER: Remove.
12968
12969 2005-11-13 Jakub Jelinek <jakub (a] redhat.com>
12970
12971 PR libgomp/24797
12972 * team.c (initialize_team): Pass NULL rather than free as
12973 pthread_key_create destructor. Initialize thread specific data
12974 pointer in initial thread to a static local variable rather than
12975 malloced memory.
12976
12977 2005-11-11 Uros Bizjak <uros (a] kss-loka.si>
12978
12979 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12980 its location to ld_library_path.
12981
12982 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
12983
12984 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
12985
12986 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
12987
12988 * testsuite/libgomp.c: Rename from libgomp.dg.
12989
12990 2005-11-09 Diego Novillo <dnovillo (a] redhat.com>
12991
12992 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12993 threadprivate variable 'i'.
12994
12995 2005-11-09 Jakub Jelinek <jakub (a] redhat.com>
12996
12997 * config/linux/s390/futex.h: New file.
12998 * configure.tgt: Use it.
12999
13000 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13001 before the parallel.
13002
13003 2005-11-08 Jakub Jelinek <jakub (a] redhat.com>
13004
13005 PR c++/24734
13006 * testsuite/libgomp.c++/master-1.C: New test.
13007
13008 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
13009
13010 * testsuite/libgomp.dg/copyin-3.c: New test.
13011
13012 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
13013
13014 * testsuite/libgomp.fortran/retval1.f90: New test.
13015 * testsuite/libgomp.fortran/vla7.f90: New test.
13016
13017 2005-11-06 Jakub Jelinek <jakub (a] redhat.com>
13018
13019 * testsuite/libgomp.fortran/vla2.f90: New test.
13020 * testsuite/libgomp.fortran/vla3.f90: New test.
13021 * testsuite/libgomp.fortran/vla4.f90: New test.
13022 * testsuite/libgomp.fortran/vla5.f90: New test.
13023 * testsuite/libgomp.fortran/vla6.f90: New test.
13024
13025 2005-11-01 Jakub Jelinek <jakub (a] redhat.com>
13026
13027 * config/linux/sparc/futex.h: New file.
13028 * configure.tgt: Use it.
13029 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13030
13031 * critical.c: Include stdlib.h.
13032 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13033 ignoring return value.
13034 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13035 LIBGOMP_CHECK_SYNC_BUILTINS check.
13036 * configure: Rebuilt.
13037
13038 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
13039
13040 * testsuite/libgomp.fortran/vla1.f90: New test.
13041
13042 2005-10-31 Richard Henderson <rth (a] redhat.com>
13043
13044 * testsuite/libgomp.fortran/character2.f90: Fix race condition
13045 setting 's' in different threads.
13046
13047 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
13048
13049 * libgomp.h (attribute_hidden, ialias): Define.
13050 * config/posix/proc.c (omp_get_num_procs): Add ialias.
13051 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13052 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13053 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13054 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13055 omp_test_lock, omp_test_nest_lock): Likewise.
13056 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13057 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13058 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13059 omp_test_lock, omp_test_nest_lock): Likewise.
13060 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13061 omp_get_dynamic, omp_get_nested): Likewise.
13062 * parallel.c (omp_get_num_threads, omp_get_max_threads,
13063 omp_get_thread_num, omp_in_parallel): Likewise.
13064 * fortran.c (ialias_redirect): Define.
13065 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13066 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13067 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13068 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13069 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13070 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13071 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13072 omp_get_wtime): Add ialias_redirect.
13073
13074 2005-10-30 Jakub Jelinek <jakub (a] redhat.com>
13075
13076 * fortran.c: Include stdlib.h.
13077
13078 2005-10-29 Jakub Jelinek <jakub (a] redhat.com>
13079
13080 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13081 * Makefile.in: Regenerated.
13082
13083 2005-10-28 Jakub Jelinek <jakub (a] redhat.com>
13084
13085 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13086 * libgomp_f.h.in (omp_check_defines): New function.
13087 * env.c: Include libgomp_f.h.
13088 (initialize_env): Call omp_check_defines.
13089
13090 * testsuite/libgomp.dg/copyin-2.c: New test.
13091 * testsuite/libgomp.c++/copyin-2.C: New test.
13092 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13093
13094 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13095 * testsuite/libgomp.fortran/sharing2.f90: New test.
13096
13097 * testsuite/libgomp.dg/copyin-1.c: New test.
13098 * testsuite/libgomp.c++/copyin-1.C: New test.
13099
13100 2005-10-26 Jakub Jelinek <jakub (a] redhat.com>
13101
13102 * testsuite/libgomp.fortran/crayptr1.f90: New test.
13103
13104 * testsuite/libgomp.fortran/workshare1.f90: New test.
13105
13106 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13107 only test.
13108 * libgomp.fortran/sharing1.f90: New test.
13109
13110 2005-10-24 Jakub Jelinek <jakub (a] redhat.com>
13111
13112 PR c++/24502
13113 * testsuite/libgomp.c++/loop-7.C: New test.
13114
13115 * testsuite/libgomp.dg/nestedfn-2.c: New test.
13116
13117 * testsuite/libgomp.dg/nestedfn-1.c: New test.
13118 * testsuite/libgomp.fortran/reduction6.f90: New test.
13119 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13120
13121 2005-10-23 Richard Henderson <rth (a] redhat.com>
13122
13123 * testsuite/libgomp.c++/ctor-1.C: New.
13124 * testsuite/libgomp.c++/ctor-2.C: New.
13125 * testsuite/libgomp.c++/ctor-3.C: New.
13126 * testsuite/libgomp.c++/ctor-4.C: New.
13127 * testsuite/libgomp.c++/ctor-5.C: New.
13128 * testsuite/libgomp.c++/ctor-6.C: New.
13129 * testsuite/libgomp.c++/ctor-7.C: New.
13130 * testsuite/libgomp.c++/ctor-8.C: New.
13131 * testsuite/libgomp.c++/ctor-9.C: New.
13132
13133 2005-10-21 Diego Novillo <dnovillo (a] redhat.com>
13134
13135 PR 24455
13136 * testsuite/libgomp.c++/pr24455-1.C: New test.
13137 * testsuite/libgomp.c++/pr24455.C: New test.
13138 * testsuite/libgomp.dg/pr24455-1.c: New test.
13139 * testsuite/libgomp.dg/pr24455.c: New test.
13140
13141 2005-10-20 Richard Henderson <rth (a] redhat.com>
13142
13143 * testsuite/libgomp.c++/loop-6.C: New.
13144 * testsuite/libgomp.dg/loop-3.c: New.
13145
13146 2005-10-20 Jakub Jelinek <jakub (a] redhat.com>
13147
13148 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13149 explicitly private.
13150 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13151 explicitly shared.
13152
13153 2005-10-19 Diego Novillo <dnovillo (a] redhat.com>
13154
13155 * testsuite/libgomp.fortran/jacobi.f: New test.
13156
13157 2005-10-19 Richard Henderson <rth (a] redhat.com>
13158
13159 * configure.tgt (i?86-linux): Default to with_arch instead of
13160 CFLAGS. Add -mtune to match target_cpu.
13161 (x86_64-linux): Tune to i686.
13162
13163 * fortran.c (omp_test_nest_lock_): Fix typo.
13164
13165 2005-10-19 Jakub Jelinek <jakub (a] redhat.com>
13166
13167 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13168 gomp_ordered_sync): Do nothing if team->nthreads == 1.
13169 * testsuite/libgomp.dg/ordered-3.c: New test.
13170
13171 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13172 Remove volatile keyword.
13173
13174 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13175 in COMMON block to avoid warnings on 64-bit targets.
13176
13177 2005-10-18 Diego Novillo <dnovillo (a] redhat.com>
13178
13179 * testsuite/libgomp.dg/shared-3.c: New test.
13180
13181 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
13182
13183 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13184 * testsuite/libgomp.fortran/reduction5.f90: New test.
13185
13186 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
13187
13188 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13189 dg-options.
13190 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
13191 flush loop now that __sync_synchronize has proper memory barrier.
13192 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13193 Add -ffixed-form to dg-options.
13194
13195 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
13196
13197 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13198 from subdirectories.
13199 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13200 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13201 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13202 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13203 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13204 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13205 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13206 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13207 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13208 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13209 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13210 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13211 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13212 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13213 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13214 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13215 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13216 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13217 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13218 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13219 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13220 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13221 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13222 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13223 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13224
13225 2005-10-17 Jakub Jelinek <jakub (a] redhat.com>
13226
13227 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13228 lang_library_path exists. Use find instead of glob to gather tests.
13229 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13230
13231 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
13232
13233 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13234 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13235 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13236 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13237 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13238 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13239 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13240 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13241 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13242 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13243 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13244 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13245 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13246
13247 2005-10-15 Jakub Jelinek <jakub (a] redhat.com>
13248
13249 * testsuite/libgomp.dg/vla-1.c: New test.
13250
13251 * testsuite/libgomp.fortran/reference2.f90: New test.
13252
13253 * testsuite/libgomp.fortran/character2.f90: Remove explicit
13254 declaration of omp_get_thread_num.
13255 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
13256 use omp_lib.
13257
13258 * testsuite/libgomp.fortran/reduction1.f90: New test.
13259 * testsuite/libgomp.fortran/reduction2.f90: New test.
13260 * testsuite/libgomp.fortran/reduction3.f90: New test.
13261 * testsuite/libgomp.fortran/reduction4.f90: New test.
13262
13263 2005-10-13 Richard Henderson <rth (a] redhat.com>
13264
13265 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13266 * Makefile.in: Regenerate.
13267 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13268 * libgomp.h: Include bar.h.
13269 (struct gomp_barrier): Remove.
13270 (struct gomp_team): Add barrier. Replace master_barrier with
13271 master_release. Replace threads with ordered_release.
13272 (struct gomp_thread): Replace barrier with release.
13273 * ordered.c (gomp_ordered_first): Update for ordered_release change.
13274 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13275 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13276 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13277 (GOMP_single_copy_end): Likewise.
13278 * team.c (gomp_threads_dock): New.
13279 (gomp_barrier_init, gomp_barrier_destroy): Remove.
13280 (gomp_thread_start): Use gomp_barrier_wait.
13281 (new_team, free_team): Update for gomp_team changes.
13282 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13283 (gomp_team_end): Use gomp_barrier_wait.
13284 (initialize_team): Update for gomp_thread changes.
13285 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13286 (gomp_work_share_end_nowait): Use atomic ops when available.
13287 * config/linux/bar.c, config/linux/bar.h: New files.
13288 * config/posix/bar.c, config/posix/bar.h: New files.
13289
13290 2005-10-13 Jakub Jelinek <jakub (a] redhat.com>
13291
13292 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13293 * testsuite/libgomp.dg/single-2.c: New test.
13294
13295 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13296 lang_link_flags): Unset, so that they aren't inherited from previously
13297 sourced *.exp.
13298
13299 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13300
13301 2005-10-12 Richard Henderson <rth (a] redhat.com>
13302
13303 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13304 (libgomp_init): Use lang_test_file, lang_library_path, and
13305 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
13306
13307 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13308 (lang_test_file, lang_link_flags): New.
13309 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13310
13311 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13312 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13313 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13314 testsuite/libgomp.c++/parallel-1.C,
13315 testsuite/libgomp.c++/reduction-1.C,
13316 testsuite/libgomp.c++/reduction-2.C,
13317 testsuite/libgomp.c++/reduction-3.C,
13318 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13319 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13320 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13321 New files, largely cribbed from the C testsuite.
13322
13323 2005-10-12 Jakub Jelinek <jakub (a] redhat.com>
13324
13325 * testsuite/libgomp.fortran/character1.f90: New test.
13326 * testsuite/libgomp.fortran/character2.f90: New test.
13327
13328 * testsuite/libgomp.dg/nested-1.c: New test.
13329 * testsuite/libgomp.dg/nested-2.c: New test.
13330 * testsuite/libgomp.fortran/do1.f90: New test.
13331 * testsuite/libgomp.fortran/do2.f90: New test.
13332
13333 * testsuite/libgomp.fortran/reference1.f90: New test.
13334
13335 2005-10-11 Jakub Jelinek <jakub (a] redhat.com>
13336
13337 * testsuite/libgomp.dg/reduction-1.c: New test.
13338 * testsuite/libgomp.dg/reduction-2.c: New test.
13339 * testsuite/libgomp.dg/reduction-3.c: New test.
13340
13341 2005-10-10 Jakub Jelinek <jakub (a] redhat.com>
13342
13343 * testsuite/libgomp.dg/atomic-1.c: New test.
13344 * testsuite/libgomp.dg/atomic-2.c: New test.
13345
13346 2005-10-09 Richard Henderson <rth (a] redhat.com>
13347
13348 * critical.c (atomic_lock): New.
13349 (initialize_critical): Initialize it.
13350 (GOMP_atomic_start, GOMP_atomic_end): New.
13351 * libgomp.map: Export them.
13352 * libgomp_g.h: Declare them.
13353
13354 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13355
13356 2005-10-02 Richard Henderson <rth (a] redhat.com>
13357
13358 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
13359 to XCFLAGS instead of CFLAGS.
13360
13361 2005-09-30 Richard Henderson <rth (a] redhat.com>
13362
13363 * configure.ac: Determine whether -pthread or -lpthread is needed.
13364 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
13365 * Makefile.in, configure: Rebuild.
13366
13367 2005-09-28 Richard Henderson <rth (a] redhat.com>
13368
13369 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13370 * testsuite/libgomp.dg/omp-single-3.c: New test.
13371
13372 2005-09-28 Diego Novillo <dnovillo (a] redhat.com>
13373
13374 * testsuite/libgomp.dg/omp-single-2.c: New test.
13375 * testsuite/libgomp.dg/shared-2.c: Fix return code.
13376
13377 2005-09-27 Richard Henderson <rth (a] redhat.com>
13378
13379 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13380 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13381
13382 2005-09-27 Jakub Jelinek <jakub (a] redhat.com>
13383
13384 * testsuite/libgomp.dg/omp-loop03.c: New test.
13385
13386 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
13387
13388 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13389
13390 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
13391
13392 * testsuite/libgomp.dg/omp-single-1.c: New test.
13393 * testsuite/libgomp.dg/shared-1.c: Return 0.
13394 Add prototype for abort.
13395 * testsuite/libgomp.dg/shared-2.c: Likewise.
13396
13397 2005-09-26 Jakub Jelinek <jakub (a] redhat.com>
13398
13399 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13400 constructs.
13401
13402 2005-09-26 Diego Novillo <dnovillo (a] redhat.com>
13403
13404 * testsuite/libgomp.dg/shared-1.c: New test.
13405 * testsuite/libgomp.dg/shared-2.c: New test.
13406
13407 2005-09-24 Richard Henderson <rth (a] redhat.com>
13408
13409 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
13410
13411 2005-09-24 Richard Henderson <rth (a] redhat.com>
13412
13413 * iter.c (gomp_iter_static_next): Round up when computing number
13414 of iterations. Don't bother distributing a remainder equally.
13415
13416 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
13417 Don't call srand. Zero b before testing.
13418 (main): New.
13419
13420 2005-09-24 Jakub Jelinek <jakub (a] redhat.com>
13421
13422 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
13423 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
13424
13425 2005-09-23 Jakub Jelinek <jakub (a] redhat.com>
13426
13427 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
13428 without !$omp end do, followed immediately by subroutine end.
13429
13430 2005-09-23 Diego Novillo <dnovillo (a] redhat.com>
13431
13432 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13433
13434 2005-09-22 Richard Henderson <rth (a] redhat.com>
13435
13436 * critical.c (GOMP_critical_name_start): Change argument to void**.
13437 Reuse the pointer space if the mutex fits.
13438 (GOMP_critical_name_end): Likewise.
13439 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13440 * libgomp_g.h (GOMP_critical_name_start): Update decl.
13441 (GOMP_critical_name_end): Likewise.
13442 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13443 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13444
13445 2005-09-20 Richard Henderson <rth (a] redhat.com>
13446
13447 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13448 (create_lock_lock): New.
13449 (initialize_critical): Initialize it.
13450 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13451 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13452
13453 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
13454
13455 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13456
13457 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
13458
13459 * testsuite/libgomp.dg/omp-loop01.c: New test.
13460 * testsuite/libgomp.dg/omp-loop02.c: New test.
13461
13462 2005-09-20 Jakub Jelinek <jakub (a] redhat.com>
13463
13464 * configure.ac (AC_PROG_FC): Add.
13465 (USE_FORTRAN): New automake conditional.
13466 * configure: Rebuilt.
13467 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13468 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13469 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13470 Add rules to build them.
13471 * Makefile.in: Rebuilt.
13472 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13473 OMP_NEST_LOCK_KIND.
13474 * libgomp.map: Add Fortran wrappers.
13475 * libgomp_f.h.in: New file.
13476 * omp_lib.h.in: New file.
13477 * omp_lib.f90.in: New file.
13478 * fortran.c: New file.
13479 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13480 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13481 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13482 libgfortran has been built.
13483 * testsuite/libgomp.fortran/fortran.exp: New file.
13484 * testsuite/libgomp.fortran/omp_cond1.f: New test.
13485 * testsuite/libgomp.fortran/omp_cond2.f: New test.
13486 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13487 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13488 * testsuite/libgomp.fortran/omp_hello.f: New test.
13489 * testsuite/libgomp.fortran/omp_orphan.f: New test.
13490 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13491 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13492 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13493 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13494 * testsuite/libgomp.fortran/omp_reduction.f: New test.
13495 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13496 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13497
13498 2005-08-30 Richard Henderson <rth (a] redhat.com>
13499
13500 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
13501 function for when aliases are not usable.
13502 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13503 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13504 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13505 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13506 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13507 GOMP_loop_ordered_guided_next): Likewise.
13508 * ordered.c (GOMP_ordered_start): Likewise.
13509
13510 2005-08-01 Diego Novillo <dnovillo (a] redhat.com>
13511
13512 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13513 * testsuite/libgomp.dg/omp_hello.c: Fix return code
13514 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
13515 * testsuite/libgomp.dg/omp_orphan.c: Likewise
13516 * testsuite/libgomp.dg/omp_reduction.c: Likewise
13517 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
13518 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
13519 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
13520 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
13521
13522 2005-07-07 Eric Christopher <echristo (a] redhat.com>
13523 Diego Novillo <dnovillo (a] redhat.com>
13524
13525 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13526 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13527 up code.
13528 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
13529 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
13530 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
13531 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13532 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13533 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13534 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13535
13536 2005-06-13 Diego Novillo <dnovillo (a] redhat.com>
13537
13538 * TOPLEVEL.patch: Remove.
13539
13540 2005-05-16 Richard Henderson <rth (a] redhat.com>
13541
13542 * configure.ac: Test for clock_gettime.
13543 * config.h.in, configure: Rebuild.
13544 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13545 (omp_get_wtime): Use clock_gettime if available.
13546 (omp_get_wtick): Use clock_getres if available.
13547
13548 2005-05-11 Richard Henderson <rth (a] redhat.com>
13549
13550 * config/linux/ia64/futex.h: New file.
13551 * configure.tgt: Use it.
13552
13553 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13554
13555 2005-05-07 Richard Henderson <rth (a] redhat.com>
13556
13557 * config/linux/powerpc/futex.h: New file.
13558 * configure.tgt: Use it.
13559
13560 * config/linux/i486/futex.h: Merge ...
13561 * config/linux/x86_64/futex.h: ... into ...
13562 * config/linux/x86/futex.h: ... here.
13563 * configure.tgt: Update to match.
13564
13565 2005-05-06 Richard Henderson <rth (a] redhat.com>
13566
13567 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
13568 * config/linux/i486/futex.h: Likewise.
13569 * config/linux/x86_64/futex.h: Likewise.
13570
13571 * config/linux/lock.c: New file.
13572 * config/linux/omp-lock.h: New file.
13573
13574 * critical.c, env.h: Don't include omp.h
13575 * config/posix/lock.c: Include libgomp.h instead of omp.h.
13576 * config/posix/time.c: Likewise.
13577 * config/posix/omp-lock.h: New file.
13578 * libgomp.h: Include omp-lock.h and omp.h.
13579 * Makefile.am (nodist_include_HEADERS): New.
13580 (omp.h): New rule.
13581 * configure.ac (PERL): New.
13582 * mkomp_h.pl: New file.
13583 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13584 with templates.
13585 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13586
13587 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13588 build directory. Re-add -march=i486 hack.
13589
13590 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13591 (libgomp_link_flags): Remove.
13592 (libgomp_initialized): Remove.
13593 (libgomp_init): Don't protect from reinitialization. Copy code
13594 from libstdc++ for getting the multilib set correctly.
13595
13596 2005-05-05 Richard Henderson <rth (a] redhat.com>
13597
13598 * config/linux/alpha/futex.h: New file.
13599 * configure.tgt (alpha*-*-linux*): Use it.
13600
13601 * config/posix/mutex.c: New file.
13602 * config/posix/sem.c: Use libgomp.h.
13603
13604 * configure.tgt (x86_64-linux): Also test CC for -m32.
13605 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13606
13607 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
13608 after $gccpath.
13609
13610 * Makefile.am (SUBDIRS): New.
13611 (libgomp_la_LDFLAGS): Add -lpthread.
13612 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13613 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13614
13615 * libgomp_g.h: New file.
13616 * libgomp.h: Split out all public declarations to libgomp_g.h.
13617 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13618 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13619 * config/linux/sem.h: Likewise.
13620 * config/posix/sem.h: Likewise.
13621
13622 * Makefile.am (AM_LDFLAGS): New.
13623 (libgomp_version_script): Split out from ...
13624 (libgomp_la_LDFLAGS): ... here.
13625 (libgomp_version_info): New.
13626 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13627 (LIBGOMP_ENABLE): New.
13628 (LIBGOMP_CHECK_LINKER_FEATURES): New.
13629 (LIBGOMP_ENABLE_SYMVERS): New.
13630 * configure.ac (AC_INIT): Version 1.0.
13631 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13632 (enable-linux-futex): Likewise. Rename from enable-futex.
13633 (libtool_VERSION): New.
13634 (LIBGOMP_ENABLE_SYMVERS): Use it.
13635 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13636 * Makefile.in, aclocal.m4, configure: Rebuild.
13637
13638 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13639 (gomp_mutex_unlock_slow): Fix typo.
13640 * config/linux/sem.c: Similarly.
13641 (gomp_sem_post_slow): Fix typo.
13642 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13643 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13644 [__PIC__] (sys_futex0): Don't use tmp output in asm.
13645
13646 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13647 (libgomp_la_LDFLAGS): Add top_srcdir to path.
13648 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13649 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
13650 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13651 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13652 LDFLAGS. Pull enable_futex check to top-level.
13653 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
13654 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13655
13656 First attempt at real configury.
13657 * Makefile, config.h: Remove file.
13658 * Makefile.am, Makefile.in: New file.
13659 * acinclude.m4 aclocal.m4: New file.
13660 * configure.ac, configure.tgt, configure: New file.
13661
13662 * config/posix/lock.c: Rename from sys-lock.c.
13663 * config/posix/mutex.h: Rename from sys-mutex.h.
13664 * config/posix/sem.c: Rename from sys-sem.c.
13665 * config/posix/sem.h: Rename from sys-sem.h.
13666 * config/posix/proc.c: Rename from sys-proc.c.
13667 * config/posix/time.c: Rename from sys-proc.c.
13668
13669 * config/linux/mutex.c: New file.
13670 * config/linux/mutex.h: New file.
13671 * config/linux/sem.c: New file.
13672 * config/linux/sem.h: New file.
13673 * config/linux/i486/futex.h: New file.
13674 * config/linux/x86_64/futex.h: New file.
13675
13676 2005-05-04 Richard Henderson <rth (a] redhat.com>
13677
13678 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13679 * libgomp.h: Declare them.
13680 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13681 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13682
13683 2005-05-04 Richard Henderson <rth (a] redhat.com>
13684
13685 * libgomp-1 code drop
13686
13687 2005-05-04 Richard Henderson <rth (a] redhat.com>
13688
13689 * iter.c (gomp_iter_static_next): Return tri-state on 0.
13690 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
13691 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13692 (gomp_iter_static_next): Update.
13693 (gomp_ordered_static_next): Update.
13694 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13695 (gomp_loop_ordered_static_start): Likewise. Exit early for a
13696 totally empty range.
13697 (gomp_loop_ordered_static_next): Refine test for calling
13698 gomp_ordered_static_next.
13699 * testsuite/ordered-1.c: Add case for more threads than iterations.
13700
13701 * iter.c (gomp_iter_runtime_next_locked): Remove.
13702 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
13703 gomp_loop_guided_start, gomp_loop_ordered_static_start,
13704 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13705 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13706 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13707 gomp_loop_ordered_guided_next): Downcase name, make static, add
13708 an external alias with the old name.
13709 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13710 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13711 switch and call one of the above static functions.
13712 * libgomp.h: Update.
13713
13714 * work.c (gomp_work_share_start): Lock the mutex for !first too.
13715 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13716 GOMP_loop_guided_start, GOMP_loop_runtime_start,
13717 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13718 GOMP_loop_ordered_guided_start): Update to match.
13719 * sections.c (GOMP_sections_start): Likewise.
13720 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13721
13722 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13723 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13724 Use bounds check instead of modulus.
13725 (gomp_ordered_sync): Split out of GOMP_ordered_start.
13726 (gomp_ordered_last): Don't sync with ordered_owner here.
13727 (gomp_ordered_next): Likewise.
13728 (gomp_ordered_static_loop_next): Likewise.
13729 * loop.c, libgomp.h: Update to match.
13730
13731 * libgomp.h (GOMP_barrier): Declare.
13732
13733 * testsuite/barrier-1.c: New file.
13734 * testsuite/critical-1.c: New file.
13735 * testsuite/ordered-2.c: New file.
13736 * testsuite/ordered-1.c: New file.
13737 * testsuite/sections-1.c: New file.
13738 * testsuite/single-1.c: New file.
13739 * testsuite/Makefile (TESTS): Add them.
13740
13741 2005-05-04 Richard Henderson <rth (a] redhat.com>
13742
13743 * libgomp.h (struct gomp_work_share): Add ordered_owner.
13744 * loop.c (GOMP_loop_static_start): If not the startup thread,
13745 acquire the mutex to wait for initialization complete.
13746 (GOMP_loop_ordered_static_start): Likewise.
13747 (GOMP_loop_ordered_runtime_start): Likewise.
13748 (GOMP_loop_ordered_static_first): Remove.
13749 (GOMP_loop_ordered_dynamic_first): Remove.
13750 (GOMP_loop_ordered_guided_first): Remove.
13751 (GOMP_loop_ordered_runtime_first): Remove.
13752 * ordered.c (gomp_ordered_loop_first): Post to own release when
13753 we're the first thread.
13754 (gomp_ordered_loop_last): Wait on release if not owner.
13755 (gomp_ordered_loop_next): Likewise.
13756 (gomp_ordered_static_loop_init): New.
13757 (gomp_ordered_static_loop_next): Use ordered_owner.
13758 (GOMP_ordered_start): Likewise.
13759 * work.c (gomp_new_work_share): Initialize ordered_owner.
13760
13761 2005-05-03 Richard Henderson <rth (a] redhat.com>
13762
13763 * Makefile (OPT): New.
13764 (CFLAGS): Use it.
13765
13766 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13767 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13768 * libgomp.h, libgomp.map, NOTES: Update to match.
13769
13770 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13771 Add initialized and thr members.
13772 (gomp_thread_start): Pause when initially spawned to wait for
13773 the whole team to be created.
13774 (gomp_team_start): Release team members at the end.
13775
13776 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
13777 (f_foo_1): Use GOMP_loop_end.
13778 (f_foo_2): Use GOMP_loop_end_nowait.
13779
13780 * testsuite/loop-2.c: New file.
13781 * testsuite/Makefile (TESTS): Add it.
13782
13783 2005-05-03 Richard Henderson <rth (a] redhat.com>
13784
13785 * iter.c (gomp_iter_static_next): Fix overflow check typo.
13786 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13787 * team.c (new_team): Initialize oldest_live_gen to 1 if no
13788 initial work_share.
13789
13790 * testsuite/Makefile: New file.
13791 * testsuite/loop-1.c: New file.
13792
13793 2005-05-03 Richard Henderson <rth (a] redhat.com>
13794
13795 Initial implementation and checkin.
13796
13798 Copyright (C) 2005-2020 Free Software Foundation, Inc.
13799
13800 Copying and distribution of this file, with or without modification,
13801 are permitted in any medium without royalty provided the copyright
13802 notice and this notice are preserved.
13803