]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
rs6000: Write static initializations for overload tables
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
419c6c68
GA
12021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2 Joseph Myers <joseph@codesourcery.com>
3 Cesar Philippidis <cesar@codesourcery.com>
4
5 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
6 file.
7 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
8 Likewise.
9 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
10 Likewise.
11 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
12
92d45509
GA
132021-07-20 Thomas Schwinge <thomas@codesourcery.com>
14
15 PR target/101484
16 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
17 '-Wno-error=array-bounds'.
18 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
19 * libgomp.h [__AMDGCN__]: Likewise.
20
21ea2f93
GA
212021-07-19 Thomas Schwinge <thomas@codesourcery.com>
22
23 PR target/101484
24 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
25 * libgomp.h [__AMDGCN__]: Likewise.
26
0e775456
GA
272021-07-13 Jakub Jelinek <jakub@redhat.com>
28 Florian Weimer <fweimer@redhat.com>
29
30 * config/linux/sem.h: Don't include limits.h.
31 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
32 * config/linux/affinity.c: Include limits.h.
33
bea7c16a
GA
342021-07-01 Jakub Jelinek <jakub@redhat.com>
35
36 PR middle-end/94366
37 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
38
6bc18203
GA
392021-06-29 Tobias Burnus <tobias@codesourcery.com>
40
41 PR other/67300
42 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
43 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
44 avoid disabling other offload targets.
45 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
46 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
47 * testsuite/libgomp.c/target-44.c: Likewise.
48
492021-06-29 Tobias Burnus <tobias@codesourcery.com>
50
51 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
52 target has shared memory and disable some scalar pointer/allocatable
53 checks if not as firstprivate does not work.
54
90708f87
GA
552021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
56
57 PR testsuite/101114
58 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
59 Add "target offload_device_nonshared_as" condition for enabling test.
60
9aa8327e
GA
612021-06-24 Jakub Jelinek <jakub@redhat.com>
62
63 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
64 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
65 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
66 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
67
fcf617f0
GA
682021-06-23 Jakub Jelinek <jakub@redhat.com>
69
70 PR middle-end/101167
71 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
72
688359a2
GA
732021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
74
75 * hashtab.h (htab_clear): New function with initialization code
76 factored out from...
77 (htab_create): ...here, adjust to use htab_clear function.
78 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
79 special refcount values, add comments.
80 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
81 (REFCOUNT_LINK): Likewise.
82 (REFCOUNT_STRUCTELEM): New special refcount range for structure
83 element siblings.
84 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
85 sibling maps.
86 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
87 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
88 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
89 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
90 (struct splay_tree_key_s): Add structelem_refcount and
91 structelem_refcount_ptr fields into a union with dynamic_refcount.
92 Add comments.
93 (gomp_map_vars): Delete declaration.
94 (gomp_map_vars_async): Likewise.
95 (gomp_unmap_vars): Likewise.
96 (gomp_unmap_vars_async): Likewise.
97 (goacc_map_vars): New declaration.
98 (goacc_unmap_vars): Likewise.
99 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
100 (goacc_enter_datum): Likewise.
101 (goacc_enter_data_internal): Likewise.
102 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
103 and goacc_unmap_vars.
104 (GOACC_data_start): Adjust to use goacc_map_vars.
105 (GOACC_data_end): Adjust to use goacc_unmap_vars.
106 * target.c (hash_entry_type): New typedef.
107 (htab_alloc): New function hook for hashtab.h.
108 (htab_free): Likewise.
109 (htab_hash): Likewise.
110 (htab_eq): Likewise.
111 (hashtab.h): Add file include.
112 (gomp_increment_refcount): New function.
113 (gomp_decrement_refcount): Likewise.
114 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
115 gomp_increment_refcount.
116 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
117 to gomp_map_vars_existing.
118 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
119 variable to guard OpenMP specific paths, adjust calls to
120 gomp_map_vars_existing, add structure element sibling splay_tree_key
121 sequence creation code, adjust Fortran map case to avoid increment
122 under OpenMP.
123 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
124 local refcount_set if caller passed in NULL, adjust call to
125 gomp_map_vars_internal.
126 (gomp_map_vars_async): Adjust and rename into...
127 (goacc_map_vars): ...this new function, adjust call to
128 gomp_map_vars_internal.
129 (gomp_remove_splay_tree_key): New function with code factored out from
130 gomp_remove_var_internal.
131 (gomp_remove_var_internal): Add code to handle removing multiple
132 splay_tree_key sequence for structure elements, adjust code to use
133 gomp_remove_splay_tree_key for splay-tree key removal.
134 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
135 gomp_decrement_refcount.
136 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
137 local refcount_set if caller passed in NULL, adjust call to
138 gomp_unmap_vars_internal.
139 (gomp_unmap_vars_async): Adjust and rename into...
140 (goacc_unmap_vars): ...this new function, adjust call to
141 gomp_unmap_vars_internal.
142 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
143 gomp_unmap_vars.
144 (GOMP_target_ext): Likewise.
145 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
146 (GOMP_target_data): Likewise.
147 (GOMP_target_data_ext): Likewise.
148 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
149 (gomp_exit_data): Add refcount_set parameter, adjust to use
150 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
151 after main loop.
152 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
153 gomp_map_vars and gomp_exit_data.
154 (gomp_target_task_fn): Likewise.
155 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
156 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
157 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
158 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
159 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
160 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
161
ede6c356
GA
1622021-06-15 Tobias Burnus <tobias@codesourcery.com>
163
164 PR fortran/92568
165 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
166
43c35d0d
GA
1672021-06-10 Andrew Stubbs <ams@codesourcery.com>
168 Thomas Schwinge <thomas@codesourcery.com>
169
170 * libgomp.map (GOACC_2.0.2): New symbol version.
171 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
172 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
173
1742021-06-10 Thomas Schwinge <thomas@codesourcery.com>
175 Andrew Stubbs <ams@codesourcery.com>
176
177 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
178 extracted from...
179 (GOACC_enter_exit_data): ... here.
180 (GOACC_declare): Use it.
181
1822021-06-10 Thomas Schwinge <thomas@codesourcery.com>
183
184 * oacc-parallel.c (GOACC_declare): Move...
185 * oacc-mem.c: ... here.
186 * libgomp_g.h: Adjust.
187
1882021-06-10 Andrew Stubbs <ams@codesourcery.com>
189 Thomas Schwinge <thomas@codesourcery.com>
190
191 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
192 handling.
193
1942021-06-10 Jakub Jelinek <jakub@redhat.com>
195
196 PR tree-optimization/100981
197 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
198 dsdotr and dsdoti to 0.
199
4f625f47
GA
2002021-06-09 H.J. Lu <hjl.tools@gmail.com>
201
202 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
203 if atomic compare-and-swap is supported on 'int'.
204
2052021-06-09 Richard Biener <rguenther@suse.de>
206
207 PR tree-optimization/100981
208 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
209
c6038721
GA
2102021-06-08 Thomas Schwinge <thomas@codesourcery.com>
211
212 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
213 unconditionally.
214 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
215 Update.
216 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
217 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
218
2192021-06-08 Thomas Schwinge <thomas@codesourcery.com>
220
221 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
222 '-DACC_MEM_SHARED=0'.
223 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
224 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
225 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
226 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
227 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
228 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
229 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
230 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
231 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
232 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
233 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
234 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
235 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
236 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
237 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
238 'acc_device_radeon' testing.
239 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
240 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
241 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
242 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
243 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
244 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
245 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
246 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
247 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
248 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
249 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
250 for non-'openacc_nvidia_accel_selected'.
251 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
252 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
253 all implement this checking".
254 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
255 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
256 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
257 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
258 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
259
2602021-06-08 Thomas Schwinge <thomas@codesourcery.com>
261
262 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
263 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
264
2652021-06-08 Thomas Schwinge <thomas@codesourcery.com>
266
267 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
268 for 'acc_device_radeon'.
269
2702021-06-08 Thomas Schwinge <thomas@codesourcery.com>
271
272 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
273 for non-'acc_device_nvidia'.
274
2752021-06-08 Thomas Schwinge <thomas@codesourcery.com>
276
277 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
278 'acc_device_radeon' testing.
279 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
280 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
281 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
282
2832021-06-08 Thomas Schwinge <thomas@codesourcery.com>
284
285 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
286 require 'openacc_nvidia_accel_selected'. Fix up for
287 'ACC_DEVICE_TYPE_radeon'.
288
2892021-06-08 Thomas Schwinge <thomas@codesourcery.com>
290
291 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
292 'openacc_nvidia_accel_selected'.
293 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
294
2952021-06-08 Thomas Schwinge <thomas@codesourcery.com>
296
297 * testsuite/lib/libgomp.exp
298 (check_effective_target_openacc_radeon_accel_selected):
299 Streamline.
300
3012021-06-08 Thomas Schwinge <thomas@codesourcery.com>
302
303 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
304 PR80547 workaround.
305
3062021-06-08 Thomas Schwinge <thomas@codesourcery.com>
307
308 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
309 <acc_device_nvidia>: Update comment.
310
48166757
GA
3112021-05-28 Tobias Burnus <tobias@codesourcery.com>
312
313 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
314
cd62d089
GA
3152021-05-27 Jakub Jelinek <jakub@redhat.com>
316
317 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
318 check_effective_target_openacc_cublas,
319 check_effective_target_openacc_cudart): New.
320 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
321 target openacc_cublas.
322 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
323 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
324 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
325 target openacc_cuda.
326 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
327 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
328 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
329 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
330 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
331 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
332 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
333 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
334 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
335 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
336 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
337 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
338 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
339 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
340 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
341 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
342 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
343 targets openacc_cublas and openacc_cudart.
344 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
345 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
346 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
347 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
348 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
349 Require effective target openacc_cudart.
350 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
351 for effective target openacc_cuda and add && defined USE_CUDA_H to
352 preprocessor conditionals. Guard -lcuda also on openacc_cuda
353 effective target.
354
01c59ef2
GA
3552021-05-26 Jakub Jelinek <jakub@redhat.com>
356
357 PR libgomp/100573
358 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
359 GOMP_target_end_data, GOMP_target_update_ext,
360 GOMP_target_enter_exit_data): New dummy entrypoints.
361 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
362 GOMP_target_end_data, GOMP_target_update_ext,
363 GOMP_target_enter_exit_data): Likewise.
364 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
365 OMPFROM, OMPTO): Define.
366 (main): Remove #pragma omp target teams around all the tests.
367 * testsuite/libgomp.c-c++-common/target-41.c: New test.
368 * testsuite/libgomp.c-c++-common/target-42.c: New test.
369
2bc6dace
GA
3702021-05-25 Jakub Jelinek <jakub@redhat.com>
371
372 PR middle-end/99928
373 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
374
637569df
GA
3752021-05-24 Tobias Burnus <tobias@codesourcery.com>
376
377 PR fortran/86470
378 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
379 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
380 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
381
15d30d2f
GA
3822021-05-22 Thomas Schwinge <thomas@codesourcery.com>
383
384 PR testsuite/90115
385 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
386 uninteresting/varying diagnostics.
387
2832d51b
GA
3882021-05-21 Thomas Schwinge <thomas@codesourcery.com>
389
390 PR middle-end/90115
391 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
392 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
393
3942021-05-21 Thomas Schwinge <thomas@codesourcery.com>
395
396 PR middle-end/90115
397 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
398 file.
399 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
400 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
401 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
402 Likewise.
403 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
404 Likewise.
405 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
406 Likewise.
407 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
408 Likewise.
409 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
410 Likewise.
411 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
412 Likewise.
413 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
414 Likewise.
415 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
416 Likewise.
417 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
418 Likewise.
419 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
420 Likewise.
421 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
422 Likewise.
423 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
424 Likewise.
425 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
426 Likewise.
427 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
428 Likewise.
429 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
430 Likewise.
431 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
432 Likewise.
433 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
434 Likewise.
435 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
436 Likewise.
437 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
438 Likewise.
439 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
440 Likewise.
441 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
442 Likewise.
443 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
444 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
445 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
446 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
447 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
448 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
449 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
450 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
451 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
452 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
453 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
454 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
455 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
456 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
457 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
458 Likewise.
459 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
460 Likewise.
461 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
462 Likewise.
463 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
464 Likewise.
465 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
466 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
467 Likewise.
468 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
469 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
470 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
471 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
472 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
473 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
474 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
475 Likewise.
476 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
477 Likewise.
478 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
479 Likewise.
480 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
481 Likewise.
482 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
483 Likewise.
484 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
485 Likewise.
486 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
487 Likewise.
488 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
489 Likewise.
490 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
491 Likewise.
492 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
493 Likewise.
494 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
495 Likewise.
496 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
497 Likewise.
498 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
499 Likewise.
500 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
501 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
502 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
503 Likewise.
504 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
505 Likewise.
506 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
507 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
508 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
509
5102021-05-21 Julian Brown <julian@codesourcery.com>
511 Chung-Lin Tang <cltang@codesourcery.com>
512 Thomas Schwinge <thomas@codesourcery.com>
513
514 PR middle-end/90115
515 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
516 test.
517 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
518 Likewise.
519 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
520 Likewise.
521
5222021-05-21 Thomas Schwinge <thomas@codesourcery.com>
523
524 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
525 for nvptx offloading.
526
5272021-05-21 Tobias Burnus <tobias@codesourcery.com>
528
529 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
530
65f32e5d
GA
5312021-05-19 Thomas Schwinge <thomas@codesourcery.com>
532
533 PR target/83812
534 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
535
5362021-05-19 Julian Brown <julian@codesourcery.com>
537
538 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
539
a8daf9a1
GA
5402021-05-18 Thomas Schwinge <thomas@codesourcery.com>
541
542 * testsuite/lib/libgomp.exp
543 (check_effective_target_offload_target_nvptx): Don't shadow global
544 'offload_targets' variable.
545
5462021-05-18 Thomas Schwinge <thomas@codesourcery.com>
547
548 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
549 '-latomic' to nvptx offloading compilation.
550 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
551
5522021-05-18 Thomas Schwinge <thomas@codesourcery.com>
553
554 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
555 offloading compilation.
556
a7ffc1ef
GA
5572021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
558
559 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
560 if new tasks generated.
561 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
562
87a7d10c
GA
5632021-05-14 Tobias Burnus <tobias@codesourcery.com>
564
565 * testsuite/libgomp.fortran/parallel-master.f90: New test.
566
f9af11c7
GA
5672021-05-13 Martin Liska <mliska@suse.cz>
568
569 PR testsuite/100569
570 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
571 * testsuite/libgomp.c/pr46032-2.c: Likewise.
572 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
573 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
574
0ff3a0f2
GA
5752021-05-12 Tobias Burnus <tobias@codesourcery.com>
576
577 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
578 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
579
037e3661
GA
5802021-05-11 Jakub Jelinek <jakub@redhat.com>
581
582 PR middle-end/100471
583 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
584 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
585 reduction pointer.
586 * testsuite/libgomp.c/task-reduction-4.c: New test.
587
62d87a32
GA
5882021-05-07 Tobias Burnus <tobias@codesourcery.com>
589 Tom de Vries <tdevries@suse.de>
590
591 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
592 complex/floating-point || + && reduction with 'omp target'.
593 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
594
99e8df7a
GA
5952021-05-04 Tobias Burnus <tobias@codesourcery.com>
596
597 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
598 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
599 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
600 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
601
6022021-05-04 Tobias Burnus <tobias@codesourcery.com>
603
604 PR testsuite/100397
605 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
606 declaration to scope of non-'depend'-guarded assignment to avoid races.
607
e690396d
GA
6082021-05-03 Tom de Vries <tdevries@suse.de>
609
610 PR target/100321
611 * testsuite/libgomp.c/target-44.c: New test.
612
9326049e
GA
6132021-04-30 Roman Zhuykov <zhroma@ispras.ru>
614
615 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
616
3c8e539d
GA
6172021-04-29 Tom de Vries <tdevries@suse.de>
618
619 * testsuite/libgomp.c/pr81778.c: New test.
620
6212021-04-29 Tom de Vries <tdevries@suse.de>
622
623 PR target/100232
624 * testsuite/libgomp.c/target-43.c: New file.
625
e4ff4ffb
GA
6262021-04-28 Jakub Jelinek <jakub@redhat.com>
627 Tobias Burnus <tobias@codesourcery.com>
628
629 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
630 * target.c (gomp_load_plugin_for_device): If set and if a plugin
631 can't be dlopened, silently assume it has no devices.
632 * Makefile.in: Regenerate.
633 * config.h.in: Regenerate.
634 * configure: Regenerate.
635
c0fa3f2f
GA
6362021-04-26 Tobias Burnus <tobias@codesourcery.com>
637
638 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
639 Use [Ww]arning in dg-bogus as FE diagnostic and default
640 diagnostic differ and the result depends on ENABLE_OFFLOAD.
641 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
642 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
643 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
644
6452021-04-26 Tobias Burnus <tobias@codesourcery.com>
646
647 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
648 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
649 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
650 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
651 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
652
6532021-04-26 Thomas Schwinge <thomas@codesourcery.com>
654 Nathan Sidwell <nathan@codesourcery.com>
655 Tom de Vries <vries@codesourcery.com>
656 Julian Brown <julian@codesourcery.com>
657 Kwok Cheung Yeung <kcy@codesourcery.com>
658
659 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
660 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
661 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
662 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
663 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
664 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
665 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
666 Likewise.
667 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
668 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
669 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
670 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
671 Likewise.
672 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
673 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
674 Likewise.
675 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
676 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
677 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
678 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
679 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
680 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
681 Likewise.
682 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
683 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
684 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
685 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
686 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
687 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
688 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
689 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
690 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
691 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
692 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
693
6942021-04-26 Thomas Schwinge <thomas@codesourcery.com>
695
696 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
697 compile with '-w'.
698 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
699 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
700 Likewise.
701 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
702 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
703 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
704 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
705 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
706 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
707 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
708
e3948473
GA
7092021-04-22 Richard Biener <rguenther@suse.de>
710
711 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
712 only on nvptx-none.
713
c1ef0c92
GA
7142021-04-21 Tobias Burnus <tobias@codesourcery.com>
715
716 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
717 omp_depend_kind instead of defining it as 16.
718
7192021-04-21 Tobias Burnus <tobias@codesourcery.com>
720
721 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
722 New, based on check_effective_target_offload_target_nvptx.
723 (check_effective_target_offload_target_nvptx): Call it.
724 (check_effective_target_offload_target_amdgcn): New.
725 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
726 Require target offload_target_nvptx || offload_target_amdgcn.
727 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
728 * testsuite/libgomp.c/pr86416-1.c: Likewise.
729 * testsuite/libgomp.c/pr86416-2.c: Likewise.
730
7312021-04-21 Tobias Burnus <tobias@codesourcery.com>
732
733 * testsuite/libgomp.fortran/depobj-1.f90: New test.
734
6e81e015
GA
7352021-04-19 Thomas Schwinge <thomas@codesourcery.com>
736
737 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
738 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
739 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
740 Likewise.
741 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
742 Likewise.
743 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
744
ee351f7f
GA
7452021-04-15 Thomas Schwinge <thomas@codesourcery.com>
746
747 PR target/99555
748 * testsuite/lib/libgomp.exp
749 (check_effective_target_offload_device_nvptx): New.
750 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
751 resolved, make sure that we exit quickly, with error status,
752 XFAILed.
753 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
754 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
755
df3b1289
GA
7562021-04-14 Jakub Jelinek <jakub@redhat.com>
757
758 PR testsuite/100071
759 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
760 cp = omp_alloc with cp, p arguments instead of cq, q and call
761 c_f_pointer after last cq = omp_alloc with cq, q.
762
a0ecde22
GA
7632021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
764
765 PR middle-end/98088
766 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
767 for loop with GT/GE condition.
768 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
769
3115aba8
GA
7702021-04-09 Thomas Schwinge <thomas@codesourcery.com>
771
772 PR middle-end/84991
773 PR middle-end/84992
774 PR middle-end/90779
775 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
776
7772021-04-09 Jakub Jelinek <jakub@redhat.com>
778
779 PR libgomp/99984
780 * team.c (gomp_thread_start): Call pthread_setspecific for
781 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
782 has been initialized to avoid false positive warning.
783
65374af2
GA
7842021-03-29 Tobias Burnus <tobias@codesourcery.com>
785
786 PR target/99555
787 * testsuite/lib/on_device_arch.c: Move to ...
788 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
789 * testsuite/libgomp.fortran/on_device_arch.c: New file;
790 #include on_device_arch.h.
791 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
792 on_device_arch.h instead of using dg-additional-source.
793 * testsuite/libgomp.c/pr99555-1.c: Likewise.
794 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
795 on_device_arch.c without relative paths.
796
4493b1c1
GA
7972021-03-25 Thomas Schwinge <thomas@codesourcery.com>
798
799 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
800 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
801 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
802 * config.h.in: Regenerate.
803 * configure: Likewise.
804
8052021-03-25 Thomas Schwinge <thomas@codesourcery.com>
806
807 PR target/99555
808 * testsuite/lib/on_device_arch.c: New file.
809 * testsuite/libgomp.c/pr99555-1.c: Likewise.
810 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
811 skip for nvptx offloading, with error status.
812 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
813
8142021-03-25 Thomas Schwinge <thomas@codesourcery.com>
815
816 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
817 OpenACC 'serial' construct diagnostic for nvptx offloading.
818
3c5b6d24
GA
8192021-03-15 Tobias Burnus <tobias@codesourcery.com>
820
821 PR c++/99509
822 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
823
6da2762a
GA
8242021-03-12 Tobias Burnus <tobias@codesourcery.com>
825
826 PR fortran/98858
827 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
828
67f10d28
GA
8292021-03-04 Jakub Jelinek <jakub@redhat.com>
830
831 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
832 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
833 checking of -m32 or -mx32 options on the command line.
834 * config.h.in: Regenerated.
835 * configure: Regenerated.
836
ec9dc4fa
GA
8372021-02-27 Iain Sandoe <iain@sandoe.co.uk>
838
839 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
840 support from the target.
841
daa68844
GA
8422021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
843 Jakub Jelinek <jakub@redhat.com>
844
845 PR libgomp/98738
846 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
847 (struct gomp_task): Replace detach and completion_sem fields with
848 union containing completion_sem and detach_team. Add deferred_p
849 field.
850 (struct gomp_team): Remove task_detach_queue.
851 * task.c: Include assert.h.
852 (gomp_init_task): Initialize deferred_p and completion_sem fields.
853 Rearrange initialization order of fields.
854 (task_fulfilled_p): Delete.
855 (GOMP_task): Use address of task as the event handle. Remove
856 initialization of detach field. Initialize deferred_p field.
857 Use automatic local for completion_sem. Initialize detach_team field
858 for deferred tasks.
859 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
860 Set kind of suspended detach task to GOMP_TASK_DETACHED and
861 decrement task_running_count. Move finish_cancelled block out of
862 else branch. Relocate call to gomp_team_barrier_done.
863 (GOMP_taskwait): Handle tasks with completion events that have not
864 been fulfilled.
865 (GOMP_taskgroup_end): Likewise.
866 (omp_fulfill_event): Use address of task as event handle. Post to
867 completion_sem for undeferred tasks. Clear detach_team if task
868 has not finished. For finished tasks, handle post-execution tasks,
869 call gomp_team_barrier_wake if necessary, and free task.
870 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
871 (free_team): Remove free of task_detach_queue.
872 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
873 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
874 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
875 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
876 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
877 Change data-sharing of detach events on enclosing parallel to private.
878 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
879 taskwait directive.
880 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
881 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
882 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
883 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
884 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
885 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
886 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
887 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
888 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
889 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
890 Change data-sharing of detach events on enclosing parallel to private.
891 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
892 taskwait directive.
893 * testsuite/libgomp.fortran/task-detach-7.f90: New.
894 * testsuite/libgomp.fortran/task-detach-8.f90: New.
895 * testsuite/libgomp.fortran/task-detach-9.f90: New.
896 * testsuite/libgomp.fortran/task-detach-10.f90: New.
897 * testsuite/libgomp.fortran/task-detach-11.f90: New.
898
2f5765cf
GA
8992021-02-22 Tobias Burnus <tobias@codesourcery.com>
900
901 PR fortran/99171
902 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
903
acc0ee5c
GA
9042021-02-17 Julian Brown <julian@codesourcery.com>
905
906 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
907 expected errors.
908
9092021-02-17 Julian Brown <julian@codesourcery.com>
910
911 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
912 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
913
0c5cdb31
GA
9142021-02-11 Uroš Bizjak <ubizjak@gmail.com>
915
916 * config/linux/x86/futex.h (__futex_wait):
917 Revert output type back to long.
918 (__futex_wake): Ditto.
919 (futex_wait): Update for revert.
920 (futex_wake): Ditto.
921
9222021-02-11 Uroš Bizjak <ubizjak@gmail.com>
923
924 * config/linux/x86/futex.h (__futex_wait): New static inline
925 wrapper function. Correct output type to int and
926 timeout type to void *.
927 (__futex_wake): New static inline wrapper function.
928 Correct output type to int.
929 (futex_wait): Use __futex_wait.
930 (futex_wake): Use __futex_wake.
931
4b37c3ea
GA
9322021-02-10 Julian Brown <julian@codesourcery.com>
933
934 PR fortran/98979
935 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
936 errors.
937
a19dd5e6
GA
9382021-02-04 Julian Brown <julian@codesourcery.com>
939
940 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
941
9faaa807
GA
9422021-02-03 Andrew Stubbs <ams@codesourcery.com>
943
944 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
945 EF_AMDGPU_MACH_AMDGCN_GFX908.
946 (gcn_gfx908_s): New constant string.
947 (isa_hsa_name): Add gfx908.
948 (isa_code): Add gfx908.
949
161e4c08
GA
9502021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
951
952 * libgomp.texi (omp_fulfill_event): New entry.
953
b93d0e36
GA
9542021-01-20 Jakub Jelinek <jakub@redhat.com>
955
956 * task.c (GOMP_task): Rename priority argument to priority_arg,
957 add priority automatic variable and modify that variable. Instead of
958 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
959 check flags for that bit.
960
f35a4f96
GA
9612021-01-19 Tobias Burnus <tobias@codesourcery.com>
962
963 PR fortran/98476
964 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
965
ef1f8ee6
GA
9662021-01-18 Andreas Schwab <schwab@suse.de>
967
968 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
969
9702021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
971
972 * config/rtems/sem.h (gomp_sem_getcount): New function.
973
9742021-01-18 Jakub Jelinek <jakub@redhat.com>
975
976 * config/linux/sem.h (gomp_sem_getcount): New function.
977 * config/posix/sem.h (gomp_sem_getcount): New function.
978 * config/posix/sem.c (gomp_sem_getcount): New function.
979 * config/accel/sem.h (gomp_sem_getcount): New function.
980 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
981 (omp_fulfill_event): Likewise.
982
59cf67d1
GA
9832021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
984
985 * fortran.c (omp_fulfill_event_): New.
986 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
987 (struct gomp_team): Add task_detach_queue and task_detach_count
988 fields.
989 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
990 * libgomp_g.h (GOMP_task): Add extra argument.
991 * omp.h.in (enum omp_event_handle_t): New.
992 (omp_fulfill_event): New.
993 * omp_lib.f90.in (omp_event_handle_kind): New.
994 (omp_fulfill_event): New.
995 * omp_lib.h.in (omp_event_handle_kind): New.
996 (omp_fulfill_event): Declare.
997 * priority_queue.c (priority_tree_find): New.
998 (priority_list_find): New.
999 (priority_queue_find): New.
1000 * priority_queue.h (priority_queue_predicate): New.
1001 (priority_queue_find): New.
1002 * task.c (gomp_init_task): Initialize detach field.
1003 (task_fulfilled_p): New.
1004 (GOMP_task): Add detach argument. Ignore detach argument if
1005 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
1006 field. Copy address of completion_sem into detach argument and
1007 into the start of the data record. Wait for detach event if task
1008 not deferred.
1009 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
1010 Remove completed tasks and requeue dependent tasks.
1011 (omp_fulfill_event): New.
1012 * team.c (gomp_new_team): Initialize task_detach_queue and
1013 task_detach_count fields.
1014 (free_team): Free task_detach_queue field.
1015 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
1016 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
1017 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
1018 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
1019 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
1020 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
1021 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
1022 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
1023 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
1024 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
1025 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
1026 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
1027
2f7f0d32
GA
10282021-01-15 Jakub Jelinek <jakub@redhat.com>
1029
1030 PR target/70454
1031 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
1032 be added through preprocessor check on
1033 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
1034
5fff80fd
GA
10352021-01-14 Thomas Schwinge <thomas@codesourcery.com>
1036
1037 PR libgomp/65099
1038 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
1039 configurations.
1040 * configure: Regenerate.
1041 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
1042 check.
1043
651b8a50
GA
10442021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1045
1046 * configure: Re-generate.
1047
10482021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1049
1050 * configure: Re-generate.
1051
10522021-01-05 Julian Brown <julian@codesourcery.com>
1053
1054 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
1055 (struct ptx_device): Add omp_stacks struct.
1056 (nvptx_open_device): Initialise cached-stacks housekeeping info.
1057 (nvptx_close_device): Free cached stacks block and mutex.
1058 (nvptx_stacks_free): New function.
1059 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
1060 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
1061 (nvptx_stacks_alloc): Rename to...
1062 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
1063 size or smaller is required.
1064 (nvptx_stacks_free): Remove.
1065 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
1066 during kernel execution.
1067
b6dd195a
GA
10682021-01-01 Jakub Jelinek <jakub@redhat.com>
1069
1070 * libgomp.texi: Bump @copying's copyright year.
1071
2d3425a5
GA
10722020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
1073
1074 * libgomp.texi (Top): Avoid bad "up" link.
1075
b1a2242e
GA
10762020-12-18 Jakub Jelinek <jakub@redhat.com>
1077
1078 * testsuite/libgomp.c/task-6.c: New test.
1079
ca2bd949
GA
10802020-12-09 Andrew Stubbs <ams@codesourcery.com>
1081
1082 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
1083 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
1084
f6e8e279
GA
10852020-12-08 Tobias Burnus <tobias@codesourcery.com>
1086
1087 * testsuite/libgomp.fortran/scan-1.f90: New test.
1088
6e1edf48
GA
10892020-12-05 Iain Sandoe <iain@sandoe.co.uk>
1090
1091 PR target/97865
1092 * configure: Regenerate.
1093
a9625c50
GA
10942020-11-29 John David Anglin <danglin@gcc.gnu.org>
1095
1096 * configure: Regenerate.
1097
360258da
GA
10982020-11-25 Thomas Schwinge <thomas@codesourcery.com>
1099
1100 * testsuite/libgomp.oacc-c++/cache-1.C: New.
1101 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
1102
11032020-11-25 Andrew Stubbs <ams@codesourcery.com>
1104
1105 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
1106 expected results.
1107
1e2c9a27
GA
11082020-11-24 Andrew Stubbs <ams@codesourcery.com>
1109
1110 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
1111 (reserved): Delete unused define.
1112
11132020-11-24 Thomas Schwinge <thomas@codesourcery.com>
1114
1115 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
1116 Tcl 8.5-specific behavior.
1117 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1118
25bb75f8
GA
11192020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
1120
1121 * env.c (gomp_global_icv): Remove nest_var field. Add
1122 max_active_levels_var field.
1123 (gomp_max_active_levels_var): Remove.
1124 (parse_boolean): Return true on success.
1125 (handle_omp_display_env): Express OMP_NESTED in terms of
1126 max_active_levels_var. Change format specifier for
1127 max_active_levels_var.
1128 (initialize_env): Set max_active_levels_var from
1129 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
1130 OMP_PROC_BIND.
1131 * icv.c (omp_set_nested): Express in terms of
1132 max_active_levels_var.
1133 (omp_get_nested): Likewise.
1134 (omp_set_max_active_levels): Use max_active_levels_var field instead
1135 of gomp_max_active_levels_var.
1136 (omp_get_max_active_levels): Likewise.
1137 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
1138 max_active_levels_var field.
1139 (gomp_supported_active_levels): Set to UCHAR_MAX.
1140 (gomp_max_active_levels_var): Delete.
1141 * libgomp.texi (omp_get_nested): Update documentation.
1142 (omp_set_nested): Likewise.
1143 (OMP_MAX_ACTIVE_LEVELS): Likewise.
1144 (OMP_NESTED): Likewise.
1145 (OMP_NUM_THREADS): Likewise.
1146 (OMP_PROC_BIND): Likewise.
1147 * parallel.c (gomp_resolve_num_threads): Replace reference
1148 to nest_var with max_active_levels_var. Use max_active_levels_var
1149 field instead of gomp_max_active_levels_var.
1150
11512020-11-18 Tobias Burnus <tobias@codesourcery.com>
1152
1153 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
1154 nvptx_usleep; use also for device={arch(gcn)}.
1155
faab61b5
GA
11562020-11-14 Jakub Jelinek <jakub@redhat.com>
1157
1158 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
1159 (foo): Add tests for non-VLA private and firstprivate clauses on
1160 omp task.
1161 (bar): Likewise. Remove taking of address from private/firstprivate
1162 variables.
1163 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
1164 (foo): Add p, q, px and s arguments. Add tests for array reductions
1165 and for non-VLA private and firstprivate clauses on omp task.
1166 (bar): Removed.
1167 (main): Adjust foo caller. Don't call bar.
1168
77f67db2
GA
11692020-11-13 Gergö Barany <gergo@codesourcery.com>
1170 Thomas Schwinge <thomas@codesourcery.com>
1171
1172 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1173 New.
1174 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1175 Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1177 Likewise.
1178 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
1179 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1180
11812020-11-13 Gergö Barany <gergo@codesourcery.com>
1182 Thomas Schwinge <thomas@codesourcery.com>
1183
1184 PR fortran/94358
1185 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
1186
11872020-11-13 Jakub Jelinek <jakub@redhat.com>
1188
1189 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
1190 for array reductions.
1191 (main): Adjust foo callers.
1192
a5a11525
GA
11932020-11-12 Jakub Jelinek <jakub@redhat.com>
1194
1195 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
1196 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
1197 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
1198 * allocator.c (omp_aligned_alloc): New for now static function,
1199 add alignment argument and handle it.
1200 (omp_alloc): Reimplement using omp_aligned_alloc.
1201 (GOMP_alloc, GOMP_free): New functions.
1202 (omp_free): Add ialias.
1203 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
1204 * testsuite/libgomp.c++/allocate-1.C: New test.
1205
12062020-11-12 Thomas Schwinge <thomas@codesourcery.com>
1207
1208 PR fortran/97782
1209 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
1210
bb622641
GA
12112020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1212
1213 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
1214 usable.
1215 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
1216 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
1217 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
1218 (goacc_enter_data_internal): Likewise.
1219 * target.c (gomp_map_vars_internal):
1220 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
1221 of gomp_attach_pointer for OpenMP cases.
1222 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
1223 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
1224 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
1225
0cfd9109
GA
12262020-11-05 Ulrich Drepper <drepper@redhat.com>
1227 Kwok Cheung Yeung <kcy@codesourcery.com>
1228
1229 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
1230 * Makefile.in: Regenerate.
1231 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
1232 pragmas to ignore -Wdeprecated-declarations warnings.
1233 * icv.c: Likewise.
1234 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
1235 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
1236 and omp_get_nested with __GOMP_DEPRECATED_5_0.
1237 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
1238 deprecated.
1239 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
1240 to test options.
1241 * testsuite/libgomp.c/affinity-1.c: Likewise.
1242 * testsuite/libgomp.c/affinity-2.c: Likewise.
1243 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
1244 * testsuite/libgomp.c/lib-1.c: Likewise.
1245 * testsuite/libgomp.c/nested-1.c: Likewise.
1246 * testsuite/libgomp.c/nested-2.c: Likewise.
1247 * testsuite/libgomp.c/nested-3.c: Likewise.
1248 * testsuite/libgomp.c/pr32362-1.c: Likewise.
1249 * testsuite/libgomp.c/pr32362-2.c: Likewise.
1250 * testsuite/libgomp.c/pr32362-3.c: Likewise.
1251 * testsuite/libgomp.c/pr35549.c: Likewise.
1252 * testsuite/libgomp.c/pr42942.c: Likewise.
1253 * testsuite/libgomp.c/pr61200.c: Likewise.
1254 * testsuite/libgomp.c/sort-1.c: Likewise.
1255 * testsuite/libgomp.c/target-5.c: Likewise.
1256 * testsuite/libgomp.c/target-6.c: Likewise.
1257 * testsuite/libgomp.c/teams-1.c: Likewise.
1258 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
1259 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1260 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1261 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
1262 * testsuite/libgomp.fortran/lib1.f90: Likewise.
1263 * testsuite/libgomp.fortran/lib2.f: Likewise.
1264 * testsuite/libgomp.fortran/nested1.f90: Likewise.
1265 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1266
88ce3d5f
GA
12672020-11-02 Thomas Schwinge <thomas@codesourcery.com>
1268
1269 PR target/85486
1270 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
1271 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1272 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1273
12742020-11-02 Thomas Schwinge <thomas@codesourcery.com>
1275
1276 PR testsuite/80219
1277 PR testsuite/85303
1278 * testsuite/lib/libgomp.exp (libgomp_init): Set
1279 'gcc_warning_prefix', 'gcc_error_prefix'.
1280
12812020-10-30 Jakub Jelinek <jakub@redhat.com>
1282
1283 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
1284 even in field_tgt_clear initializer.
1285
e93aae4a
GA
12862020-10-28 Jakub Jelinek <jakub@redhat.com>
1287
1288 * testsuite/libgomp.c/target-42.c: New test.
1289
12902020-10-28 Jakub Jelinek <jakub@redhat.com>
1291 Tom de Vries <tdevries@suse.de>
1292
1293 PR testsuite/81690
1294 * testsuite/libgomp.c/usleep.h: New file.
1295 * testsuite/libgomp.c/target-32.c: Include usleep.h.
1296 (main): Use tgt_usleep instead of usleep.
1297 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
1298 (main): Use tgt_usleep instead of usleep.
1299
13002020-10-28 Jakub Jelinek <jakub@redhat.com>
1301
1302 PR lto/96680
1303 * testsuite/libgomp.c/declare-variant-1.c: New test.
1304
56ddd5e2
GA
13052020-10-22 Jakub Jelinek <jakub@redhat.com>
1306
1307 * testsuite/libgomp.c/target-41.c: New test.
1308
13092020-10-22 Jakub Jelinek <jakub@redhat.com>
1310
1311 * icv.c (omp_get_initial_device): Remove including corresponding
1312 ialias.
1313 * icv-device.c (omp_get_initial_device): New function. Return
1314 gomp_get_num_devices (). Add ialias.
1315 * target.c (resolve_device): Don't fail with
1316 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
1317 gomp_get_num_devices ().
1318 (omp_target_alloc, omp_target_free, omp_target_is_present,
1319 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
1320 omp_target_disassociate_ptr, omp_pause_resource): Use
1321 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
1322 first use in the functions, in uses dominated by the
1323 gomp_get_num_devices call use num_devices_openmp instead.
1324 * libgomp.texi (omp_get_initial_device): Document.
1325 * config/gcn/icv-device.c (omp_get_initial_device): New function.
1326 Add ialias.
1327 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
1328 * testsuite/libgomp.c/target-40.c: New test.
1329
13302020-10-21 Jakub Jelinek <jakub@redhat.com>
1331
1332 * env.c (parse_target_offload): Change new_offload var type to int,
1333 preinitialize to -1, remove found var and test new_offload != -1
1334 instead of found.
1335
e2e04288
GA
13362020-10-20 Jakub Jelinek <jakub@redhat.com>
1337
1338 * target.c (gomp_target_init): Inside of the function, use automatic
1339 variables corresponding to num_devices, num_devices_openmp and devices
1340 global variables and update the globals only at the end of the
1341 function.
1342
13432020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
1344
1345 * env.c (gomp_target_offload_var): New.
1346 (parse_target_offload): New.
1347 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
1348 (initialize_env): Parse OMP_TARGET_OFFLOAD.
1349 * libgomp.h (gomp_target_offload_t): New.
1350 (gomp_target_offload_var): New.
1351 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
1352 * target.c (resolve_device): Generate error if device not found and
1353 offloading is mandatory.
1354 (gomp_target_fallback): Generate error if offloading is mandatory.
1355 (GOMP_target): Add argument in call to gomp_target_fallback.
1356 (GOMP_target_ext): Likewise.
1357 (gomp_target_data_fallback): Generate error if offloading is mandatory.
1358 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
1359 (GOMP_target_data_ext): Likewise.
1360 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
1361 (gomp_target_init): Return early if offloading is disabled.
1362
b85d5dc5
GA
13632020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
1364
1365 * libgomp.texi (omp_get_max_active_levels): Modify description.
1366 (omp_get_supported_active_levels): Make descriptions consistent.
1367
b2698c21
GA
13682020-10-14 Jakub Jelinek <jakub@redhat.com>
1369
1370 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
1371
bdd74cc2
GA
13722020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
1373
1374 * env.c (gomp_max_active_levels_var): Initialize to
1375 gomp_supported_active_levels.
1376 (initialize_env): Limit gomp_max_active_levels_var to be at most
1377 equal to gomp_supported_active_levels.
1378 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
1379 (omp_get_supported_active_levels_): New.
1380 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
1381 to at most equal to gomp_supported_active_levels.
1382 (omp_get_supported_active_levels): New.
1383 * libgomp.h (gomp_supported_active_levels): New.
1384 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
1385 omp_get_supported_active_levels_.
1386 * libgomp.texi (omp_get_supported_active_levels): New.
1387 (omp_set_max_active_levels): Update. Add reference to
1388 omp_get_supported_active_levels.
1389 * omp.h.in (omp_get_supported_active_levels): New.
1390 * omp_lib.f90.in (omp_get_supported_active_levels): New.
1391 * omp_lib.h.in (omp_get_supported_active_levels): New.
1392 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
1393 against omp_get_supported_active_levels.
1394 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
1395
2baa36d4
GA
13962020-10-11 Clement Chigot <clement.chigot@atos.net>
1397
1398 * config/t-aix: Delete and recreate libgomp before creating
1399 FAT library.
1400
da9df699
GA
14012020-10-08 Tom de Vries <tdevries@suse.de>
1402
1403 PR libgomp/81802
1404 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
1405 dimensions.
1406
8e97b905
GA
14072020-10-06 Tom de Vries <tdevries@suse.de>
1408
1409 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
1410
14112020-10-06 Tom de Vries <tdevries@suse.de>
1412
1413 PR middle-end/90861
1414 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
1415
7e9282ae
GA
14162020-10-05 Tom de Vries <tdevries@suse.de>
1417
1418 PR fortran/95654
1419 * testsuite/libgomp.fortran/pr95654.f90: New test.
1420
b0b9b8f0
GA
14212020-10-02 Tobias Burnus <tobias@codesourcery.com>
1422
1423 * Makefile.in: Regenerate with automake 1.15.1.
1424 * aclocal.m4: Likewise.
1425 * configure: Likewise.
1426 * testsuite/Makefile.in: Likewise.
1427
660bfe61
GA
14282020-09-30 Andrew Stubbs <ams@codesourcery.com>
1429
1430 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
1431 and amdgcn targets.
1432
14332020-09-30 Tobias Burnus <tobias@codesourcery.com>
1434
1435 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
1436
93bca37c
GA
14372020-09-29 Andrew Stubbs <ams@codesourcery.com>
1438
1439 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
1440 total number of threads is one.
1441 (gomp_team_barrier_wake): Likewise.
1442 (gomp_team_barrier_wait_end): Likewise.
1443 (gomp_team_barrier_wait_cancel_end): Likewise.
1444 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
1445 (gomp_team_barrier_wake): Likewise.
1446 (gomp_team_barrier_wait_end): Likewise.
1447 (gomp_team_barrier_wait_cancel_end): Likewise.
1448 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
1449
e84761c6
GA
14502020-09-28 Tobias Burnus <tobias@codesourcery.com>
1451
1452 PR middle-end/96390
1453 * testsuite/libgomp.c++/pr96390.C: New test.
1454 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
1455
4383c595
GA
14562020-09-27 Clement Chigot <clement.chigot@atos.net>
1457
1458 * config/t-aix: Use $(AR) without -X32_64.
1459
cdd8f031
GA
14602020-09-25 Jakub Jelinek <jakub@redhat.com>
1461
1462 * testsuite/libgomp.c/loop-25.c: New test.
1463
521d2711
GA
14642020-09-22 Tobias Burnus <tobias@codesourcery.com>
1465
1466 PR fortran/95654
1467 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
1468
14692020-09-22 Tom de Vries <tdevries@suse.de>
1470
1471 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
1472 fails.
1473
ecde1b0a
GA
14742020-09-16 Nathan Sidwell <nathan@acm.org>
1475
1476 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
1477
9f7ab8c5
GA
14782020-09-15 Tobias Burnus <tobias@codesourcery.com>
1479
1480 PR fortran/96668
1481 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
1482
14832020-09-15 Tobias Burnus <tobias@codesourcery.com>
1484
1485 PR fortran/96668
1486 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
1487 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
1488 (gomp_map_vars_existing): Update call to it.
1489 (gomp_map_fields_existing): Likewise
1490 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
1491 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
1492 remapped.
1493 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
1494 GOMP_MAP_POINTER.
1495 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
1496 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
1497
50a71cd0
GA
14982020-09-14 Tom de Vries <tdevries@suse.de>
1499
1500 * config/nvptx/atomic.c: New file. Add
1501 __sync_val_compare_and_swap_16.
1502 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
1503 target offload_target_nvptx.
1504
31a05046
GA
15052020-09-08 Julian Brown <julian@codesourcery.com>
1506
1507 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
1508 iteration-ordering assumptions.
1509
15102020-09-08 Julian Brown <julian@codesourcery.com>
1511
1512 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
1513 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1514
5b9a3d2a
GA
15152020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
1516
1517 * plugin/plugin-nvptx.c (nvptx_free):
1518 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
1519 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
1520 comments.
1521
15222020-08-20 Tobias Burnus <tobias@codesourcery.com>
1523
1524 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
1525
b3cb5606
GA
15262020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
1527
1528 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
1529
15302020-08-13 Jakub Jelinek <jakub@redhat.com>
1531
1532 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
1533 * testsuite/libgomp.c/loop-23.c (main): Likewise.
1534 * testsuite/libgomp.c/loop-24.c: New test.
1535
bc0ca715
GA
15362020-08-08 Jakub Jelinek <jakub@redhat.com>
1537 Tobias Burnus <tobias@codesourcery.com>
1538
1539 PR fortran/93553
1540 * testsuite/libgomp.fortran/pr93553.f90: New test.
1541
aa5ea20c
GA
15422020-08-05 Jakub Jelinek <jakub@redhat.com>
1543
1544 * testsuite/libgomp.c/loop-22.c: New test.
1545 * testsuite/libgomp.c/loop-23.c: New test.
1546
15472020-08-05 Jakub Jelinek <jakub@redhat.com>
1548
1549 PR middle-end/96459
1550 * testsuite/libgomp.c/teams-3.c: New test.
1551 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
1552 if not defined yet.
1553 (N(test)): Use it before all N(f*) calls.
1554 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
1555 (main): Don't call all test_* functions from within
1556 #pragma omp teams reduction(|:err), call them directly.
1557
abba2591
GA
15582020-08-04 Tom de Vries <tdevries@suse.de>
1559
1560 PR target/96428
1561 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
1562 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
1563
6a1ad710
GA
15642020-08-03 Julian Brown <julian@codesourcery.com>
1565 Thomas Schwinge <thomas@codesourcery.com>
1566
1567 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
1568 shared-memory devices. Extend with further checking.
1569
15702020-08-03 Martin Jambor <mjambor@suse.cz>
1571
1572 * plugin/Makefrag.am: Remove configuration of HSA plugin.
1573 * aclocal.m4: Regenerated.
1574 * Makefile.in: Regenerated.
1575 * config.h.in: Regenerated.
1576 * configure: Regenerated.
1577 * plugin/configfrag.ac: Likewise.
1578 * plugin/hsa_ext_finalize.h: Removed.
1579 * plugin/plugin-hsa.c: Likewise.
1580 * testsuite/Makefile.in: Regenerated.
1581 * testsuite/lib/libgomp.exp
1582 (offload_target_to_openacc_device_type): Remove hsa case.
1583 (check_effective_target_hsa_offloading_selected_nocache): Removed
1584 (check_effective_target_hsa_offloading_selected): Likewise.
1585 (libgomp_init): Do not add -Wno-hsa to additional_flags.
1586 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
1587 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
1588 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
1589 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
1590 * testsuite/libgomp.hsa.c/c.exp: Likewise.
1591 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
1592 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
1593 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
1594 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
1595 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
1596 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
1597 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
1598 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
1599 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
1600 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
1601 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
1602 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
1603 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
1604 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
1605 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
1606 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
1607 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
1608 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
1609 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1610
e71dab87
GA
16112020-07-27 Julian Brown <julian@codesourcery.com>
1612 Thomas Schwinge <thomas@codesourcery.com>
1613
1614 * libgomp.h (struct target_var_desc): Rename do_detach field to
1615 is_attach.
1616 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
1617 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
1618 (goacc_enter_data_internal): Don't affect reference counts
1619 for attach mappings.
1620 (goacc_exit_data_internal): Don't affect reference counts for detach
1621 mappings.
1622 * target.c (gomp_map_vars_existing): Don't affect reference counts for
1623 attach mappings.
1624 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
1625 mark attach mappings.
1626 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
1627 reference count for attach mappings.
1628 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
1629 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
1630 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
1631 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
1632 test as shouldfail.
1633 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
1634 gracefully in no-finalize mode.
1635 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
1636
53256ee3
GA
16372020-07-24 Thomas Schwinge <thomas@codesourcery.com>
1638
1639 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
1640 use.
1641 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1642 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1643
9bb403dc
GA
16442020-07-23 Julian Brown <julian@codesourcery.com>
1645 Thomas Schwinge <thomas@codesourcery.com>
1646
1647 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
1648 finalization for detach operation.
1649 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
1650 New test.
1651
16522020-07-23 Tobias Burnus <tobias@codesourcery.com>
1653
1654 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
1655 * libgomp_f.h.in (omp_check_defines): Check whether
1656 sizeof of determined Fortran kind and C typedef match.
1657 * omp_lib.f90.in: Add omp_depened_kind.
1658 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
1659 * configure: Regenerate.
1660 * Makefile.in: Regenerate.
1661 * testsuite/Makefile.in: Regenerate.
1662
3ea9abca
GA
16632020-07-22 Tobias Burnus <tobias@codesourcery.com>
1664
1665 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
1666 gcc/testsuite/c-c++-common/gomp/.
1667 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
1668 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
1669 from gcc/testsuite/gfortran.dg/gomp/.
1670 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
1671
16722020-07-22 Tobias Burnus <tobias@codesourcery.com>
1673
1674 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
1675 * omp_lib.h.in: Likewise.
1676
aeb34e15
GA
16772020-07-18 H.J. Lu <hjl.tools@gmail.com>
1678
1679 PR target/95620
1680 * testsuite/libgomp.c/pr95620.c: New test.
1681
96686b3f
GA
16822020-07-16 Julian Brown <julian@codesourcery.com>
1683 Thomas Schwinge <thomas@codesourcery.com>
1684
1685 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
1686 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
1687
fe8185b5
GA
16882020-07-15 Tobias Burnus <tobias@codesourcery.com>
1689
1690 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
1691 avoid conversion on 32bit systems from 32bit to 64bit due
1692 to -fdefault-integer-8.
1693
16942020-07-15 Tobias Burnus <tobias@codesourcery.com>
1695
1696 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
1697 variables; add character(kind=4) tests; update TODO comment.
1698
16992020-07-15 Tobias Burnus <tobias@codesourcery.com>
1700
1701 * allocator.c: Add ialias for omp_init_allocator and
1702 omp_destroy_allocator.
1703 * configure.ac: Set INTPTR_T_KIND.
1704 * configure: Regenerate.
1705 * Makefile.in: Regenerate.
1706 * testsuite/Makefile.in: Regenerate.
1707 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
1708 omp_set_default_allocator_, omp_get_default_allocator_): New
1709 functions and ialias_redirect.
1710 * icv.c: Add ialias for omp_set_default_allocator and
1711 omp_get_default_allocator.
1712 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
1713 omp_destroy_allocator_, omp_set_default_allocator_ and
1714 omp_get_default_allocator_.
1715 * omp_lib.f90.in: Add allocator traits parameters, declare
1716 allocator routines and add related kind parameters.
1717 * omp_lib.h.in: Likewise.
1718 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
1719 * testsuite/libgomp.fortran/alloc-1.F90: New test.
1720 * testsuite/libgomp.fortran/alloc-2.F90: New test.
1721 * testsuite/libgomp.fortran/alloc-3.F: New test.
1722 * testsuite/libgomp.fortran/alloc-4.f90: New test.
1723 * testsuite/libgomp.fortran/alloc-5.f90: New test.
1724
8ca07a30
GA
17252020-07-14 Tom de Vries <tom@codesourcery.com>
1726 Cesar Philippidis <cesar@codesourcery.com>
1727 Thomas Schwinge <thomas@codesourcery.com>
1728 Kwok Cheung Yeung <kcy@codesourcery.com>
1729
1730 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
1731 New variable.
1732 (acc_init_1): Set acc_init_thread to pthread_self (). Set
1733 acc_init_state to initializing at the start, and to initialized at the
1734 end.
1735 (self_initializing_p): New function.
1736 (acc_get_device_type): Return acc_device_none if called by thread that
1737 is currently executing acc_init_1.
1738 * libgomp.texi (acc_get_device_type): Update documentation.
1739 (Implementation Status and Implementation-Defined Behavior): Likewise.
1740 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
1741
17422020-07-14 David Edelsohn <dje.gcc@gmail.com>
1743
1744 * config/t-aix: Set BITS from compiler cpp macro.
1745
17462020-07-14 Tobias Burnus <tobias@codesourcery.com>
1747
1748 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
1749
17502020-07-14 Tobias Burnus <tobias@codesourcery.com>
1751
1752 PR fortran/67311
1753 * testsuite/libgomp.fortran/target-map-1.f90: New test.
1754
17552020-07-14 Jakub Jelinek <jakub@redhat.com>
1756
1757 * testsuite/libgomp.c/loop-21.c: New test.
1758
ea69fcf9
GA
17592020-07-13 Julian Brown <julian@codesourcery.com>
1760 Thomas Schwinge <thomas@codesourcery.com>
1761
1762 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
1763
86536295
GA
17642020-07-10 Julian Brown <julian@codesourcery.com>
1765 Thomas Schwinge <thomas@codesourcery.com>
1766
1767 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
1768 dynamic_refcount.
1769 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1770 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
1771 dynamic_refcount.
1772 (acc_unmap_data): Update comment.
1773 (goacc_map_var_existing, goacc_enter_datum): Adjust for
1774 dynamic_refcount semantics.
1775 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
1776 Adjust for dynamic_refcount semantics.
1777 (goacc_enter_data_internal): Implement "present" case of dynamic
1778 memory-map handling here. Update "non-present" case for
1779 dynamic_refcount semantics.
1780 (goacc_exit_data_internal): Use goacc_exit_datum_1.
1781 * target.c (gomp_map_vars_internal): Remove
1782 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
1783 handling.
1784 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
1785 (gomp_load_image_to_device): Substitute dynamic_refcount for
1786 virtual_refcount.
1787 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
1788 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
1789 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
1790 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
1791 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
1792 trace output.
1793 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
1794 trace output.
1795 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
1796 test.
1797 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1798 Remove stale comment.
1799 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
1800 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
1801 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
1802 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
1803 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
1804 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
1805
18062020-07-10 Julian Brown <julian@codesourcery.com>
1807 Thomas Schwinge <thomas@codesourcery.com>
1808
1809 * oacc-mem.c (goacc_map_var_existing): New function.
1810 (goacc_enter_datum): Use above function.
1811 (goacc_exit_datum_1): New function.
1812 (goacc_exit_datum): Use above function.
1813
3f8ca9cb
GA
18142020-07-09 Julian Brown <julian@codesourcery.com>
1815 Thomas Schwinge <thomas@codesourcery.com>
1816
1817 PR middle-end/95270
1818 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
1819 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
1820
18212020-07-09 Julian Brown <julian@codesourcery.com>
1822
1823 * oacc-mem.c (find_group_last): Group data-movement clauses
1824 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
1825 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
1826
18272020-07-09 Jakub Jelinek <jakub@redhat.com>
1828
1829 * testsuite/libgomp.c/loop-19.c: New test.
1830 * testsuite/libgomp.c/loop-20.c: New test.
1831
18322020-07-09 Jakub Jelinek <jakub@redhat.com>
1833
1834 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
1835 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
1836 it. Remove __omp_alloctrait_value_max__.
1837 * allocator.c (omp_init_allocator): Handle omp_atv_default for
1838 omp_atk_alignment and omp_atk_pool_size.
1839
b991c834
GA
18402020-07-03 Thomas Schwinge <thomas@codesourcery.com>
1841
1842 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
1843 behavior for 'GOMP_MAP_FORCE_FROM'.
1844 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
1845
18462020-07-03 Thomas Schwinge <thomas@codesourcery.com>
1847
1848 * oacc-mem.c (goacc_exit_data_internal): Remove
1849 'GOMP_MAP_ALWAYS_FROM' handling.
1850
46fbb6c6
GA
18512020-06-30 Thomas Schwinge <thomas@codesourcery.com>
1852
1853 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
1854 'scan-assembler' with 'scan-offload-rtl'.
1855 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1856 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1857 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
1858 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
1859
18602020-06-30 Thomas Schwinge <thomas@codesourcery.com>
1861
1862 * target.c (gomp_map_vars_existing): Assert 'kind !=
1863 GOMP_MAP_ATTACH'.
1864 (gomp_map_vars_internal): Clean up.
1865
9a33c41f
GA
18662020-06-27 Jakub Jelinek <jakub@redhat.com>
1867
1868 * testsuite/libgomp.c/loop-17.c: New test.
1869 * testsuite/libgomp.c/loop-18.c: New test.
1870
c9c05f73
GA
18712020-06-26 Marek Polacek <polacek@redhat.com>
1872
1873 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
1874
4543acc8
GA
18752020-06-23 Alexandre Oliva <oliva@adacore.com>
1876
1877 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
1878 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
1879
605a8f3b
GA
18802020-06-22 David Edelsohn <dje.gcc@gmail.com>
1881
1882 * Makefile.am: Use -include.
1883 * Makefile.in: Regenerate.
1884
f86e11a2
GA
18852020-06-21 David Edelsohn <dje.gcc@gmail.com>
1886
1887 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
1888 * Makefile.in: Regenerate
1889 * configure.ac (tmake_file): Substitute.
1890 * configure: Regenerate.
1891 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
1892 * config/t-aix: New file.
1893
aff95ee7
GA
18942020-06-17 Thomas Schwinge <thomas@codesourcery.com>
1895
1896 PR lto/94848
1897 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
1898 'dg-do run'.
1899
19002020-06-17 Andrew Stubbs <ams@codesourcery.com>
1901
1902 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
1903 variant for HSA_RUNTIME_LIB name.
1904 (find_executable_symbol_1): Delete.
1905 (find_executable_symbol): Delete.
1906 (init_kernel_properties): Add ".kd" suffix to symbol names.
1907 (find_load_offset): Delete.
1908 (create_and_finalize_hsa_program): Remove relocation handling.
1909
56638b9b
GA
19102020-06-16 Tobias Burnus <tobias@codesourcery.com>
1911
1912 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
1913
2c455ae0
GA
19142020-06-08 Tobias Burnus <tobias@codesourcery.com>
1915
1916 PR lto/94848
1917 PR middle-end/95551
1918 * testsuite/libgomp.fortran/target-var.f90: New test.
1919
1a59f3db
GA
19202020-06-05 Thomas Schwinge <thomas@codesourcery.com>
1921 Julian Brown <julian@codesourcery.com>
1922
1923 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
1924 special handling.
1925
19262020-06-05 Thomas Schwinge <thomas@codesourcery.com>
1927 Julian Brown <julian@codesourcery.com>
1928
1929 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
1930 Simplify.
1931
19322020-06-05 Julian Brown <julian@codesourcery.com>
1933
1934 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
1935 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
1936
3add3425
GA
19372020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1938
1939 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
1940 Evaluate 'copyfrom' individually for each entry.
1941 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
1942
19432020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1944
1945 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
1946 Evaluate 'finalize' individually for each entry.
1947 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
1948 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
1949 file.
1950
19512020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1952
1953 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
1954 usage.
1955 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
1956
19572020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1958 Julian Brown <julian@codesourcery.com>
1959
1960 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
1961 checking.
1962 (acc_unmap_data, goacc_exit_data_internal): Restore
1963 'is_tgt_unmapped' checking.
1964 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
1965 file.
1966 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
1967 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
1968 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
1969 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
1970 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
1971 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
1972
19732020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1974 Julian Brown <julian@codesourcery.com>
1975
1976 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
1977
19782020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1979
1980 PR libgomp/92854
1981 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
1982
19832020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1984
1985 PR libgomp/92854
1986 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
1987 more.
1988
19892020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1990 Julian Brown <julian@codesourcery.com>
1991
1992 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
1993 'gomp_map_vars'.
1994 (acc_map_data): Clean up accordingly.
1995
19962020-06-04 Thomas Schwinge <thomas@codesourcery.com>
1997
1998 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
1999 of over-eager 'finalize' clause.
2000 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
2001 file.
2002 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2003 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2004 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2005 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2006 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2007 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
2008 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2009 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
2010
20112020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2012
2013 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
2014
20152020-06-04 Julian Brown <julian@codesourcery.com>
2016
2017 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
2018 error path.
2019 (goacc_detach_internal): Likewise.
2020
20212020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2022
2023 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
2024 the checkpoint.
2025 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2026 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2027 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2028 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2029 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2030
a9312a79
GA
20312020-06-02 Jakub Jelinek <jakub@redhat.com>
2032
2033 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
2034 defined.
2035
945b53cc
GA
20362020-05-30 Jakub Jelinek <jakub@redhat.com>
2037
2038 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
2039
20402020-05-30 Jakub Jelinek <jakub@redhat.com>
2041
2042 * allocator.c (omp_alloc): For size == 0, return NULL early.
2043
885ef72f
GA
20442020-05-29 H.J. Lu <hjl.tools@gmail.com>
2045
2046 PR bootstrap/95413
2047 * configure: Regenerated.
2048
8df7ee67
TK
20492020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
2050
2051 PR libfortran/95191
2052 * testsuite/libgomp.fortran/async_io_9.f90: New test.
2053
800bcc8c
JJ
20542020-05-19 Jakub Jelinek <jakub@redhat.com>
2055
2056 * omp.h.in (omp_uintptr_t): New typedef.
2057 (__GOMP_UINTPTR_T_ENUM): Define.
2058 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
2059 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
2060 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
2061 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
2062 omp_get_default_allocator, omp_alloc, omp_free): Declare.
2063 * libgomp.h (struct gomp_team_state): Add def_allocator field.
2064 (gomp_def_allocator): Declare.
2065 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
2066 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
2067 omp_alloc and omp_free.
2068 * team.c (gomp_team_start): Copy over ts.def_allocator.
2069 * env.c (gomp_def_allocator): New variable.
2070 (parse_wait_policy): Adjust function comment.
2071 (parse_allocator): New function.
2072 (handle_omp_display_env): Print OMP_ALLOCATOR.
2073 (initialize_env): Call parse_allocator.
2074 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
2075 * allocator.c: New file.
2076 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
2077 functions.
2078 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
2079 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
2080 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
2081 * Makefile.in: Regenerated.
2082
4c1a5d8b
L
20832020-05-15 H.J. Lu <hongjiu.lu@intel.com>
2084
2085 PR bootstrap/95147
2086 * configure: Regenerated.
2087
cdc34b50
TK
20882020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
2089
2090 PR libfortran/95119
2091 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
2092
20932020-05-14 H.J. Lu <hongjiu.lu@intel.com>
2094
2095 * configure: Regenerated.
2096
20972020-05-14 Jakub Jelinek <jakub@redhat.com>
2098
2099 * testsuite/libgomp.c-c++-common/target-40.c: New test.
2100
f884bef2
TB
21012020-05-13 Tobias Burnus <tobias@codesourcery.com>
2102
2103 PR fortran/94690
2104 * testsuite/libgomp.fortran/pr66199-3.f90: New.
2105 * testsuite/libgomp.fortran/pr66199-4.f90: New.
2106 * testsuite/libgomp.fortran/pr66199-5.f90: New.
2107 * testsuite/libgomp.fortran/pr66199-6.f90: New.
2108 * testsuite/libgomp.fortran/pr66199-7.f90: New.
2109 * testsuite/libgomp.fortran/pr66199-8.f90: New.
2110 * testsuite/libgomp.fortran/pr66199-9.f90: New.
2111
dc703151
JJ
21122020-05-12 Jakub Jelinek <jakub@redhat.com>
2113
2114 * testsuite/libgomp.c/target-39.c: New test.
2115
b9dc11b6
TS
21162020-04-29 Thomas Schwinge <thomas@codesourcery.com>
2117
a5d0bc12
TS
2118 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
2119 * openacc.f90 (acc_device_current): Likewise.
2120 * openacc.h (acc_device_current): Likewise.
2121 * openacc_lib.h (acc_device_current): Likewise.
2122
7f198924
TS
2123 PR target/94282
2124 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
2125 'dg-allow-blank-lines-in-output'.
2126
4912a04f
TS
2127 * oacc-init.c (get_openacc_name): Handle 'gcn'.
2128 * testsuite/lib/libgomp.exp
2129 (offload_target_to_openacc_device_type) [amdgcn*]: Return
2130 'radeon'. Adjust all users.
2131 (check_effective_target_openacc_amdgcn_accel_present): Rename
2132 to...
2133 (check_effective_target_openacc_radeon_accel_present): ... this.
2134 Adjust all users.
2135 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
2136 (check_effective_target_openacc_radeon_accel_selected): ... this.
2137 Adjust all users.
2138
b9dc11b6
TS
2139 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
2140 'dg-do run'.
2141
966de09b
AS
21422020-04-23 Andrew Stubbs <ams@codesourcery.com>
2143
2144 PR other/94629
2145
2146 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
2147 hsa_iterate_agents.
2148 (GOMP_OFFLOAD_init_device): Check return values from both calls to
2149 hsa_agent_iterate_regions.
2150
3f5d94c1
TS
21512020-04-20 Thomas Schwinge <thomas@codesourcery.com>
2152
2153 PR middle-end/94635
2154 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
2155 run'.
2156
85d8c05a
TB
21572020-04-20 Tobias Burnus <tobias@codesourcery.com>
2158
2159 PR middle-end/94120
2160 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
2161 test case.
2162
af557050
TB
21632020-04-17 Tobias Burnus <tobias@codesourcery.com>
2164
2165 PR middle-end/94635
2166 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
2167
af4c9257
TS
21682020-04-13 Thomas Schwinge <thomas@codesourcery.com>
2169
2170 PR libgomp/92843
2171 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
2172 Rename to...
2173 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
2174 ... this.
2175 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
2176 Rename to...
2177 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
2178 ... this.
2179 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
2180 Rename to...
2181 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
2182 ... this.
2183 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
2184 Rename to...
2185 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
2186 ... this.
2187 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
2188 Rename to...
2189 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
2190 ... this.
2191 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
2192 Rename to...
2193 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
2194 ... this.
2195 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
2196 Rename to...
2197 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
2198 ... this.
2199 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
2200 Rename to...
2201 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2202 ... this.
2203 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
2204 Rename to...
2205 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
2206 ... this.
2207 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
2208 Rename to...
2209 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
2210 ... this.
2211 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
2212 Rename to...
2213 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
2214 ... this.
2215 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
2216 Rename to...
2217 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
2218 ... this.
2219 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
2220 Rename to...
2221 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
2222 ... this.
2223 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
2224 Rename to...
2225 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
2226 ... this.
2227 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
2228 Rename to...
2229 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
2230 ... this.
2231 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
2232 Rename to...
2233 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
2234 ... this.
2235
be9862dd
JB
22362020-04-10 Julian Brown <julian@codesourcery.com>
2237 Thomas Schwinge <thomas@codesourcery.com>
2238
2239 PR libgomp/92843
2240 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
2241 New file.
2242 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
2243 Likewise.
2244 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
2245 Likewise.
2246 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
2247 Likewise.
2248 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
2249 Likewise.
2250 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
2251 Likewise.
2252 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
2253 Likewise.
2254 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
2255 Likewise.
2256 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
2257 Likewise.
2258 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
2259 Likewise.
2260 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
2261 Likewise.
2262 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
2263 Likewise.
2264 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
2265 Likewise.
2266 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
2267 Likewise.
2268 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
2269 Likewise.
2270 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
2271 Likewise.
2272
6b816a5f
TS
22732020-04-10 Thomas Schwinge <thomas@codesourcery.com>
2274
2275 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
2276 run'.
2277
13e41d8b
TB
22782020-04-08 Tobias Burnus <tobias@codesourcery.com>
2279
2280 PR middle-end/94120
2281 * libgomp.oacc-c++/declare-pr94120.C: New.
2282
749bd22d
MR
22832020-04-06 Maciej W. Rozycki <macro@wdc.com>
2284
2285 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
2286 files.
2287 * configure: Regenerate.
2288 * testsuite/libgomp-site-extra.exp.in: New file.
2289 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
2290 variable.
2291 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
2292 variable.
2293 * testsuite/Makefile.in: Regenerate.
2294
2b1e849b
TS
22952020-04-03 Thomas Schwinge <thomas@codesourcery.com>
2296
2297 PR tree-optimization/89713
2298 PR c/94392
2299 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
2300 'bar.sync'.
2301 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
2302
689418b9
TB
23032020-03-31 Tobias Burnus <tobias@codesourcery.com>
2304
2305 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
2306 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
2307
c2211a60
TB
23082020-03-24 Tobias Burnus <tobias@codesourcery.com>
2309
2310 PR libgomp/81689
2311 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
2312
4897bb00
TB
23132020-03-20 Tobias Burnus <tobias@codesourcery.com>
2314
2315 PR libgomp/94251
2316 * target.c (gomp_load_image_to_device): Fix link
2317 variable handling.
2318
02f7334a
JJ
23192020-03-19 Jakub Jelinek <jakub@redhat.com>
2320
2321 PR c++/93931
2322 * testsuite/libgomp.c++/pr93931.C: New test.
2323
bb83e069
TB
23242020-03-19 Tobias Burnus <tobias@codesourcery.com>
2325
2326 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
2327 dg-allow-blank-lines-in-output.
2328
26cbcfe5
TB
23292020-03-18 Julian Brown <julian@codesourcery.com>
2330 Tobias Burnus <tobias@codesourcery.com>
2331
2332 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
2333 it work concurrently.
2334
4da92887
TB
23352020-03-18 Tobias Burnus <tobias@codesourcery.com>
2336
2337 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
2338 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
2339 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
2340
9c3cdb43
JJ
23412020-03-14 Jakub Jelinek <jakub@redhat.com>
2342
2343 PR middle-end/93566
2344 * testsuite/libgomp.c/pr93566.c: New test.
2345
83d45e1d
FH
23462020-02-21 Frederik Harwath <frederik@codesourcery.com>
2347
2348 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
2349 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
2350 integer(acc_device_property) for the type of the return value of
2351 acc_get_property.
2352
8d1a1cb1
TB
23532020-02-19 Tobias Burnus <tobias@codesourcery.com>
2354
2355 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
2356 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
2357 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
2358 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
2359 (acc_set_device_num): Fix Fortran argument name, use same name for C.
2360 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
2361 corrections; add note about the previous interface and named constant.
2362 (OpenACC library and environment variables): Fix two typos.
2363 * openacc.f90: Use for all procedures the argument names from the spec
2364 as for …_h they are user visible.
2365 (openacc_kinds): Rename acc_device_property to
2366 acc_device_property_kinds and change value to int32 ; and update users.
2367 Re-add acc_device_property for for backward compatibility.
2368 (acc_get_property_string_h): Clean up as acc_device_property_kind
2369 changed.
2370 (acc_get_property_h): Likewise and return c_size_t instead of
2371 acc_device_property.
2372 (openacc): Also export acc_device_property_kinds.
2373 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
2374 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
2375 handling; check against /= 0 instead of == 1 to match C.
2376 * openacc_lib.h: Use for all procedures the argument names from the spec
2377 as for …_h they are user visible. Place !GCC$ into the first column to
2378 be active also for fixed-form souce form.
2379 (acc_device_current, acc_device_property_kind, acc_device_property,
2380 acc_property_memory, acc_property_free_memory, acc_property_name,
2381 acc_property_vendor, acc_property_driver): New named constants.
2382 (acc_get_property, acc_get_property_string): New generic interface.
2383
2d9eb4e4
FH
23842020-02-13 Frederik Harwath <frederik@codesourcery.com>
2385
2386 PR libgomp/93481
2387 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
2388 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
2389 optional.
2390 (gomp_target_task_fn): Assert "devicep->async_run_func".
2391 (clear_unsupported_flags): New function to remove unsupported flags
2392 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
2393 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
2394 * testsuite/libgomp.c/target-33.c:
2395 Remove xfail for offload_target_nvptx.
2396 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
2397
23982020-02-10 Frederik Harwath <frederik@codesourcery.com>
2399
2400 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
2401 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
2402 * testsuite/libgomp.c/target-34.c: Likewise.
2403 * testsuite/libgomp.c/target-link-1.c: Add xfail for
2404 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
2405
9bc3b95d
JJ
24062020-02-09 Jakub Jelinek <jakub@redhat.com>
2407
2408 * testsuite/libgomp.c/target-38.c: New test.
2409
cb3f0648
JJ
24102020-02-06 Jakub Jelinek <jakub@redhat.com>
2411
2412 PR libgomp/93515
2413 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
2414
91bc3c98
TB
24152020-02-05 Tobias Burnus <tobias@codesourcery.com>
2416
2417 * testsuite/lib/libgomp.exp
2418 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
2419 and not as 'source' argument to libgomp_target_compile.
2420
591f869a
AS
24212020-02-03 Andrew Stubbs <ams@codesourcery.com>
2422
2423 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
2424 (gcn_gfx801_s): Remove.
2425 (isa_hsa_name): Remove gfx801.
2426 (isa_gcc_name): Remove gfx801/carizzo.
2427 (isa_code): Remove gfx801.
2428
e464fc90
TB
24292020-02-03 Julian Brown <julian@codesourcery.com>
2430 Tobias Burnus <tobias@codesourcery.com>
2431
2432 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
2433 and *_finalize variants; document acc_attach and acc_detach; update
2434 references from OpenACC 2.0 to 2.6.
2435 * openacc.f90 (openacc_version): Update to 201711.
2436 * openacc_lib.h (openacc_version): Update to 201711.
2437 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
2438 openacc_version to 201711.
2439 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2440
5a28e272
KCY
24412020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
2442
2443 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
2444 and vgpr_count fields.
2445 (struct kernel_info): Add a field for a hsa_kernel_description.
2446 (run_kernel): Reduce the number of threads/workers if the requested
2447 number would require too many VGPRs.
2448 (init_basic_kernel_info): Initialize description field with
2449 the hsa_kernel_description entry for the kernel.
2450
5ab5d81b
TB
24512020-01-29 Tobias Burnus <tobias@codesourcery.com>
2452
2453 PR bootstrap/93409
2454 * plugin/configfrag.ac (enable_offload_targets): Skip
2455 HSA and GCN plugin besides -m32 also for -mx32.
2456 * configure: Regenerate.
2457
989a5fb3
FH
24582020-01-29 Frederik Harwath <frederik@codesourcery.com>
2459
2460 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
2461
24622020-01-29 Frederik Harwath <frederik@codesourcery.com>
2463
2464 * plugin-gcn.c (struct agent_info): Add fields "name" and
2465 "vendor_name" ...
2466 (GOMP_OFFLOAD_init_device): ... and init from here.
2467 (struct hsa_context_info): Add field "driver_version_s" ...
2468 (init_hsa_contest): ... and init from here.
2469 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
2470 implementation.
2471 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
2472 Enable test execution for amdgcn and host offloading targets.
2473 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
2474 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
2475 (expect_device_properties): Split function into ...
2476 (expect_device_string_properties): ... this new function ...
2477 (expect_device_memory): ... and this new function.
2478 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
2479 Add test.
2480
278c3214
JB
24812020-01-28 Julian Brown <julian@codesourcery.com>
2482
2483 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
2484 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
2485 component/non-component variable refs in a single directive.
2486 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
2487
e8e66971
MR
24882020-01-24 Maciej W. Rozycki <macro@wdc.com>
2489
2490 * configure.ac: Handle `--with-toolexeclibdir='.
2491 * Makefile.in: Regenerate.
2492 * aclocal.m4: Regenerate.
2493 * configure: Regenerate.
2494 * testsuite/Makefile.in: Regenerate.
2495
9e424d97
FH
24962020-01-24 Frederik Harwath <frederik@codesourcery.com>
2497
2498 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
2499 (expect_device_properties): Remove "expected_free_mem" argument,
2500 change "expected_total_mem" argument type to size_t;
2501 change types of acc_get_property results to size_t,
2502 adapt format strings.
2503 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
2504 Use %zu instead of %zd to print size_t values.
2505 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
2506 rename to ...
2507 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
2508 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
2509 rename to ...
2510 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
2511
14e5e746
AS
25122020-01-23 Andrew Stubbs <ams@codesourcery.com>
2513
2514 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
2515 the device id.
2516
09e0ad62
AS
25172020-01-20 Andrew Stubbs <ams@codesourcery.com>
2518
2519 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
2520 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
2521 Adjust test dimensions for amdgcn.
2522 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
2523 gang/worker/vector expectations dynamically.
2524 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
2525 (main): Likewise.
2526 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
2527 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
2528 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
2529 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
2530 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
2531 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
2532 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
2533 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
2534 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2535 (acc_gang): Recognise acc_device_radeon.
2536 (acc_worker): Likewise.
2537 (acc_vector): Likewise.
2538 (main): Set expectations for amdgcn.
2539 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
2540 (main): Adjust gang/worker/vector expectations dynamically.
2541 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
2542 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
2543 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
2544 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
2545 for amdgcn.
2546
6687d13a
AS
25472020-01-17 Andrew Stubbs <ams@codesourcery.com>
2548
2549 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
2550 acc_device_radeon.
2551 (openacc): Likewise.
2552 * openacc.f90 (openacc_kinds): Likewise.
2553 (openacc): Likewise.
2554 * openacc.h (acc_device_t): Likewise.
2555 * openacc_lib.h: Likewise.
2556 * testsuite/lib/libgomp.exp
2557 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
2558 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
2559 (cb_compute_construct_end): Likewise.
2560 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
2561 (cb_enqueue_launch_start): Likewise.
2562 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
2563 (cb_enter_data_end): Likewise.
2564 (cb_exit_data_start): Likewise.
2565 (cb_exit_data_end): Likewise.
2566 (cb_compute_construct_end): Likewise.
2567 (cb_enqueue_launch_start): Likewise.
2568 (cb_enqueue_launch_end): Likewise.
2569 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
2570 (main): Likewise.
2571
b3b75e66
TS
25722020-01-10 Thomas Schwinge <thomas@codesourcery.com>
2573
6fc0385c
TS
2574 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
2575 to use this instead of 'enum gomp_device_property'.
2576 (GOMP_OFFLOAD_get_property): Rename to...
2577 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
2578 * libgomp.h (struct gomp_device_descr): Move
2579 'GOMP_OFFLOAD_openacc_get_property'...
2580 (struct acc_dispatch_t): ... here. Adjust all users.
2581 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
2582
b3b75e66
TS
2583 * target.c (gomp_map_vars_internal)
2584 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
2585 paths.
2586
91df4397
JJ
25872020-01-10 Jakub Jelinek <jakub@redhat.com>
2588
2589 PR libgomp/93219
2590 * libgomp.h (gomp_print_string): Change return type from void to int.
2591 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
2592 not all characters have been written.
2593
df2c0d36
TB
25942020-01-08 Tobias Burnus <tobias@codesourcery.com>
2595
2596 * libgomp.texi: Fix typos, use https.
2597
f760c0c7
TB
25982020-01-03 Tobias Burnus <tobias@codesourcery.com>
2599
2600 * testsuite/libgomp.fortran/optional-map.f90: Add test for
2601 unallocated/disassociated actual arguments to nonallocatable/nonpointer
2602 dummy arguments; those are/shall be regarded as absent arguments.
2603 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
2604 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
2605
7e7065b9
JJ
26062020-01-01 Jakub Jelinek <jakub@redhat.com>
2607
8d9254fc
JJ
2608 Update copyright years.
2609
7e7065b9
JJ
2610 * libgomp.texi: Bump @copying's copyright year.
2611
2c829799
AM
26122019-12-31 Ayush Mittal <ayush.m@samsung.com>
2613
2614 PR libgomp/93065
2615 * oacc-init.c (goacc_runtime_deinitialize): New function.
2616
e9dcb75e
JJ
26172019-12-28 Jakub Jelinek <jakub@redhat.com>
2618
2619 PR bootstrap/93074
2620 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
2621 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
2622
6c84c8bf
MR
26232019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
2624 Frederik Harwath <frederik@codesourcery.com>
2625 Thomas Schwinge <tschwinge@codesourcery.com>
2626
2627 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
2628 * libgomp-plugin.h (gomp_device_property_value): New union.
2629 (gomp_device_property_value): New prototype.
2630 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
2631 constant.
2632 (acc_device_property_t): New enum.
2633 (acc_get_property, acc_get_property_string): New prototypes.
2634 * oacc-init.c (acc_get_device_type): Also assert that result
2635 is not `acc_device_current'.
2636 (get_property_any, acc_get_property, acc_get_property_string):
2637 New functions.
2638 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
2639 `acc_property_memory', `acc_property_free_memory',
2640 `acc_property_name', `acc_property_vendor' and
2641 `acc_property_driver' constants. Add `acc_device_property' data
2642 type.
2643 (openacc_internal): Add `acc_get_property' and
2644 `acc_get_property_string' interfaces. Add `acc_get_property_h',
2645 `acc_get_property_string_h', `acc_get_property_l' and
2646 `acc_get_property_string_l'.
2647 * oacc-host.c (host_get_property): New function.
2648 (host_dispatch): Wire it.
2649 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
2650 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
2651 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
2652 * libgomp.texi (OpenACC Runtime Library Routines): Add
2653 `acc_get_property'.
2654 (acc_get_property): New node.
2655 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
2656 function (stub).
2657 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
2658 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
2659 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
2660 calls.
2661 (GOMP_OFFLOAD_get_property): New function.
2662 (struct ptx_device): Add new field "name".
2663 (cuda_driver_version_s): Add new static variable ...
2664 (nvptx_init): ... and init from here.
2665
2666 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
2667 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
2668 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
2669 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
2670 with test helper functions.
2671
2672 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
2673
c8e759b4
MR
26742019-12-22 Maciej W. Rozycki <macro@wdc.com>
2675
2676 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
2677 variable.
2678
b092fb3b
TS
26792019-12-21 Thomas Schwinge <thomas@codesourcery.com>
2680
2681 * target.c (gomp_map_vars_internal): Restore 'omp declare target
2682 link' handling.
2683
9be3ac5d
JB
26842019-12-19 Julian Brown <julian@codesourcery.com>
2685
2686 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
2687 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
2688 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
2689
02817027
JB
26902019-12-19 Julian Brown <julian@codesourcery.com>
2691 Cesar Philippidis <cesar@codesourcery.com>
2692
2693 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
2694 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
2695 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
2696 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
2697 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
2698 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
2699 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
2700 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
2701 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
2702 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
2703 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
2704 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
2705 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
2706
c2eb021f
JB
27072019-12-19 Julian Brown <julian@codesourcery.com>
2708
2709 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
2710 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
2711 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
2712 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
2713 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
2714 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
2715 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
2716 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
2717 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
2718 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
2719 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
2720 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
2721
8e7e71ff
JB
27222019-12-19 Julian Brown <julian@codesourcery.com>
2723
2724 * libgomp.h (struct target_var_desc): Add do_detach flag.
2725 * oacc-init.c (acc_shutdown_1): Free aux block if present.
2726 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
2727 struct components. Tidy up and add some new checks.
2728 (goacc_enter_data_internal): Update call to find_group_last.
2729 (goacc_exit_data_internal): Support detach operations and
2730 GOMP_MAP_STRUCT.
2731 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
2732 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
2733 attach/detach in enter/exit data detection code.
2734 * target.c (gomp_map_vars_existing): Initialise do_detach field of
2735 tgt_var_desc.
2736 (gomp_map_vars_internal): Support attach.
2737 (gomp_unmap_vars_internal): Support detach.
2738
5d5be7bf
JB
27392019-12-19 Julian Brown <julian@codesourcery.com>
2740 Thomas Schwinge <thomas@codesourcery.com>
2741
2742 * libgomp.h (struct splay_tree_aux): Add attach_count field.
2743 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
2744 * libgomp.map (OACC_2.6): New section. Add acc_attach,
2745 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
2746 acc_detach_finalize_async.
2747 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
2748 acc_detach, acc_detach_async, acc_detach_finalize,
2749 acc_detach_finalize_async): New functions.
2750 * openacc.h (acc_attach, acc_attach_async, acc_detach,
2751 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
2752 prototypes.
2753 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
2754 (gomp_remove_var_internal): Free attachment counts if present.
2755 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
2756 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
2757
5bcd470b
JB
27582019-12-19 Julian Brown <julian@codesourcery.com>
2759 Cesar Philippidis <cesar@codesourcery.com>
2760
2761 * libgomp.h (gomp_map_val): Add prototype.
2762 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
2763 open-coding device-address calculation.
2764 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
2765 non-present case.
2766
378da98f
JB
27672019-12-19 Julian Brown <julian@codesourcery.com>
2768
2769 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
2770 field for virtual_refcount.
2771 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2772 (gomp_free_memmap): Remove prototype.
2773 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
2774 instead of calling gomp_free_memmap.
2775 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
2776 dynamic_refcount.
2777 (acc_unmap_data): Open code instead of forcing target_mem_desc's
2778 to_free field to NULL then calling gomp_unmap_vars. Handle
2779 REFCOUNT_INFINITY on target blocks.
2780 (goacc_enter_data): Rename to...
2781 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
2782 handling for mapping groups. Use virtual_refcount instead of
2783 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
2784 map_map_vars_async call. Re-do lookup for target pointer return value.
2785 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
2786 renamed goacc_enter_datum function.
2787 (goacc_exit_data): Rename to...
2788 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
2789 (acc_delete, acc_delete_async, acc_delete_finalize,
2790 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
2791 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
2792 goacc_exit_datum function.
2793 (gomp_acc_remove_pointer, find_pointer): Remove functions.
2794 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
2795 New functions.
2796 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
2797 goacc_exit_data_internal helper functions.
2798 * target.c (gomp_map_vars_internal): Handle
2799 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
2800 semantics.
2801 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
2802 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
2803 virtual_refcount field instead of dynamic_refcount.
2804 (gomp_free_memmap): Remove function.
2805 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
2806 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
2807 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
2808
2a656a93
JB
28092019-12-19 Julian Brown <julian@codesourcery.com>
2810 Thomas Schwinge <thomas@codesourcery.com>
2811
2812 * libgomp.h (struct splay_tree_aux): New.
2813 (struct splay_tree_key_s): Replace link_key field with aux pointer.
2814 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
2815 to aux struct.
2816 (gomp_remove_var_internal): Free aux block if present.
2817 (gomp_load_image_to_device): Zero-initialise aux field instead of
2818 link_key field.
2819 (omp_target_associate_pointer): Zero-initialise aux field.
2820
601399c0
JJ
28212019-12-18 Jakub Jelinek <jakub@redhat.com>
2822
2823 PR middle-end/86416
2824 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
2825 q or none.
2826 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
2827 L or none.
2828
a6163563
JB
28292019-12-19 Julian Brown <julian@codesourcery.com>
2830 Maciej W. Rozycki <macro@codesourcery.com>
2831 Tobias Burnus <tobias@codesourcery.com>
2832 Thomas Schwinge <thomas@codesourcery.com>
2833
2834 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
2835 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
2836 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
2837 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
2838 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
2839 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
2840 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
2841 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
2842 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
2843
6278b549
TS
28442019-12-18 Thomas Schwinge <thomas@codesourcery.com>
2845
77ce5555
TS
2846 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
2847 called...
2848 (goacc_insert_pointer): ... from here, "present" case.
2849 (goacc_insert_pointer): Inline function into...
2850 (GOACC_enter_exit_data): ... here, and simplify.
2851
9444a299
TS
2852 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
2853 called...
2854 (goacc_insert_pointer): ... from here, "not present" case.
2855
5031b619
TS
2856 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
2857 all users.
2858
1a79b578
TS
2859 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
2860 'goacc_enter_data', 'goacc_exit_data'.
2861
34cfe31e
TS
2862 * oacc-mem.c (delete_copyout): Refactor into...
2863 (goacc_exit_data): ... this. Adjust all users.
2864
aaf0e9d7
TS
2865 * oacc-mem.c (present_create_copy): Refactor into...
2866 (goacc_enter_data): ... this. Adjust all users.
2867
83d1d065
TS
2868 * target.c (gomp_unmap_vars_internal): Add a safeguard to
2869 'gomp_remove_var'.
2870
cc3f11f5
TS
2871 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
2872 like 'GOMP_MAP_FROM'.
2873
ddb25eb9
TS
2874 PR libgomp/92726
2875 PR libgomp/92970
2876 PR libgomp/92984
2877 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
2878 fails.
2879 (GOACC_enter_exit_data): Simplify accordingly.
2880 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
2881 subsuming...
2882 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
2883 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
2884 file.
2885 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
2886 subsuming...
2887 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
2888 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
2889 file.
2890 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
2891 subsuming...
2892 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
2893
32128577
TS
2894 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
2895 'finalize' handling.
2896
ba40277f
TS
2897 PR libgomp/92848
2898 * oacc-mem.c (acc_map_data, present_create_copy)
2899 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
2900 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
2901 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
2902 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
2903 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
2904 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
2905 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
2906 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
2907 Remove "XFAIL"s.
2908
6278b549
TS
2909 * target.c (gomp_unmap_tgt): Make it 'static'.
2910 * libgomp.h (gomp_unmap_tgt): Remove.
2911
c80c9e26
TB
29122019-12-18 Tobias Burnus <tobias@codesourcery.com>
2913
2914 PR middle-end/86416
2915 * testsuite/libgomp.c/pr86416-1.c: New.
2916 * testsuite/libgomp.c/pr86416-2.c: New.
2917
0b8499a4
TB
29182019-12-17 Tobias Burnus <tobias@codesourcery.com>
2919
2920 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
2921 all symbols as public except for the 'use …, only' imported symbol,
2922 which is private.
2923 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
2924 all symbols from module openacc_kinds as PUBLIC
2925 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
2926 fix comment typo.
2927 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
2928
1cbd94e8
JB
29292019-12-13 Julian Brown <julian@codesourcery.com>
2930
2931 PR libgomp/92881
2932
2933 * libgomp.h (gomp_remove_var_async): Add prototype.
2934 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
2935 gomp_remove_var.
2936 * target.c (gomp_unref_tgt): Change return type to bool, indicating
2937 whether target_mem_desc was unmapped.
2938 (gomp_unref_tgt_void): New.
2939 (gomp_remove_var): Reimplement in terms of...
2940 (gomp_remove_var_internal): ...this new helper function.
2941 (gomp_remove_var_async): New, implemented using above helper function.
2942 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
2943 gomp_unref_tgt.
2944
26b74ed0
AS
29452019-12-13 Andrew Stubbs <ams@codesourcery.com>
2946
2947 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
2948 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
2949 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
2950 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
2951 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
2952 Likewise.
2953 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
2954 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
2955
7858bb96
TB
29562019-12-13 Tobias Burnus <tobias@codesourcery.com>
2957
2958 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
2959 as public except for the 'use …, only' imported symbol, which is
2960 private.
2961 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
2962 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
2963 attributes for acc_copyout_finalize and acc_delete_finalize.
2964
f8ac7d8f
JJ
29652019-12-11 Jakub Jelinek <jakub@redhat.com>
2966
2967 PR fortran/92899
2968 * testsuite/libgomp.fortran/atomic1.f90: New test.
2969
3d1b5e71
TS
29702019-12-11 Thomas Schwinge <thomas@codesourcery.com>
2971
d6e8c01c
TS
2972 PR libgomp/92843
2973 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
2974 reference counting for structured 'REFCOUNT_INFINITY'. Add some
2975 assertions.
2976 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
2977 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
2978 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
2979 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2980 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
2981
57963e39
TS
2982 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
2983 * oacc-mem.c: ... here.
2984 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
2985 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
2986 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
2987 Remove.
2988 * libgomp_g.h: Update.
2989
c5578b56
TS
2990 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
2991 * oacc-async.c: ... here.
2992 * oacc-int.h (goacc_wait): Declare.
2993 * libgomp_g.h: Update
2994
3d1b5e71
TS
2995 PR libgomp/92854
2996 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
2997 New file.
2998 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
2999 Likewise.
3000 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
3001 Likewise.
3002 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
3003 Likewise.
3004 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
3005 Likewise.
3006 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
3007 Likewise.
3008
5e939438
TS
30092019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3010 Julian Brown <julian@codesourcery.com>
3011
3012 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
3013 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
3014
93d90219
TB
30152019-12-11 Tobias Burnus <tobias@codesourcery.com>
3016
3017 * omp_lib.h.in: Fix spelling of function declaration
3018 omp_get_cancell(l)ation.
3019 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
3020 Fix typos.
3021 * env.c: Fix comment typos.
3022 * oacc-host.c: Likewise.
3023 * ordered.c: Likewise.
3024 * task.c: Likewise.
3025 * team.c: Likewise.
3026 * config/gcn/task.c: Likewise.
3027 * config/gcn/team.c: Likewise.
3028 * config/nvptx/task.c: Likewise.
3029 * config/nvptx/team.c: Likewise.
3030 * plugin/plugin-gcn.c: Likewise.
3031 * testsuite/libgomp.fortran/jacobi.f: Likewise.
3032 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3033 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
3034
a0221aee
TB
30352019-12-11 Tobias Burnus <tobias@codesourcery.com>
3036
3037 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
3038 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
3039 unnecessary 'dg-additional-options "-w"'.
3040
47afc7b4
TS
30412019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3042 Julian Brown <julian@codesourcery.com>
3043
3044 PR libgomp/92116
3045 PR libgomp/92877
3046
3047 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
3048 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
3049 Adjust all users.
3050 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3051 Remove XFAIL.
3052 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3053 Likewise.
3054 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
3055
b5859e40
TS
30562019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3057
cec41816
TS
3058 PR libgomp/92503
3059 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
3060 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
3061 file.
3062 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
3063 Likewise.
3064 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
3065 Likewise.
3066 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
3067 Likewise.
3068 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3069 Likewise.
3070 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3071 Likewise.
3072 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
3073 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
3074 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
3075 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
3076 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
3077 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
3078 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3079 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3080 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
3081 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3082
e103542b
TS
3083 PR libgomp/92840
3084 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
3085 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
3086 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
3087 New file.
3088 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
3089 Likewise.
3090 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
3091 Likewise.
3092 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
3093 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
3094
41f36f22
TS
3095 PR libgomp/92511
3096 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
3097 this file...
3098 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
3099 this file...
3100 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
3101 file...
3102 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
3103 file...
3104 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3105 ... with their content moved into, and extended in this new file.
3106 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
3107 New file.
3108 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
3109 Likewise.
3110 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
3111 Likewise.
3112 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
3113 Likewise.
3114
6effebe1
TS
3115 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
3116
7d020473
TS
3117 PR libgomp/92854
3118 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
3119
1e1fb715
TS
3120 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
3121
b5859e40
TS
3122 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
3123
11586ed9
TB
31242019-12-09 Tobias Burnus <tobias@codesourcery.com>
3125
3126 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
3127 unique.
3128 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
3129 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3130 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
3131 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
3132 Ditto.
3133 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
3134 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
3135
3ad4a03a
KCY
31362019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
3137
3138 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
3139
6e4d01d6
TB
31402019-12-06 Tobias Burnus <tobias@codesourcery.com>
3141 Kwok Cheung Yeung <kcy@codesourcery.com>
3142
3143 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
3144 if input it a NULL pointer.
3145 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
3146 diagnostic of NULL pointer.
3147 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
3148 * testsuite/libgomp.fortran/optional-map.f90: New.
3149 * testsuite/libgomp.fortran/use_device_addr-1.f90
3150 (test_dummy_opt_callee_1_absent): New.
3151 (test_dummy_opt_call_1): Call it.
3152 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
3153 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
3154 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
3155 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
3156 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
3157 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
3158 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
3159 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
3160 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
3161 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
3162 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
3163 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
3164 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
3165 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
3166 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
3167 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
3168
ad80ec46
TB
31692019-12-05 Tobias Burnus <tobias@codesourcery.com>
3170
3171 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
3172 expect dg-output of 'Error termination.' for GCN.
3173 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3174 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3175
a8a5f4cc
JJ
31762019-12-04 Jakub Jelinek <jakub@redhat.com>
3177
3178 PR fortran/92756
3179 * testsuite/libgomp.fortran/teams1.f90: New test.
3180 * testsuite/libgomp.fortran/teams2.f90: New test.
3181
d8f0024b
FH
31822019-12-03 Frederik Harwath <frederik@codesourcery.com>
3183
3184 * oacc-init.c (acc_known_device_type): Add function.
3185 (unknown_device_type_error): Add function.
3186 (name_of_acc_device_t): Change to call unknown_device_type_error
3187 on unknown type.
3188 (resolve_device): Use acc_known_device_type.
3189 (acc_init): Fail if acc_device_t argument is not valid.
3190 (acc_shutdown): Likewise.
3191 (acc_get_num_devices): Likewise.
3192 (acc_set_device_type): Likewise.
3193 (acc_get_device_num): Likewise.
3194 (acc_set_device_num): Likewise.
3195 (acc_on_device): Add comment that argument validity is not checked.
3196
83caa34e
AS
31972019-12-03 Andrew Stubbs <ams@codesourcery.com>
3198
3199 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
3200 Recognize amdgcn.
3201 (check_effective_target_openacc_amdgcn_accel_present): New proc.
3202 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
3203 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
3204 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3205 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3206
00484365
SN
32072019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
3208
3209 PR libgomp/91938
3210 * configure.tgt: Avoid IE tls on *-*-musl*.
3211
9909a059
TB
32122019-11-29 Tobias Burnus <tobias@codesourcery.com>
3213
3214 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
3215 adding a common-block test case.
3216
b3f44388
JJ
32172019-11-29 Jakub Jelinek <jakub@redhat.com>
3218
3219 PR c++/60228
3220 * testsuite/libgomp.c++/udr-20.C: New test.
3221 * testsuite/libgomp.c++/udr-21.C: New test.
3222
b1a73b48
TS
32232019-11-27 Thomas Schwinge <thomas@codesourcery.com>
3224
3225 * testsuite/lib/libgomp.exp
3226 (check_effective_target_offload_target_nvptx): New proc.
3227 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
3228 'dg-skip-if'.
3229 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
3230 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
3231 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
3232
b8e72446
RO
32332019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3234
3235 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
3236 * testsuite/libgomp.c/pr39591-2.c: Likewise.
3237 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3238 * testsuite/libgomp.c/private-1.c: Likewise.
3239 * testsuite/libgomp.c/task-1.c: Likewise.
3240 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
3241
d88b27da
JB
32422019-11-20 Julian Brown <julian@codesourcery.com>
3243
3244 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
3245 aq->mutex here.
3246 (queue_push_launch): Lock aq->mutex before calling
3247 wait_for_queue_nonfull.
3248 (queue_push_callback): Likewise.
3249 (queue_push_asyncwait): Likewise.
3250 (queue_push_placeholder): Likewise.
3251
8d2f4ddf
JB
32522019-11-20 Julian Brown <julian@codesourcery.com>
3253
3254 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
3255 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
3256 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
3257 return code.
3258
e307b05f
JB
32592019-11-20 Julian Brown <julian@codesourcery.com>
3260
3261 PR libgomp/92511
3262
3263 * oacc-mem.c (present_create_copy): Fix device pointer return value in
3264 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
3265 in non-present/create case.
3266 (delete_copyout): Change error condition to fail only on copies outside
3267 of mapped block. Adjust error message accordingly.
3268 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
3269 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
3270 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
3271 message.
3272 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3273 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
3274 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3275
83115e9e
MR
32762019-11-20 Maciej W. Rozycki <macro@wdc.com>
3277
3278 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
3279 libatomic in build-tree testing.
3280
a1289887
MR
32812019-11-18 Maciej W. Rozycki <macro@wdc.com>
3282
3283 * testsuite/Makefile.in: Regenerate.
3284
8916ba87
AS
32852019-11-15 Andrew Stubbs <ams@codesourcery.com>
3286
3287 * testsuite/libgomp.c/target-print-1.c: New file.
3288 * testsuite/libgomp.fortran/target-print-1.f90: New file.
3289 * testsuite/libgomp.oacc-c/print-1.c: New file.
3290 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
3291
237957cc
AS
32922019-11-13 Andrew Stubbs <ams@codesourcery.com>
3293 Kwok Cheung Yeung <kcy@codesourcery.com>
3294 Julian Brown <julian@codesourcery.com>
3295 Tom de Vries <tom@codesourcery.com>
3296
3297 * plugin/Makefrag.am: Add amdgcn plugin support.
3298 * plugin/configfrag.ac: Likewise.
3299 * plugin/plugin-gcn.c: New file.
3300 * configure: Regenerate.
3301 * Makefile.in: Regenerate.
3302 * testsuite/Makefile.in: Regenerate.
3303
cee16451
AS
33042019-11-13 Andrew Stubbs <ams@codesourcery.com>
3305
3306 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
3307 and use team_malloc variants.
3308 (gomp_gcn_exit_kernel): Use team_free.
3309 * libgomp.h (TEAM_ARENA_SIZE): Define.
3310 (TEAM_ARENA_START): Define.
3311 (TEAM_ARENA_FREE): Define.
3312 (TEAM_ARENA_END): Define.
3313 (team_malloc): New function.
3314 (team_malloc_cleared): New function.
3315 (team_free): New function.
3316 * team.c (gomp_new_team): Initialize and use team_malloc.
3317 (free_team): Use team_free.
3318 (gomp_free_thread): Use team_free.
3319 (gomp_pause_host): Use team_free.
3320 * work.c (gomp_init_work_share): Use team_malloc.
3321 (gomp_fini_work_share): Use team_free.
3322
fa499995
AS
33232019-11-13 Andrew Stubbs <ams@codesourcery.com>
3324 Kwok Cheung Yeung <kcy@codesourcery.com>
3325 Julian Brown <julian@codesourcery.com>
3326 Tom de Vries <tom@codesourcery.com>
3327
3328 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
3329 * Makefile.in: Regenerate.
3330 * config.h.in (PLUGIN_GCN): Add new undef.
3331 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
3332 * config/gcn/affinity-fmt.c: New file.
3333 * config/gcn/bar.c: New file.
3334 * config/gcn/bar.h: New file.
3335 * config/gcn/doacross.h: New file.
3336 * config/gcn/icv-device.c: New file.
3337 * config/gcn/oacc-target.c: New file.
3338 * config/gcn/simple-bar.h: New file.
3339 * config/gcn/target.c: New file.
3340 * config/gcn/task.c: New file.
3341 * config/gcn/team.c: New file.
3342 * config/gcn/time.c: New file.
3343 * configure.ac: Add amdgcn*-*-*.
3344 * configure: Regenerate.
3345 * configure.tgt: Add amdgcn*-*-*.
3346 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
3347 * libgomp.h (gcn_thrs): Add amdgcn variant.
3348 (set_gcn_thrs): Likewise.
3349 (gomp_thread): Likewise.
3350 * oacc-int.h (goacc_thread): Likewise.
3351 * oacc-target.c: New file.
3352 * openacc.f90 (acc_device_gcn): New parameter.
3353 * openacc.h (acc_device_t): Add acc_device_gcn.
3354 * team.c (gomp_free_pool_helper): Add amdgcn support.
3355
d2903ce0
AS
33562019-11-13 Andrew Stubbs <ams@codesourcery.com>
3357 Julian Brown <julian@codesourcery.com>
3358
3359 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
3360 parameter.
3361 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
3362 queue constructor.
3363 * oacc-host.c (host_openacc_async_construct): Add device parameter.
3364 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
3365 device parameter.
3366
b3d14b3a
AS
33672019-11-13 Andrew Stubbs <ams@codesourcery.com>
3368
3369 * configure.tgt (nvptx*-*-*): Add "accel" directory.
3370 * config/nvptx/libgomp-plugin.c: Move ...
3371 * config/accel/libgomp-plugin.c: ... to here.
3372 * config/nvptx/lock.c: Move ...
3373 * config/accel/lock.c: ... to here.
3374 * config/nvptx/mutex.c: Move ...
3375 * config/accel/mutex.c: ... to here.
3376 * config/nvptx/mutex.h: Move ...
3377 * config/accel/mutex.h: ... to here.
3378 * config/nvptx/oacc-async.c: Move ...
3379 * config/accel/oacc-async.c: ... to here.
3380 * config/nvptx/oacc-cuda.c: Move ...
3381 * config/accel/oacc-cuda.c: ... to here.
3382 * config/nvptx/oacc-host.c: Move ...
3383 * config/accel/oacc-host.c: ... to here.
3384 * config/nvptx/oacc-init.c: Move ...
3385 * config/accel/oacc-init.c: ... to here.
3386 * config/nvptx/oacc-mem.c: Move ...
3387 * config/accel/oacc-mem.c: ... to here.
3388 * config/nvptx/oacc-plugin.c: Move ...
3389 * config/accel/oacc-plugin.c: ... to here.
3390 * config/nvptx/omp-lock.h: Move ...
3391 * config/accel/omp-lock.h: ... to here.
3392 * config/nvptx/openacc.f90: Move ...
3393 * config/accel/openacc.f90: ... to here.
3394 * config/nvptx/pool.h: Move ...
3395 * config/accel/pool.h: ... to here.
3396 * config/nvptx/proc.c: Move ...
3397 * config/accel/proc.c: ... to here.
3398 * config/nvptx/ptrlock.c: Move ...
3399 * config/accel/ptrlock.c: ... to here.
3400 * config/nvptx/ptrlock.h: Move ...
3401 * config/accel/ptrlock.h: ... to here.
3402 * config/nvptx/sem.c: Move ...
3403 * config/accel/sem.c: ... to here.
3404 * config/nvptx/sem.h: Move ...
3405 * config/accel/sem.h: ... to here.
3406 * config/nvptx/thread-stacksize.h: Move ...
3407 * config/accel/thread-stacksize.h: ... to here.
3408
62aee289
MR
34092019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
3410 Tobias Burnus <tobias@codesourcery.com>
3411 Frederik Harwath <frederik@codesourcery.com>
3412 Thomas Schwinge <thomas@codesourcery.com>
3413
3414 libgomp/
3415 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
3416 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
3417 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
3418
a2c26c50
TB
34192019-11-11 Tobias Burnus <tobias@codesourcery.com>
3420 Kwok Cheung Yeung <kcy@codesourcery.com>
3421
3422 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
3423 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
3424
6d4868f3
TS
34252019-11-11 Thomas Schwinge <thomas@codesourcery.com>
3426
bfa1837b
TS
3427 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
3428
6d4868f3
TS
3429 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
3430 run'.
3431 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
3432 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
3433
5d183d17
FH
34342019-11-06 Thomas Schwinge <thomas@codesourcery.com>
3435
3436 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
3437 Add expected warnings about missing reduction clauses.
3438 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3439 Likewise.
3440 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
3441 Likewise.
3442 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
3443 Likewise.
3444
d8f03b03
TB
34452019-11-04 Tobias Burnus <tobias@codesourcery.com>
3446
3447 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
3448 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
3449 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
3450 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
3451 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
3452 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
3453
12fd2ec5
TB
34542019-11-04 Tobias Burnus <tobias@codesourcery.com>
3455
3456 PR fortran/92305
3457 * testsuite/libgomp.fortran/allocatable2.f90: Use
3458 unique numbers with 'stop'.
3459 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
3460 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
3461 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
3462 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
3463 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
3464
92e63bd2
TB
34652019-11-01 Tobias Burnus <tobias@codesourcery.com>
3466
3467 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
3468 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
3469 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
3470 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
3471 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
3472 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
3473
91ae0a46
TB
34742019-10-30 Tobias Burnus <tobias@codesourcery.com>
3475
3476 * testsuite/libgomp.fortran/target9.f90: New.
3477
c425e66b
TB
34782019-10-30 Tobias Burnus <tobias@codesourcery.com>
3479
3480 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
3481 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
3482 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
3483 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
3484 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
3485 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
3486 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
3487 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
3488 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
3489 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
3490 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
3491 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
3492 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
3493 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
3494 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
3495 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
3496 * testsuite/libgomp.fortran/associate1.f90: Ditto.
3497 * testsuite/libgomp.fortran/associate2.f90: Ditto.
3498 * testsuite/libgomp.fortran/associate3.f90: Ditto.
3499 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
3500 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
3501 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
3502 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
3503 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
3504 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
3505 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
3506 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
3507 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
3508 * testsuite/libgomp.fortran/character1.f90: Ditto.
3509 * testsuite/libgomp.fortran/character2.f90: Ditto.
3510 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
3511 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
3512 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
3513 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
3514 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
3515 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
3516 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
3517 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
3518 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
3519 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
3520 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
3521 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
3522 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
3523 * testsuite/libgomp.fortran/do1.f90: Ditto.
3524 * testsuite/libgomp.fortran/do2.f90: Ditto.
3525 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
3526 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
3527 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
3528 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
3529 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
3530 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
3531 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
3532 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
3533 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
3534 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
3535 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
3536 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
3537 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
3538 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
3539 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
3540 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
3541 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
3542 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
3543 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
3544 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
3545 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
3546 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
3547 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
3548 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
3549 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
3550 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
3551 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
3552 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
3553 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
3554 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
3555 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
3556 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
3557 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
3558 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
3559 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
3560 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
3561 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
3562 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
3563 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
3564 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
3565 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
3566 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
3567 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
3568 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
3569 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
3570 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
3571 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
3572 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
3573 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
3574 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
3575 * testsuite/libgomp.fortran/lib1.f90: Ditto.
3576 * testsuite/libgomp.fortran/lib4.f90: Ditto.
3577 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
3578 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
3579 * testsuite/libgomp.fortran/nested1.f90: Ditto.
3580 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
3581 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
3582 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
3583 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
3584 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
3585 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
3586 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3587 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
3588 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
3589 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
3590 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
3591 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
3592 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
3593 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
3594 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3595 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
3596 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3597 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
3598 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
3599 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
3600 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
3601 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
3602 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
3603 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
3604 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
3605 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
3606 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
3607 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
3608 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
3609 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
3610 * testsuite/libgomp.fortran/pr28390.f: Ditto.
3611 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
3612 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
3613 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
3614 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
3615 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
3616 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
3617 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
3618 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
3619 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
3620 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
3621 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
3622 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
3623 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
3624 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
3625 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
3626 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
3627 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
3628 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
3629 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
3630 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
3631 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
3632 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
3633 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
3634 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
3635 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
3636 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
3637 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
3638 * testsuite/libgomp.fortran/reference1.f90: Ditto.
3639 * testsuite/libgomp.fortran/reference2.f90: Ditto.
3640 * testsuite/libgomp.fortran/retval1.f90: Ditto.
3641 * testsuite/libgomp.fortran/retval2.f90: Ditto.
3642 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
3643 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
3644 * testsuite/libgomp.fortran/simd1.f90: Ditto.
3645 * testsuite/libgomp.fortran/simd2.f90: Ditto.
3646 * testsuite/libgomp.fortran/simd3.f90: Ditto.
3647 * testsuite/libgomp.fortran/simd4.f90: Ditto.
3648 * testsuite/libgomp.fortran/simd5.f90: Ditto.
3649 * testsuite/libgomp.fortran/simd6.f90: Ditto.
3650 * testsuite/libgomp.fortran/simd7.f90: Ditto.
3651 * testsuite/libgomp.fortran/stack.f90: Ditto.
3652 * testsuite/libgomp.fortran/strassen.f90: Ditto.
3653 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
3654 * testsuite/libgomp.fortran/tabs2.f: Ditto.
3655 * testsuite/libgomp.fortran/target1.f90: Ditto.
3656 * testsuite/libgomp.fortran/target2.f90: Ditto.
3657 * testsuite/libgomp.fortran/target3.f90: Ditto.
3658 * testsuite/libgomp.fortran/target4.f90: Ditto.
3659 * testsuite/libgomp.fortran/target5.f90: Ditto.
3660 * testsuite/libgomp.fortran/target6.f90: Ditto.
3661 * testsuite/libgomp.fortran/target7.f90: Ditto.
3662 * testsuite/libgomp.fortran/target8.f90: Ditto.
3663 * testsuite/libgomp.fortran/task1.f90: Ditto.
3664 * testsuite/libgomp.fortran/task2.f90: Ditto.
3665 * testsuite/libgomp.fortran/task3.f90: Ditto.
3666 * testsuite/libgomp.fortran/task4.f90: Ditto.
3667 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
3668 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
3669 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
3670 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
3671 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
3672 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
3673 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
3674 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
3675 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
3676 * testsuite/libgomp.fortran/udr1.f90: Ditto.
3677 * testsuite/libgomp.fortran/udr10.f90: Ditto.
3678 * testsuite/libgomp.fortran/udr11.f90: Ditto.
3679 * testsuite/libgomp.fortran/udr12.f90: Ditto.
3680 * testsuite/libgomp.fortran/udr13.f90: Ditto.
3681 * testsuite/libgomp.fortran/udr14.f90: Ditto.
3682 * testsuite/libgomp.fortran/udr15.f90: Ditto.
3683 * testsuite/libgomp.fortran/udr2.f90: Ditto.
3684 * testsuite/libgomp.fortran/udr3.f90: Ditto.
3685 * testsuite/libgomp.fortran/udr4.f90: Ditto.
3686 * testsuite/libgomp.fortran/udr5.f90: Ditto.
3687 * testsuite/libgomp.fortran/udr6.f90: Ditto.
3688 * testsuite/libgomp.fortran/udr7.f90: Ditto.
3689 * testsuite/libgomp.fortran/udr8.f90: Ditto.
3690 * testsuite/libgomp.fortran/udr9.f90: Ditto.
3691 * testsuite/libgomp.fortran/vla1.f90: Ditto.
3692 * testsuite/libgomp.fortran/vla2.f90: Ditto.
3693 * testsuite/libgomp.fortran/vla3.f90: Ditto.
3694 * testsuite/libgomp.fortran/vla4.f90: Ditto.
3695 * testsuite/libgomp.fortran/vla5.f90: Ditto.
3696 * testsuite/libgomp.fortran/vla6.f90: Ditto.
3697 * testsuite/libgomp.fortran/vla7.f90: Ditto.
3698 * testsuite/libgomp.fortran/vla8.f90: Ditto.
3699 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
3700 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
3701
01509e2f
TB
37022019-10-30 Tobias Burnus <tobias@codesourcery.com>
3703
3704 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
3705 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
3706 Ditto; add 'dg-do run' for torture testing.
3707 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
3708 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
3709 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
3710 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
3711 * testsuite/libgomp.fortran/pr28390.f: Ditto.
3712 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
3713 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
3714 * testsuite/libgomp.fortran/task2.f90: Ditto.
3715 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
3716 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
3717 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
3718 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
3719 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
3720 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
3721
ffbdd78a
TB
37222019-10-28 Tobias Burnus <tobias@codesourcery.com>
3723
3724 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
3725 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
3726 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
3727 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
3728 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
3729 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
3730 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
3731 Use 'stop' not abort().
3732 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
3733 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
3734 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
3735 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
3736 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
3737 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
3738 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
3739 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
3740 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
3741 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
3742 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
3743 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
3744 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
3745 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
3746 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
3747 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
3748 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3749 Ditto.
3750 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3751 Ditto.
3752 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3753 Ditto.
3754 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3755 Ditto.
3756 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3757 Ditto.
3758 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
3759 Ditto.
3760 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
3761 Ditto.
3762 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
3763 Ditto.
3764 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
3765 Ditto.
3766 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
3767 Ditto.
3768 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
3769 Ditto.
3770 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
3771 Ditto.
3772 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
3773 Ditto.
3774 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
3775 Ditto.
3776 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
3777 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
3778 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
3779 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
3780 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3781 Likewise and also add 'dg-do run'.
3782 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3783 Ditto.
3784
ec084613
CP
37852019-10-25 Cesar Philippidis <cesar@codesourcery.com>
3786 Tobias Burnus <tobias@codesourcery.com>
3787
3788 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
3789 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
3790 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
3791
77ef3394
JJ
37922019-10-14 Jakub Jelinek <jakub@redhat.com>
3793
3794 PR libgomp/92081
3795 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
3796 than 0.
3797
08c14aaa
TB
37982019-10-11 Tobias Burnus <tobias@codesourcery.com>
3799
3800 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
3801 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
3802
6bbead0c
TS
38032019-10-09 Thomas Schwinge <thomas@codesourcery.com>
3804
3805 PR middle-end/92036
3806 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
3807 file.
3808
eba3dee8
TB
38092019-10-09 Tobias Burnus <tobias@codesourcery.com>
3810
3811 PR testsuite/91884
3812 * testsuite/libgomp.fortran/fortran.exp: Conditionally
3813 add -lquadmath.
3814 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
3815
7d48e14f
JJ
38162019-10-09 Jakub Jelinek <jakub@redhat.com>
3817
3818 PR libgomp/92028
3819 * target.c (gomp_map_vars_internal): Readd the previous
3820 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
3821 though do that just in the !not_found_cnt case.
3822
65b67cf3
TB
38232019-10-08 Tobias Burnus <tobias@codesourcery.com>
3824
3825 * gfortran.dg/gomp/target-simd.f90: New.
3826
6c7e076b
JB
38272019-10-02 Julian Brown <julian@codesourcery.com>
3828 Cesar Philippidis <cesar@codesourcery.com>
3829
3830 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
3831 * target.c (FIELD_TGT_EMPTY): Define.
3832 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
3833 as switch instead of list of ifs.
3834 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
3835
d61bff85
AT
38362019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
3837
3838 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
3839 include. Replace alloca () with __builtin_alloca ().
3840 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
3841
810f316d
JJ
38422019-10-01 Jakub Jelinek <jakub@redhat.com>
3843
3844 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
3845 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
3846 * oacc-parallel.c: Don't include "libgomp_g.h".
3847 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
3848 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
3849 * aclocal.m4: Regenerated.
3850 * config.h.in: Regenerated.
3851 * configure: Regenerated.
3852 * Makefile.in: Regenerated.
3853
d7f9ee98
KCY
38542019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
3855
3856 * libgomp_g.h: Include stdint.h instead of gstdint.h.
3857
e9085da5
MR
38582019-09-27 Maciej W. Rozycki <macro@wdc.com>
3859
3860 * configure: Regenerate.
3861
c28712be
TB
38622019-09-13 Tobias Burnus <tobias@codesourcery.com>
3863
3864 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
3865 string is initialized.
3866
3c086f8d
FW
38672019-09-06 Florian Weimer <fweimer@redhat.com>
3868
3869 * configure: Regenerate.
3870
c6c2d1bc
CLT
38712019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
3872
3873 PR other/79543
3874 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
3875 scanning to conform to the GNU Coding Standards.
3876 * configure: Regenerate.
3877
5cb72d83
JJ
38782019-08-28 Jakub Jelinek <jakub@redhat.com>
3879
3880 PR libgomp/91530
3881 * testsuite/libgomp.c/scan-21.c: New test.
3882 * testsuite/libgomp.c/scan-22.c: New test.
3883
0ad7981c
JJ
38842019-08-27 Jakub Jelinek <jakub@redhat.com>
3885
3886 PR libgomp/91530
3887 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
3888 targets.
3889 * testsuite/libgomp.c/scan-12.c: Likewise.
3890 * testsuite/libgomp.c/scan-13.c: Likewise.
3891 * testsuite/libgomp.c/scan-14.c: Likewise.
3892 * testsuite/libgomp.c/scan-15.c: Likewise.
3893 * testsuite/libgomp.c/scan-16.c: Likewise.
3894 * testsuite/libgomp.c/scan-17.c: Likewise.
3895 * testsuite/libgomp.c/scan-18.c: Likewise.
3896 * testsuite/libgomp.c/scan-19.c: Likewise.
3897 * testsuite/libgomp.c/scan-20.c: Likewise.
3898 * testsuite/libgomp.c++/scan-9.C: Likewise.
3899 * testsuite/libgomp.c++/scan-10.C: Likewise.
3900 * testsuite/libgomp.c++/scan-11.C: Likewise.
3901 * testsuite/libgomp.c++/scan-12.C: Likewise.
3902 * testsuite/libgomp.c++/scan-14.C: Likewise.
3903 * testsuite/libgomp.c++/scan-15.C: Likewise.
3904 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
3905 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
3906 * testsuite/libgomp.c++/scan-16.C: Likewise.
3907
1e67491a
TK
39082019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
3909
3910 PR fortran/91473
3911 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
3912 -std=legacy so invalid code in the test case is accepted.
3913
393fdeb1
TK
39142019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3915
3916 PR fortran/91422
3917 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
3918 dimension.
3919
8860d270
JJ
39202019-08-08 Jakub Jelinek <jakub@redhat.com>
3921
3922 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
3923 perform the lookup in the first loop only if !not_found_cnt, otherwise
3924 perform lookups for it in the second loop guarded with
3925 if (not_found_cnt || has_firstprivate).
3926 * testsuite/libgomp.c/target-37.c: New test.
3927 * testsuite/libgomp.c++/target-22.C: New test.
3928
398e3feb
JJ
39292019-08-07 Jakub Jelinek <jakub@redhat.com>
3930
3931 * testsuite/libgomp.c/target-18.c (struct S): New type.
3932 (foo): Use use_device_addr clause instead of use_device_ptr clause
3933 where required by OpenMP 5.0, add further tests for both use_device_ptr
3934 and use_device_addr clauses.
3935 * testsuite/libgomp.c++/target-9.C (struct S): New type.
3936 (foo): Use use_device_addr clause instead of use_device_ptr clause
3937 where required by OpenMP 5.0, add further tests for both use_device_ptr
3938 and use_device_addr clauses. Add t and u arguments.
3939 (main): Adjust caller.
3940
d81ab49d
JJ
39412019-08-06 Jakub Jelinek <jakub@redhat.com>
3942
3943 * testsuite/libgomp.c++/loop-13.C: New test.
3944 * testsuite/libgomp.c++/loop-14.C: New test.
3945 * testsuite/libgomp.c++/loop-15.C: New test.
3946
c3ac76aa
JJ
39472019-07-31 Jakub Jelinek <jakub@redhat.com>
3948
3949 PR middle-end/91301
3950 * testsuite/libgomp.c++/for-27.C: New test.
3951
8dc63166
SK
39522019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
3953
393fdeb1 3954 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 3955 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 3956
554a530f
JJ
39572019-07-20 Jakub Jelinek <jakub@redhat.com>
3958
3959 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
3960
6cda84b5
JJ
39612019-07-08 Jakub Jelinek <jakub@redhat.com>
3962
3963 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
3964 * testsuite/libgomp.c++/scan-16.C: Likewise.
3965
1f52d1a8
JJ
39662019-07-06 Jakub Jelinek <jakub@redhat.com>
3967
6f67abcd
JJ
3968 * testsuite/libgomp.c/scan-19.c: New test.
3969 * testsuite/libgomp.c/scan-20.c: New test.
3970
1f52d1a8
JJ
3971 * testsuite/libgomp.c/scan-11.c: New test.
3972 * testsuite/libgomp.c/scan-12.c: New test.
3973 * testsuite/libgomp.c/scan-13.c: New test.
3974 * testsuite/libgomp.c/scan-14.c: New test.
3975 * testsuite/libgomp.c/scan-15.c: New test.
3976 * testsuite/libgomp.c/scan-16.c: New test.
3977 * testsuite/libgomp.c/scan-17.c: New test.
3978 * testsuite/libgomp.c/scan-18.c: New test.
3979 * testsuite/libgomp.c++/scan-9.C: New test.
3980 * testsuite/libgomp.c++/scan-10.C: New test.
3981 * testsuite/libgomp.c++/scan-11.C: New test.
3982 * testsuite/libgomp.c++/scan-12.C: New test.
3983 * testsuite/libgomp.c++/scan-13.C: New test.
3984 * testsuite/libgomp.c++/scan-14.C: New test.
3985 * testsuite/libgomp.c++/scan-15.C: New test.
3986 * testsuite/libgomp.c++/scan-16.C: New test.
3987
2f03073f
JJ
39882019-07-04 Jakub Jelinek <jakub@redhat.com>
3989
3990 * testsuite/libgomp.c/scan-9.c: New test.
3991 * testsuite/libgomp.c/scan-10.c: New test.
3992
2f6bb511
JJ
39932019-07-03 Jakub Jelinek <jakub@redhat.com>
3994
3995 * testsuite/libgomp.c++/scan-1.C: New test.
3996 * testsuite/libgomp.c++/scan-2.C: New test.
3997 * testsuite/libgomp.c++/scan-3.C: New test.
3998 * testsuite/libgomp.c++/scan-4.C: New test.
3999 * testsuite/libgomp.c++/scan-5.C: New test.
4000 * testsuite/libgomp.c++/scan-6.C: New test.
4001 * testsuite/libgomp.c++/scan-7.C: New test.
4002 * testsuite/libgomp.c++/scan-8.C: New test.
4003 * testsuite/libgomp.c/scan-1.c: New test.
4004 * testsuite/libgomp.c/scan-2.c: New test.
4005 * testsuite/libgomp.c/scan-3.c: New test.
4006 * testsuite/libgomp.c/scan-4.c: New test.
4007 * testsuite/libgomp.c/scan-5.c: New test.
4008 * testsuite/libgomp.c/scan-6.c: New test.
4009 * testsuite/libgomp.c/scan-7.c: New test.
4010 * testsuite/libgomp.c/scan-8.c: New test.
4011
bd194a51
TS
40122019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4013
85fca03a
TS
4014 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
4015 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
4016 Likewise.
4017
bd194a51
TS
4018 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
4019 check.
4020
6652161e
CP
40212019-06-18 Cesar Philippidis <cesar@codesourcery.com>
4022
4023 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
4024 file.
4025
3a37d6f6
TS
40262019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4027
4017da8d
TS
4028 PR fortran/90743
4029 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
4030 case.
4031 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
4032 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
4033 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
4034 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
4035
6f7c1f65
TS
4036 PR testsuite/90861
4037 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
4038
3a37d6f6
TS
4039 PR middle-end/90862
4040 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
4041
f45ce17d
TV
40422019-06-16 Tom de Vries <tdevries@suse.de>
4043
4044 PR tree-optimization/89376
4045 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
4046
00908992
TV
40472019-06-15 Tom de Vries <tdevries@suse.de>
4048
4049 PR tree-optimization/89713
4050 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
4051 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
4052
211b7533
JJ
40532019-06-15 Jakub Jelinek <jakub@redhat.com>
4054
4055 PR middle-end/90779
4056 * testsuite/libgomp.c/pr90779.c: New test.
4057 * testsuite/libgomp.fortran/pr90779.f90: New test.
4058
120a01d1
TV
40592019-06-15 Tom de Vries <tdevries@suse.de>
4060
4061 PR tree-optimization/90009
4062 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
4063
c29c92c7
FX
40642019-06-13 Feng Xue <fxue@os.amperecomputing.com>
4065
4066 PR tree-optimization/89713
4067 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
4068
ce9c4ec3
JJ
40692019-06-11 Jakub Jelinek <jakub@redhat.com>
4070
4071 PR target/90811
4072 * testsuite/libgomp.c/pr90811.c: New test.
4073
28b3a77c
JJ
40742019-06-05 Jakub Jelinek <jakub@redhat.com>
4075
4076 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
4077 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
4078
7855700e
JJ
40792019-06-04 Jakub Jelinek <jakub@redhat.com>
4080
4081 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
4082 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
4083 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
4084 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
4085
a7155c2e
RO
40862019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4087
4088 * configure.ac: Call AX_COUNT_CPUS.
4089 Substitute CPU_COUNT.
4090 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
4091 count fallback.
4092 * aclocal.m4: Regenerate.
4093 * configure: Regenerate.
4094 * Makefile.in, testsuite/Makefile.in: Regenerate.
4095
7e47198b
JJ
40962019-05-29 Jakub Jelinek <jakub@redhat.com>
4097
4098 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
4099 to ...
4100 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
4101 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
4102 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
4103
fcfb8032
JJ
41042019-05-27 Jakub Jelinek <jakub@redhat.com>
4105
8e7757ba
JJ
4106 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
4107
36c7a3ff
JJ
4108 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
4109
fcfb8032
JJ
4110 PR libgomp/90641
4111 * work.c (gomp_init_work_share): Instead of aligning final ordered
4112 value to multiples of long long alignment, align to that the
4113 first part (ordered team ids) and if inline_ordered_team_ids
4114 is not on a long long alignment boundary within the structure,
4115 use __alignof__ (long long) - 1 pad size always.
4116 * loop.c (GOMP_loop_start): Fix *mem computation if
4117 inline_ordered_team_ids is not aligned on long long alignment boundary
4118 within the structure.
4119 * loop-ull.c (GOMP_loop_ull_start): Likewise.
4120 * sections.c (GOMP_sections2_start): Likewise.
4121
b5c26449
JJ
41222019-05-24 Jakub Jelinek <jakub@redhat.com>
4123
6c7ae8c5
JJ
4124 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
4125 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
4126
b5c26449
JJ
4127 PR libgomp/90585
4128 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
4129 HAVE_INTTYPES_H is defined.
4130 (print_uint64_t): New typedef.
4131 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
4132 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
4133 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
4134 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
4135 before casting to void *.
4136 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
4137 * oacc-mem.c: Don't include config.h nor stdint.h.
4138 * target.c: Don't include config.h.
4139 * oacc-cuda.c: Likewise.
4140 * oacc-host.c: Don't include stdint.h.
4141
3e03ed66
JJ
41422019-05-20 Jakub Jelinek <jakub@redhat.com>
4143
4144 PR libgomp/90527
4145 * alloc.c (_GNU_SOURCE): Define.
4146
5fae049d
TS
41472019-05-17 Thomas Schwinge <thomas@codesourcery.com>
4148
4149 * acc_prof.h: New file.
4150 * oacc-profiling.c: Likewise.
4151 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
4152 Add these, respectively.
4153 * Makefile.in: Regenerate.
4154 * env.c (initialize_env): Call goacc_profiling_initialize.
4155 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
4156 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
4157 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
4158 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
4159 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
4160 acc_prof_register, acc_prof_unregister, and acc_register_library.
4161 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
4162 GOMP_PLUGIN_goacc_thread.
4163 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
4164 prof_callbacks_enabled members.
4165 (goacc_prof_enabled, goacc_profiling_initialize)
4166 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
4167 (goacc_profiling_dispatch): Declare.
4168 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
4169 (GOACC_PROFILING_SETUP_P): Define.
4170 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
4171 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
4172 OpenACC Profiling Interface.
4173 * oacc-cuda.c (acc_get_current_cuda_device)
4174 (acc_get_current_cuda_context, acc_get_cuda_stream)
4175 (acc_set_cuda_stream): Likewise.
4176 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
4177 (acc_init, acc_set_device_type, acc_get_device_type)
4178 (acc_get_device_num, goacc_lazy_initialize): Likewise.
4179 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
4180 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
4181 (acc_unmap_data, present_create_copy, delete_copyout)
4182 (update_dev_host): Likewise.
4183 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
4184 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
4185 Likewise.
4186 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
4187 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
4188 Likewise.
4189 * libgomp.texi: Update.
4190 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
4191 file.
4192 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
4193 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4194 Likewise.
4195 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
4196 Likewise.
4197 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
4198 Likewise.
4199 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
4200 Likewise.
4201
1f4c5b9b
CLT
42022019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
4203
4204 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
4205 (struct goacc_asyncqueue_list): Likewise.
4206 (goacc_aq): Likewise.
4207 (goacc_aq_list): Likewise.
4208 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
4209 (GOMP_OFFLOAD_openacc_async_test): Remove.
4210 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
4211 (GOMP_OFFLOAD_openacc_async_wait): Remove.
4212 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
4213 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
4214 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
4215 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
4216 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
4217 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
4218 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
4219 (GOMP_OFFLOAD_openacc_async_exec): Declare.
4220 (GOMP_OFFLOAD_openacc_async_construct): Declare.
4221 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
4222 (GOMP_OFFLOAD_openacc_async_test): Declare.
4223 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
4224 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
4225 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
4226 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
4227 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
4228
4229 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
4230 (gomp_acc_insert_pointer): Adjust declaration.
4231 (gomp_copy_host2dev): New declaration.
4232 (gomp_copy_dev2host): Likewise.
4233 (gomp_map_vars_async): Likewise.
4234 (gomp_unmap_tgt): Likewise.
4235 (gomp_unmap_vars_async): Likewise.
4236 (gomp_fini_device): Likewise.
4237
4238 * oacc-async.c (get_goacc_thread): New function.
4239 (get_goacc_thread_device): New function.
4240 (lookup_goacc_asyncqueue): New function.
4241 (get_goacc_asyncqueue): New function.
4242 (acc_async_test): Adjust code to use new async design.
4243 (acc_async_test_all): Likewise.
4244 (acc_wait): Likewise.
4245 (acc_wait_async): Likewise.
4246 (acc_wait_all): Likewise.
4247 (acc_wait_all_async): Likewise.
4248 (goacc_async_free): New function.
4249 (goacc_init_asyncqueues): Likewise.
4250 (goacc_fini_asyncqueues): Likewise.
4251 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
4252 design.
4253 (acc_set_cuda_stream): Likewise.
4254 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
4255 (host_openacc_register_async_cleanup): Remove.
4256 (host_openacc_async_exec): New function.
4257 (host_openacc_async_test): Adjust parameters.
4258 (host_openacc_async_test_all): Remove.
4259 (host_openacc_async_wait): Remove.
4260 (host_openacc_async_wait_async): Remove.
4261 (host_openacc_async_wait_all): Remove.
4262 (host_openacc_async_wait_all_async): Remove.
4263 (host_openacc_async_set_async): Remove.
4264 (host_openacc_async_synchronize): New function.
4265 (host_openacc_async_serialize): New function.
4266 (host_openacc_async_host2dev): New function.
4267 (host_openacc_async_dev2host): New function.
4268 (host_openacc_async_queue_callback): New function.
4269 (host_openacc_async_construct): New function.
4270 (host_openacc_async_destruct): New function.
4271 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 4272 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
4273 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
4274 (goacc_attach_host_thread_to_device): Remove old async code usage.
4275 * oacc-int.h (goacc_init_asyncqueues): New declaration.
4276 (goacc_fini_asyncqueues): Likewise.
4277 (goacc_async_copyout_unmap_vars): Likewise.
4278 (goacc_async_free): Likewise.
4279 (get_goacc_asyncqueue): Likewise.
4280 (lookup_goacc_asyncqueue): Likewise.
4281 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
4282 design.
4283 (present_create_copy): Adjust code to use new async design.
4284 (delete_copyout): Likewise.
4285 (update_dev_host): Likewise.
4286 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
4287 async design.
4288 (gomp_acc_remove_pointer): Adjust code to use new async design.
4289 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
4290 design.
4291 (GOACC_enter_exit_data): Likewise.
4292 (goacc_wait): Likewise.
4293 (GOACC_update): Likewise.
4294 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
4295 when called, warn as obsolete in comment.
4296 * target.c (goacc_device_copy_async): New function.
4297 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
4298 add goacc_device_copy_async case.
4299 (gomp_copy_dev2host): Likewise.
4300 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
4301 (gomp_map_pointer): Likewise.
4302 (gomp_map_fields_existing): Likewise.
4303 (gomp_map_vars_internal): New always_inline function, renamed from
4304 gomp_map_vars.
4305 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
4306 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
4307 passing goacc_asyncqueue argument.
4308 (gomp_unmap_tgt): Remove static, add attribute_hidden.
4309 (gomp_unref_tgt): New function.
4310 (gomp_unmap_vars_internal): New always_inline function, renamed from
4311 gomp_unmap_vars.
4312 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
4313 (gomp_unmap_vars_async): Implement by calling
4314 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
4315 (gomp_fini_device): New function.
4316 (gomp_exit_data): Adjust gomp_copy_dev2host call.
4317 (gomp_load_plugin_for_device): Remove old interface, adjust to load
4318 new async interface.
4319 (gomp_target_fini): Adjust code to call gomp_fini_device.
4320
4321 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
4322 (struct ptx_stream): Remove.
4323 (struct nvptx_thread): Remove current_stream field.
4324 (cuda_map_create): Remove.
4325 (cuda_map_destroy): Remove.
4326 (map_init): Remove.
4327 (map_fini): Remove.
4328 (map_pop): Remove.
4329 (map_push): Remove.
4330 (struct goacc_asyncqueue): Define.
4331 (struct nvptx_callback): Define.
4332 (struct ptx_free_block): Define.
4333 (struct ptx_device): Remove null_stream, active_streams, async_streams,
4334 stream_lock, and next fields.
4335 (enum ptx_event_type): Remove.
4336 (struct ptx_event): Remove.
4337 (ptx_event_lock): Remove.
4338 (ptx_events): Remove.
4339 (init_streams_for_device): Remove.
4340 (fini_streams_for_device): Remove.
4341 (select_stream_for_async): Remove.
4342 (nvptx_init): Remove ptx_events and ptx_event_lock references.
4343 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
4344 case.
4345 (nvptx_open_device): Add free_blocks initialization, remove
4346 init_streams_for_device call.
4347 (nvptx_close_device): Remove fini_streams_for_device call, add
4348 free_blocks destruct code.
4349 (event_gc): Remove.
4350 (event_add): Remove.
4351 (nvptx_exec): Adjust parameters and code.
4352 (nvptx_free): Likewise.
4353 (nvptx_host2dev): Remove.
4354 (nvptx_dev2host): Remove.
4355 (nvptx_set_async): Remove.
4356 (nvptx_async_test): Remove.
4357 (nvptx_async_test_all): Remove.
4358 (nvptx_wait): Remove.
4359 (nvptx_wait_async): Remove.
4360 (nvptx_wait_all): Remove.
4361 (nvptx_wait_all_async): Remove.
4362 (nvptx_get_cuda_stream): Remove.
4363 (nvptx_set_cuda_stream): Remove.
4364 (GOMP_OFFLOAD_alloc): Adjust code.
4365 (GOMP_OFFLOAD_free): Likewise.
4366 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
4367 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
4368 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
4369 (GOMP_OFFLOAD_openacc_async_wait): Remove.
4370 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
4371 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
4372 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
4373 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
4374 (cuda_free_argmem): New function.
4375 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
4376 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
4377 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
4378 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
4379 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
4380 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
4381 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
4382 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
4383 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
4384 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
4385 (cuda_callback_wrapper): New function.
4386 (cuda_memcpy_sanity_check): New function.
4387 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
4388 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
4389 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
4390 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
4391
da2d30c1
TS
43922019-05-07 Thomas Schwinge <thomas@codesourcery.com>
4393
4394 PR target/87835
4395 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
4396
2bbbfa4e
TS
43972019-05-06 Thomas Schwinge <thomas@codesourcery.com>
4398
4399 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
4400
bbf1efe1
KB
44012019-03-27 Kevin Buettner <kevinb@redhat.com>
4402
4403 * team.c (gomp_team_start): Initialize pool->threads[0].
4404
1241136c
TS
44052019-02-22 Thomas Schwinge <thomas@codesourcery.com>
4406
b03d721a
TS
4407 * testsuite/libgomp.oacc-c++/c++.exp: Specify
4408 "-foffload=$offload_target".
4409 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4410 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4411 * testsuite/lib/libgomp.exp
4412 (check_effective_target_openacc_nvidia_accel_configured): Remove,
4413 as (conceptually) merged into
4414 check_effective_target_openacc_nvidia_accel_selected. Adjust all
4415 users.
4416
0a0384b4
TS
4417 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
4418 * testsuite/libgomp-test-support.exp.in: Adjust.
4419 * testsuite/lib/libgomp.exp: Likewise. Don't populate
4420 openacc_device_types_s.
4421 (offload_target_to_openacc_device_type): New proc.
4422 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
4423 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4424 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4425 * Makefile.in: Regenerate.
4426 * configure: Likewise.
4427 * testsuite/Makefile.in: Likewise.
4428
ee332b4a
TS
4429 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
4430 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
4431 instead of OFFLOAD_TARGETS.
4432 * target.c (gomp_target_init): Adjust.
4433 * testsuite/libgomp-test-support.exp.in: Likewise.
4434 * testsuite/lib/libgomp.exp: Likewise. Populate
4435 openacc_device_types_s instead of offload_targets_s_openacc.
4436 (check_effective_target_openacc_nvidia_accel_selected)
4437 (check_effective_target_openacc_host_selected): Adjust.
4438 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4439 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4440 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4441 * Makefile.in: Regenerate.
4442 * config.h.in: Likewise.
4443 * configure: Likewise.
4444 * testsuite/Makefile.in: Likewise.
4445
1241136c
TS
4446 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
4447 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
4448 "offloading: supported, but hardware not accessible".
4449 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4450 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4451
19695f4d
CLT
44522019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
4453
4454 PR c/87924
4455 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
4456 goacc_wait().
4457 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
4458 and related adjustment.
4459
8b44f8ec
JJ
44602019-01-30 Jakub Jelinek <jakub@redhat.com>
4461
4462 PR c++/88988
4463 * testsuite/libgomp.c++/pr88988.C: New test.
4464
be3a87e7
JJ
44652019-01-28 Jakub Jelinek <jakub@redhat.com>
4466
4467 PR middle-end/89002
4468 * testsuite/libgomp.c/pr89002.c: New test.
4469
497ef4d7
RB
44702019-01-28 Richard Biener <rguenther@suse.de>
4471
4472 PR testsuite/89064
4473 PR tree-optimization/86865
4474 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
4475
738c56d4
TV
44762019-01-24 Tom de Vries <tdevries@suse.de>
4477
4478 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
4479 once instantiated_devices drops to 0.
4480
4a75460b
TV
44812019-01-23 Tom de Vries <tdevries@suse.de>
4482
4483 PR target/PR88946
4484 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
4485 cuMemFree.
4486 (nvptx_exec): Don't call map_push if mapnum == 0.
4487 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
4488
4fef8e4d
TV
44892019-01-23 Tom de Vries <tdevries@suse.de>
4490
4491 PR target/88941
4492 PR target/88939
4493 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
4494 (map_fini): Remove "assert (!s->map->active)".
4495 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
4496
2ee6cb22
TV
44972019-01-23 Tom de Vries <tdevries@suse.de>
4498
4499 PR target/87835
4500 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
4501 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
4502
d41d952c
TV
45032019-01-15 Tom de Vries <tdevries@suse.de>
4504
4505 PR target/80547
4506 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
4507 New test.
4508
efb56ae8
TV
45092019-01-12 Tom de Vries <tdevries@suse.de>
4510
4511 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
4512 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
4513 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
4514 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
4515
2c2ff168
TV
45162019-01-12 Tom de Vries <tdevries@suse.de>
4517
4518 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
4519
a1057758
TV
45202019-01-12 Tom de Vries <tdevries@suse.de>
4521
4522 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
4523 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
4524 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
4525
56314b77
TV
45262019-01-12 Tom de Vries <tdevries@suse.de>
4527
4528 PR target/85486
4529 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
4530 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
4531
b39e4366
TV
45322019-01-12 Tom de Vries <tdevries@suse.de>
4533
4534 PR target/85381
4535 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
4536 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
4537
2cb7a501
TV
45382019-01-12 Tom de Vries <tdevries@suse.de>
4539
4540 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
4541 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
4542 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
4543
8e77f71e
TV
45442019-01-12 Tom de Vries <tdevries@suse.de>
4545
4546 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
4547 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
4548 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
4549
52d22ece
TV
45502019-01-12 Tom de Vries <tdevries@suse.de>
4551
4552 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
4553 resources diagnostic.
4554
2b9d9e39
TV
45552019-01-12 Tom de Vries <tdevries@suse.de>
4556
4557 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
4558 vector length to be 128.
4559 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
4560 length 2097152 to be reduced to 1024 instead of 32.
4561
4102bda6
TS
45622019-01-11 Thomas Schwinge <thomas@codesourcery.com>
4563 James Norris <jnorris@codesourcery.com>
4564
4565 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
4566 Library Routines", and "Environment Variables".
4567
052aaace
TV
45682019-01-11 Tom de Vries <tdevries@suse.de>
4569
4570 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
4571 num_workers 16.
4572
9390f916
TV
45732019-01-11 Tom de Vries <tdevries@suse.de>
4574
4575 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
4576 -foffload=-w.
4577 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
4578 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
4579 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
4580 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
4581
2c3e7ad2
TV
45822019-01-11 Tom de Vries <tdevries@suse.de>
4583
4584 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
4585 test.
4586
e222497d
NS
45872019-01-10 Nathan Sidwell <nathan@acm.org>
4588 Julian Brown <julian@codesourcery.com>
4589
4590 PR lto/71959
4591 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
4592 * testsuite/libgomp.oacc-c++/pr71959.C: New.
4593
cb87fec3
SH
45942019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
4595
4596 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
4597 and paste code.
4598
30b4d0d0
SH
45992019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
4600
4601 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
4602 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
4603 write.
4604
5d0bc70a
TV
46052019-01-09 Tom de Vries <tdevries@suse.de>
4606
4607 PR target/88756
4608 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
4609 #define instead of "const int".
4610 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
4611 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
4612 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
4613 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
4614
2c372e81
TV
46152019-01-09 Tom de Vries <tdevries@suse.de>
4616
4617 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
4618 one worker.
4619
43493c97
TV
46202019-01-07 Tom de Vries <tdevries@suse.de>
4621
4622 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
4623 GOMP_OPENACC_DIM argument.
4624
5c571497
TV
46252019-01-03 Tom de Vries <tdevries@suse.de>
4626
4627 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
4628 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
4629
a5544970
JJ
46302019-01-01 Jakub Jelinek <jakub@redhat.com>
4631
4632 Update copyright years.
4633
3f27508c
JJ
46342019-01-01 Jakub Jelinek <jakub@redhat.com>
4635
4636 * libgomp.texi: Bump @copying's copyright year.
4637
59d5960c
TS
46382018-12-28 Thomas Schwinge <thomas@codesourcery.com>
4639
4640 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
4641 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
4642 (GOACC_declare): Redefine the "device" argument to "flags".
4643
a44c1790
TS
46442018-12-28 Thomas Schwinge <thomas@codesourcery.com>
4645 Cesar Philippidis <cesar@codesourcery.com>
4646
4647 * target.c (struct gomp_coalesce_chunk): New structure.
4648 (struct gomp_coalesce_buf): Update the chunks member to use that
4649 type. Adjust all users.
4650
a152954e
TV
46512018-12-19 Tom de Vries <tdevries@suse.de>
4652
4653 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
4654 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
4655 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
4656
49188cd1
TV
46572018-12-19 Tom de Vries <tdevries@suse.de>
4658
4659 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
4660 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
4661 gcc/testsuite/gcc.dg/goacc.
4662 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
4663
c759830b
TS
46642018-12-14 Thomas Schwinge <thomas@codesourcery.com>
4665 Chung-Lin Tang <cltang@codesourcery.com>
4666
4667 * oacc-mem.c (acc_present_or_create): Remove definition and change
4668 to alias of acc_create.
4669 (acc_present_or_copyin): Remove definition and change to alias of
4670 acc_copyin.
4671 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
4672 of acc_present_or_create.
4673 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
4674 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4675 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4677 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4678 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4679 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4680 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4681 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4682 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4683 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4684 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4685 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4686 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4687 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4688 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4689
7de562ee
TS
46902018-12-14 Thomas Schwinge <thomas@codesourcery.com>
4691
f847198e
TS
4692 PR libgomp/88495
4693 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
4694 "identical parameters".
4695 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
4696 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
4697
c8ab8aab
TS
4698 PR libgomp/88484
4699 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
4700 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
4701
1404af62
TS
4702 PR libgomp/88407
4703 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
4704 (nvptx_wait_async): Unseen async-argument is a no-op.
4705 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
4706 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
4707 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4708 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4709 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4710 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
4711 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
4712 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
4713 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
4714
7de562ee
TS
4715 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
4716 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4717
17469af7
CLT
47182018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
4719
4720 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
4721 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4722 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4723
18c247cc
TS
47242018-12-14 Thomas Schwinge <thomas@codesourcery.com>
4725
4726 PR libgomp/88370
4727 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
4728 (acc_set_cuda_stream): Clarify.
4729 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4730 "async_valid_p".
4731 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
4732 acc_async_sync".
4733 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
4734 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
4735 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
4736 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4737
b0aba46c
TV
47382018-12-14 Tom de Vries <tdevries@suse.de>
4739
4740 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
4741 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
4742 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
4743 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
4744 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
4745
fe0827ee
TV
47462018-12-13 Tom de Vries <tdevries@suse.de>
4747
4748 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
4749 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
4750 * fortran.c (omp_display_affinity_): ... here.
4751 * libgomp.h (gomp_print_string): Declare.
4752 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
4753 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
4754 write.
4755
a51f8c92
JJ
47562018-12-13 Jakub Jelinek <jakub@redhat.com>
4757
4758 PR libgomp/88460
4759 * testsuite/libgomp.c++/for-24.C (results): Include it in
4760 omp declare target region.
4761 (main): Use map (always, tofrom: results) instead of
4762 map (tofrom: results).
4763
a6ef2ac9
JJ
47642018-12-12 Jakub Jelinek <jakub@redhat.com>
4765
7a289b7d
JJ
4766 PR fortran/88463
4767 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
4768 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
4769
a6ef2ac9
JJ
4770 * testsuite/libgomp.c-c++-common/for-16.c: New test.
4771
9c47a019
AS
47722018-12-12 Andreas Schwab <schwab@suse.de>
4773
4774 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
4775 clobbered.
4776
d0cbb206
TK
47772018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
4778
4779 PR fortran/88411
4780 * testsuite/libgomp.fortran/async_io_8.f90: New test.
4781
84ca08d2
TS
47822018-12-09 Thomas Schwinge <thomas@codesourcery.com>
4783 Jakub Jelinek <jakub@redhat.com>
4784
4785 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
4786 devicep->host2dev_func.
4787
6997628d
JJ
47882018-12-08 Jakub Jelinek <jakub@redhat.com>
4789
4790 PR libgomp/87995
4791 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
4792 tls_runtime effective target.
4793 (t): New threadprivate variable.
4794 (main): Set t in threads which execute iterations of the worksharing
4795 loop. Propagate that to the task after the loop and don't abort
4796 if the current taskgroup hasn't been cancelled.
4797
daa8c1d7
JJ
47982018-12-02 Jakub Jelinek <jakub@redhat.com>
4799
4a82df9a
JJ
4800 * testsuite/libgomp.c/task-reduction-3.c: New test.
4801
daa8c1d7
JJ
4802 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
4803
fe570ff8
CP
48042018-11-30 Cesar Philippidis <cesar@codesourcery.com>
4805
4806 PR libgomp/88288
4807 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
4808 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
4809
c223608f
TS
48102018-11-30 Thomas Schwinge <thomas@codesourcery.com>
4811
4812 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
4813
fc60283c
RB
48142018-10-19 Richard Biener <rguenther@suse.de>
4815
4816 PR tree-optimization/88182
4817 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
4818
ffcf3b79
JJ
48192018-11-26 Jakub Jelinek <jakub@redhat.com>
4820
4821 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
4822 (RUNTEST): Don't define.
4823 (RUNTESTDEFAULTFLAGS): Add.
4824 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
4825 (distclean-am): Depend on distclean-DEJAGNU.
4826 (check-am): If -j% option is present in MFLAGS and if
4827 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
4828 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
4829 * testsuite/Makefile.in: Regenerated.
4830
ef6e6914
RB
48312018-11-26 Richard Biener <rguenther@suse.de>
4832
4833 PR tree-optimization/88182
4834 * testsuite/libgomp.c++/pr88182.C: New testcase.
4835
72d3bb76
JJ
48362018-11-20 Jakub Jelinek <jakub@redhat.com>
4837
4838 PR bootstrap/88106
4839 * config/mingw32/affinity-fmt.c: New file.
4840
207286c3
JJ
48412018-11-09 Jakub Jelinek <jakub@redhat.com>
4842
9666c522
JJ
4843 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
4844 (gomp_display_affinity): Use __builtin_choose_expr to handle
4845 properly handle argument having integral, or pointer or some other
4846 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
4847 with uint64_t type instead of %llx and unsigned long long.
4848
207286c3
JJ
4849 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
4850 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
4851
2033f45b
RO
48522018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4853
4854 * affinity.c: Include <string.h>, <stdio.h>.
4855 (gomp_display_affinity_place): Remove cpusetp.
4856 * teams.c: Include <limits.h>.
4857
28567c40
JJ
48582018-11-08 Jakub Jelinek <jakub@redhat.com>
4859
8991d779
JJ
4860 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
4861 in_reduction clause for s[0].
4862
28567c40
JJ
4863 * affinity.c (gomp_display_affinity_place): New function.
4864 * affinity-fmt.c: New file.
4865 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
4866 * config/linux/affinity.c (gomp_display_affinity_place): New function.
4867 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
4868 Move these functions to ...
4869 * config/nvptx/teams.c: ... here. New file.
4870 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
4871 New functions.
4872 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
4873 functions.
4874 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
4875 and _aligned_malloc.
4876 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
4877 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
4878 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
4879 gomp_affinity_format_len): New variables.
4880 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
4881 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
4882 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
4883 modifiers. Display (non-default) chunk sizes. Print
4884 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
4885 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
4886 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
4887 * fortran.c: Include stdio.h and string.h.
4888 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
4889 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
4890 (omp_set_affinity_format_, omp_get_affinity_format_,
4891 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
4892 omp_pause_resource_all_): New functions.
4893 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
4894 switch.
4895 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
4896 functions to ...
4897 * teams.c: ... here. New file.
4898 * libgomp_g.h: Include gstdint.h.
4899 (GOMP_loop_nonmonotonic_runtime_start,
4900 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
4901 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
4902 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
4903 GOMP_parallel_loop_nonmonotonic_runtime,
4904 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
4905 GOMP_loop_ull_nonmonotonic_runtime_start,
4906 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
4907 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
4908 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
4909 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
4910 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
4911 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
4912 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
4913 GOMP_teams_reg): Declare.
4914 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
4915 gomp_aligned_alloc uses fallback implementation.
4916 (gomp_aligned_alloc, gomp_aligned_free): Declare.
4917 (enum gomp_schedule_type): Add GFS_MONOTONIC.
4918 (struct gomp_doacross_work_share): Add extra field.
4919 (struct gomp_work_share): Add task_reductions field.
4920 (struct gomp_taskgroup): Add workshare and reductions fields.
4921 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
4922 (gomp_thread_handle): New typedef.
4923 (gomp_display_affinity_place, gomp_set_affinity_format,
4924 gomp_display_string, gomp_display_affinity,
4925 gomp_display_affinity_thread): Declare.
4926 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
4927 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
4928 gomp_workshare_task_reduction_register): Declare.
4929 (gomp_team_start): Add taskgroup argument.
4930 (gomp_pause_host): Declare.
4931 (gomp_init_work_share, gomp_work_share_start): Change bool argument
4932 to size_t.
4933 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
4934 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
4935 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
4936 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
4937 GOMP_loop_ull_doacross_start,
4938 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
4939 GOMP_loop_maybe_nonmonotonic_runtime_next,
4940 GOMP_loop_maybe_nonmonotonic_runtime_start,
4941 GOMP_loop_nonmonotonic_runtime_next,
4942 GOMP_loop_nonmonotonic_runtime_start,
4943 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
4944 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
4945 GOMP_loop_ull_nonmonotonic_runtime_next,
4946 GOMP_loop_ull_nonmonotonic_runtime_start,
4947 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
4948 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
4949 GOMP_taskgroup_reduction_register,
4950 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
4951 GOMP_teams_reg and GOMP_taskwait_depend.
4952 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
4953 omp_{capture,display}_affinity{,_}, and
4954 omp_[gs]et_affinity_format{,_}.
4955 * loop.c: Include string.h.
4956 (GOMP_loop_runtime_next): Add ialias.
4957 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
4958 (gomp_loop_static_start, gomp_loop_dynamic_start,
4959 gomp_loop_guided_start, gomp_loop_ordered_static_start,
4960 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
4961 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4962 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
4963 or gomp_doacross_init callers.
4964 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
4965 GOMP_loop_doacross_start): New functions.
4966 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
4967 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
4968 Mask off GFS_MONOTONIC bit.
4969 (GOMP_loop_maybe_nonmonotonic_runtime_next,
4970 GOMP_loop_maybe_nonmonotonic_runtime_start,
4971 GOMP_loop_nonmonotonic_runtime_next,
4972 GOMP_loop_nonmonotonic_runtime_start,
4973 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
4974 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
4975 functions.
4976 (gomp_parallel_loop_start): Pass NULL as taskgroup to
4977 gomp_team_start.
4978 * loop_ull.c: Include string.h.
4979 (GOMP_loop_ull_runtime_next): Add ialias.
4980 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
4981 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
4982 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
4983 gomp_loop_ull_ordered_dynamic_start,
4984 gomp_loop_ull_ordered_guided_start,
4985 gomp_loop_ull_doacross_static_start,
4986 gomp_loop_ull_doacross_dynamic_start,
4987 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
4988 and gomp_doacross_ull_init callers.
4989 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
4990 GOMP_loop_ull_doacross_start): New functions.
4991 (GOMP_loop_ull_runtime_start,
4992 GOMP_loop_ull_ordered_runtime_start,
4993 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
4994 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
4995 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
4996 GOMP_loop_ull_nonmonotonic_runtime_next,
4997 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
4998 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
4999 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
5000 (omp_pause_resource_t, omp_depend_t): New typedefs.
5001 (enum omp_lock_hint_t): Renamed to ...
5002 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
5003 enumerators using numbers and omp_lock_hint_* as their aliases.
5004 (omp_lock_hint_t): New typedef. Rename to ...
5005 (omp_sync_hint_t): ... this.
5006 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
5007 omp_sync_hint_t instead of omp_lock_hint_t.
5008 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5009 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5010 Declare.
5011 (omp_target_is_present, omp_target_disassociate_ptr):
5012 Change first argument from void * to const void *.
5013 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
5014 from void * to const void *.
5015 (omp_target_associate_ptr): Change first and second arguments from
5016 void * to const void *.
5017 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
5018 omp_pause_hard): New parameters.
5019 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5020 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5021 New interfaces.
5022 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
5023 omp_pause_hard): New parameters.
5024 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5025 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5026 New externals.
5027 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
5028 EXTRA argument. If not needed to prepare array, if extra is 0,
5029 clear ws->doacross, otherwise allocate just doacross structure and
5030 extra payload. If array is needed, allocate also extra payload.
5031 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
5032 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
5033 doacross == NULL.
5034 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
5035 gomp_team_start.
5036 (GOMP_parallel): Likewise. Formatting fix.
5037 (GOMP_parallel_reductions): New function.
5038 (GOMP_cancellation_point): If taskgroup has workshare
5039 flag set, check cancelled of prev taskgroup if any.
5040 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
5041 on prev taskgroup if any.
5042 * sections.c: Include string.h.
5043 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5044 (GOMP_sections_start): Adjust gomp_work_share_start caller.
5045 (GOMP_sections2_start): New function.
5046 (GOMP_parallel_sections_start, GOMP_parallel_sections):
5047 Pass NULL as taskgroup to gomp_team_start.
5048 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
5049 gomp_work_share_start callers.
5050 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
5051 If taskgroup has workshare flag set, check cancelled on prev
5052 taskgroup if any. Guard all cancellation tests with
5053 gomp_cancel_var test.
5054 (omp_target_is_present, omp_target_disassociate_ptr):
5055 Change ptr argument from void * to const void *.
5056 (omp_target_memcpy): Change src argument from void * to const void *.
5057 (omp_target_memcpy_rect): Likewise.
5058 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
5059 instead of char * where needed.
5060 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
5061 from void * to const void *.
5062 (omp_pause_resource, omp_pause_resource_all): New functions.
5063 * task.c (gomp_task_handle_depend): Handle new depend array format
5064 in addition to the old. Handle mutexinoutset kinds the same as
5065 inout for now, handle unspecified kinds.
5066 (gomp_create_target_task): If taskgroup has workshare flag set, check
5067 cancelled on prev taskgroup if any. Guard all cancellation tests with
5068 gomp_cancel_var test. Handle new depend array format count in
5069 addition to the old.
5070 (GOMP_task): Likewise. Adjust function comment.
5071 (gomp_task_run_pre): If taskgroup has workshare flag set, check
5072 cancelled on prev taskgroup if any. Guard all cancellation tests with
5073 gomp_cancel_var test.
5074 (GOMP_taskwait_depend): New function.
5075 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
5076 format in addition to the old. Handle mutexinoutset kinds the same as
5077 inout for now, handle unspecified kinds. Fix a function comment typo.
5078 (gomp_taskgroup_init): New function.
5079 (GOMP_taskgroup_start): Use it.
5080 (gomp_reduction_register, gomp_create_artificial_team,
5081 GOMP_taskgroup_reduction_register,
5082 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5083 gomp_parallel_reduction_register,
5084 gomp_workshare_task_reduction_register,
5085 gomp_workshare_taskgroup_start,
5086 GOMP_workshare_task_reduction_unregister): New functions.
5087 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
5088 check cancelled on prev taskgroup if any. Guard all cancellation
5089 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
5090 by calling GOMP_taskgroup_reduction_register.
5091 * team.c (gomp_thread_attr): Remove comment.
5092 (struct gomp_thread_start_data): Add handle field.
5093 (gomp_thread_start): Call pthread_detach.
5094 (gomp_new_team): Adjust gomp_init_work_share caller.
5095 (gomp_free_pool_helper): Call pthread_detach.
5096 (gomp_team_start): Add taskgroup argument, initialize implicit
5097 tasks' taskgroup field to that. Don't call
5098 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
5099 (gomp_team_end): Determine nesting by thr->ts.level != 0
5100 rather than thr->ts.team != NULL.
5101 (gomp_pause_pool_helper, gomp_pause_host): New functions.
5102 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
5103 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
5104 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
5105 if more than 1 allocate also extra payload at the end of array. Never
5106 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
5107 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
5108 return true instead of ws.
5109 * Makefile.in: Regenerated.
5110 * configure: Regenerated.
5111 * config.h.in: Regenerated.
5112 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
5113 in some cases.
5114 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
5115 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
5116 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
5117 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
5118 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
5119 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
5120 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
5121 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
5122 * testsuite/libgomp.c-c++-common/for-10.c: New test.
5123 * testsuite/libgomp.c-c++-common/for-11.c: New test.
5124 * testsuite/libgomp.c-c++-common/for-12.c: New test.
5125 * testsuite/libgomp.c-c++-common/for-13.c: New test.
5126 * testsuite/libgomp.c-c++-common/for-14.c: New test.
5127 * testsuite/libgomp.c-c++-common/for-15.c: New test.
5128 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
5129 define a different N(test), don't define N(f0) to N(f14), but instead
5130 define N(f20) to N(f34) using != comparisons.
5131 * testsuite/libgomp.c-c++-common/for-7.c: New test.
5132 * testsuite/libgomp.c-c++-common/for-8.c: New test.
5133 * testsuite/libgomp.c-c++-common/for-9.c: New test.
5134 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
5135 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
5136 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
5137 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
5138 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
5139 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
5140 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
5141 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
5142 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
5143 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
5144 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
5145 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
5146 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
5147 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
5148 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
5149 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
5150 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
5151 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
5152 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
5153 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
5154 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
5155 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
5156 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
5157 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
5158 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
5159 * testsuite/libgomp.c++/depend-1.C: New test.
5160 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
5161 * testsuite/libgomp.c++/depobj-1.C: New test.
5162 * testsuite/libgomp.c++/for-16.C: New test.
5163 * testsuite/libgomp.c++/for-21.C: New test.
5164 * testsuite/libgomp.c++/for-22.C: New test.
5165 * testsuite/libgomp.c++/for-23.C: New test.
5166 * testsuite/libgomp.c++/for-24.C: New test.
5167 * testsuite/libgomp.c++/for-25.C: New test.
5168 * testsuite/libgomp.c++/for-26.C: New test.
5169 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
5170 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
5171 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
5172 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
5173 * testsuite/libgomp.c++/task-reduction-10.C: New test.
5174 * testsuite/libgomp.c++/task-reduction-11.C: New test.
5175 * testsuite/libgomp.c++/task-reduction-12.C: New test.
5176 * testsuite/libgomp.c++/task-reduction-13.C: New test.
5177 * testsuite/libgomp.c++/task-reduction-14.C: New test.
5178 * testsuite/libgomp.c++/task-reduction-15.C: New test.
5179 * testsuite/libgomp.c++/task-reduction-16.C: New test.
5180 * testsuite/libgomp.c++/task-reduction-17.C: New test.
5181 * testsuite/libgomp.c++/task-reduction-18.C: New test.
5182 * testsuite/libgomp.c++/task-reduction-19.C: New test.
5183 * testsuite/libgomp.c/task-reduction-1.c: New test.
5184 * testsuite/libgomp.c++/task-reduction-1.C: New test.
5185 * testsuite/libgomp.c/task-reduction-2.c: New test.
5186 * testsuite/libgomp.c++/task-reduction-2.C: New test.
5187 * testsuite/libgomp.c++/task-reduction-3.C: New test.
5188 * testsuite/libgomp.c++/task-reduction-4.C: New test.
5189 * testsuite/libgomp.c++/task-reduction-5.C: New test.
5190 * testsuite/libgomp.c++/task-reduction-6.C: New test.
5191 * testsuite/libgomp.c++/task-reduction-7.C: New test.
5192 * testsuite/libgomp.c++/task-reduction-8.C: New test.
5193 * testsuite/libgomp.c++/task-reduction-9.C: New test.
5194 * testsuite/libgomp.c/teams-1.c: New test.
5195 * testsuite/libgomp.c/teams-2.c: New test.
5196 * testsuite/libgomp.c/thread-limit-4.c: New test.
5197 * testsuite/libgomp.c/thread-limit-5.c: New test.
5198 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
5199
58168bbf
CLT
52002018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
5201
5202 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
5203 acc_memcpy_to/from_device functions, now with async parameter.
5204 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
5205 (acc_memcpy_from_device): Likewise.
5206 (acc_memcpy_to_device_async): New API function.
5207 (acc_memcpy_from_device_async): Likewise.
5208 (present_create_copy): Add async parameter and async setting/unsetting.
5209 (acc_create): Adjust present_create_copy call.
5210 (acc_copyin): Likewise.
5211 (acc_present_or_create): Likewise.
5212 (acc_present_or_copyin): Likewise.
5213 (acc_create_async): New API function.
5214 (acc_copyin_async): New API function.
5215 (delete_copyout): Add async parameter and async setting/unsetting.
5216 (acc_delete): Adjust delete_copyout call.
5217 (acc_copyout): Likewise.
5218 (acc_delete_async): New API function.
5219 (acc_copyout_async): Likewise.
5220 (update_dev_host): Add async parameter and async setting/unsetting.
5221 (acc_update_device): Adjust update_dev_host call.
5222 (acc_update_self): Likewise.
5223 (acc_update_device_async): New API function.
5224 (acc_update_self_async): Likewise.
5225 * openacc.h (acc_copyin_async): Declare new API function.
5226 (acc_create_async): Likewise.
5227 (acc_copyout_async): Likewise.
5228 (acc_delete_async): Likewise.
5229 (acc_update_device_async): Likewise.
5230 (acc_update_self_async): Likewise.
5231 (acc_memcpy_to_device_async): Likewise.
5232 (acc_memcpy_from_device_async): Likewise.
5233 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
5234 (acc_copyin_async_64_h): New subroutine.
5235 (acc_copyin_async_array_h): New subroutine.
5236 (acc_create_async_32_h): New subroutine.
5237 (acc_create_async_64_h): New subroutine.
5238 (acc_create_async_array_h): New subroutine.
5239 (acc_copyout_async_32_h): New subroutine.
5240 (acc_copyout_async_64_h): New subroutine.
5241 (acc_copyout_async_array_h): New subroutine.
5242 (acc_delete_async_32_h): New subroutine.
5243 (acc_delete_async_64_h): New subroutine.
5244 (acc_delete_async_array_h): New subroutine.
5245 (acc_update_device_async_32_h): New subroutine.
5246 (acc_update_device_async_64_h): New subroutine.
5247 (acc_update_device_async_array_h): New subroutine.
5248 (acc_update_self_async_32_h): New subroutine.
5249 (acc_update_self_async_64_h): New subroutine.
5250 (acc_update_self_async_array_h): New subroutine.
5251 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
5252 (acc_copyin_async_64_h): New subroutine.
5253 (acc_copyin_async_array_h): New subroutine.
5254 (acc_create_async_32_h): New subroutine.
5255 (acc_create_async_64_h): New subroutine.
5256 (acc_create_async_array_h): New subroutine.
5257 (acc_copyout_async_32_h): New subroutine.
5258 (acc_copyout_async_64_h): New subroutine.
5259 (acc_copyout_async_array_h): New subroutine.
5260 (acc_delete_async_32_h): New subroutine.
5261 (acc_delete_async_64_h): New subroutine.
5262 (acc_delete_async_array_h): New subroutine.
5263 (acc_update_device_async_32_h): New subroutine.
5264 (acc_update_device_async_64_h): New subroutine.
5265 (acc_update_device_async_array_h): New subroutine.
5266 (acc_update_self_async_32_h): New subroutine.
5267 (acc_update_self_async_64_h): New subroutine.
5268 (acc_update_self_async_array_h): New subroutine.
5269 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
5270 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
5271 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
5272 acc_memcpy_to_device_async*, acc_update_device_async*, and
5273 acc_update_self_async* entries.
5274 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
5275 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
5276 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
5277
22e05272
JM
52782018-10-31 Joseph Myers <joseph@codesourcery.com>
5279
5280 PR bootstrap/82856
5281 * Makefile.am: Include multilib.am
5282 (AUTOMAKE_OPTIONS): Add info-in-builddir.
5283 (CLEANFILES): Remove libgomp.info.
5284 * configure.ac: Remove AC_PREREQ.
5285 * testsuite/Makefile.am (RUNTEST): Remove quotes.
5286 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
5287 Regenerate.
5288
87a5ccfb
JM
52892018-10-29 Joseph Myers <joseph@codesourcery.com>
5290 Julian Brown <julian@codesourcery.com>
5291
5292 * testsuite/libgomp.oacc-c++/this.C: New.
5293
2049befd
CP
52942018-09-18 Cesar Philippidis <cesar@codesourcery.com>
5295
5296 * plugin/plugin-nvptx.c (struct cuda_map): New.
5297 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
5298 h_tail with (cuda_map *) map.
5299 (cuda_map_create): New function.
5300 (cuda_map_destroy): New function.
5301 (map_init): Update to use a linked list of cuda_map objects.
5302 (map_fini): Likewise.
5303 (map_pop): Likewise.
5304 (map_push): Likewise. Return CUdeviceptr instead of void.
5305 (init_streams_for_device): Remove stales references to ptx_stream
5306 members.
5307 (select_stream_for_async): Likewise.
5308 (nvptx_exec): Update call to map_init.
5309
8e36332c
CP
53102018-09-09 Cesar Philippidis <cesar@codesourcery.com>
5311 Julian Brown <julian@codesourcery.com>
5312
5313 PR middle-end/86336
5314 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
5315
2b4c9065
NK
53162018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
5317 Thomas Koenig <tkoenig@gcc.gnu.org>
5318
5319 PR fortran/25829
5320 * testsuite/libgomp.fortran/async_io_1.f90: New test.
5321 * testsuite/libgomp.fortran/async_io_2.f90: New test.
5322 * testsuite/libgomp.fortran/async_io_3.f90: New test.
5323 * testsuite/libgomp.fortran/async_io_4.f90: New test.
5324 * testsuite/libgomp.fortran/async_io_5.f90: New test.
5325 * testsuite/libgomp.fortran/async_io_6.f90: New test.
5326 * testsuite/libgomp.fortran/async_io_7.f90: New test.
5327
bd9b3d3d
CP
53282018-08-13 Cesar Philippidis <cesar@codesourcery.com>
5329 Tom de Vries <tdevries@suse.de>
5330
5331 PR target/85590
5332 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
5333 (cuOccupancyMaxPotentialBlockSize): Declare.
5334 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
5335 CUDA_ONE_CALL_MAYBE_NULL.
5336 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
5337 CUoccupancyB2DSize and declare
5338 cuOccupancyMaxPotentialBlockSize.
5339 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
5340 default num_gangs and num_workers when the driver supports it.
5341
8e09a12f
TV
53422018-08-08 Tom de Vries <tdevries@suse.de>
5343
5344 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
5345 CUDA_ONE_CALL_MAYBE_NULL.
5346 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
5347 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
5348 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
5349 are not found.
5350
cedd9bd0
TV
53512018-08-08 Tom de Vries <tdevries@suse.de>
5352
5353 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
5354 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
5355 present.
5356
b113af95
TV
53572018-08-08 Tom de Vries <tdevries@suse.de>
5358
5359 * plugin/plugin-nvptx.c
5360 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
5361 (nvptx_open_device): Use
5362 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
5363
94767dac
TV
53642018-08-08 Tom de Vries <tdevries@suse.de>
5365
5366 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
5367 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
5368
02150de8
TV
53692018-08-07 Tom de Vries <tdevries@suse.de>
5370
5371 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
5372 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
5373 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
5374 corresponding call in CUDA_ONE_CALL. Add def/undef of
5375 CUDA_ONE_CALL_MAYBE_NULL.
5376 (CUDA_CALL_EXISTS): Define.
5377
9e28b107
TV
53782018-08-07 Tom de Vries <tdevries@suse.de>
5379
5380 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
5381 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
5382 corresponding undefs right after.
5383
09940090
TV
53842018-08-04 Tom de Vries <tdevries@suse.de>
5385
5386 * plugin/configfrag.ac: For --without-cuda-driver, set
5387 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
5388 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
5389 * configure: Regenerate.
5390
77e0a97a
TV
53912018-08-02 Tom de Vries <tdevries@suse.de>
5392
5393 PR target/86660
5394 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
5395 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
5396 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5397 Same.
5398 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
5399 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
5400 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
5401
701d080a
CP
54022018-08-01 Cesar Philippidis <cesar@codesourcery.com>
5403 Thomas Schwinge <thomas@codesourcery.com>
5404
5405 * config/nvptx/oacc-parallel.c: Truncate.
5406
094db6be
CP
54072018-08-01 Cesar Philippidis <cesar@codesourcery.com>
5408 James Norris <jnorris@codesourcery.com>
5409
5410 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
5411 (map_init, map_pop): Remove use of struct map.
5412 (map_push): Likewise and change argument list.
094db6be
CP
5413 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
5414
8c6310a2
TV
54152018-08-01 Tom de Vries <tdevries@suse.de>
5416
5417 * plugin/cuda-lib.def: New file. Factor out of ...
5418 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
5419 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
5420 using CUDA_CALLS.
5421
1d4a51cf
AV
54222018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
5423
5424 Revert 'AsyncI/O patch committed'.
5425 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
5426 Thomas Koenig <tkoenig@gcc.gnu.org>
5427
5428 PR fortran/25829
5429 * testsuite/libgomp.fortran/async_io_1.f90: New test.
5430 * testsuite/libgomp.fortran/async_io_2.f90: New test.
5431 * testsuite/libgomp.fortran/async_io_3.f90: New test.
5432 * testsuite/libgomp.fortran/async_io_4.f90: New test.
5433 * testsuite/libgomp.fortran/async_io_5.f90: New test.
5434 * testsuite/libgomp.fortran/async_io_6.f90: New test.
5435 * testsuite/libgomp.fortran/async_io_7.f90: New test.
5436
4cdfee3f
TV
54372018-07-30 Tom de Vries <tdevries@suse.de>
5438
5439 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
5440 (nvptx_exec): Ensure worker and vector default dims don't exceed
5441 targ_fn->max_threads_per_block.
5442
0b210c43
TV
54432018-07-30 Tom de Vries <tdevries@suse.de>
5444
5445 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
5446 (nvptx_open_device): Init default_dims for device.
5447 (nvptx_exec): Use default_dims from device.
5448
5883c5cc
JJ
54492018-07-26 Jakub Jelinek <jakub@redhat.com>
5450
5d36384c
JJ
5451 PR testsuite/86660
5452 * testsuite/libgomp.c++/for-15.C (results): Include it in
5453 omp declare target region.
5454 (main): Use map (always, tofrom: results) instead of
5455 map (tofrom: results).
5456
5883c5cc
JJ
5457 PR middle-end/86660
5458 * testsuite/libgomp.c/pr86660.c: New test.
5459
88a4654d
CP
54602018-07-26 Cesar Philippidis <cesar@codesourcery.com>
5461 Tom de Vries <tdevries@suse.de>
5462
5463 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
5464 sufficient resources to launch a kernel, and give a hint on how to fix
5465 it.
5466
0c6c2f5f
CP
54672018-07-26 Cesar Philippidis <cesar@codesourcery.com>
5468 Tom de Vries <tdevries@suse.de>
5469
5470 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
5471 max_threads_per_block and max_threads_per_multiprocessor fields.
5472 (nvptx_open_device): Initialize new fields.
5473 (nvptx_exec): Use num_sms, and new fields.
5474
6dd58010
TV
54752018-07-26 Tom de Vries <tdevries@suse.de>
5476
5477 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
5478 to correct locations. Remove xfail.
5479
b2eb1779
TV
54802018-07-26 Tom de Vries <tdevries@suse.de>
5481
5482 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
5483 acc_wait. Move acc_async_test calls to correct locations. Remove
5484 xfail.
5485
b1f45884
NK
54862018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
5487 Thomas Koenig <tkoenig@gcc.gnu.org>
5488
5489 PR fortran/25829
5490 * testsuite/libgomp.fortran/async_io_1.f90: New test.
5491 * testsuite/libgomp.fortran/async_io_2.f90: New test.
5492 * testsuite/libgomp.fortran/async_io_3.f90: New test.
5493 * testsuite/libgomp.fortran/async_io_4.f90: New test.
5494 * testsuite/libgomp.fortran/async_io_5.f90: New test.
5495 * testsuite/libgomp.fortran/async_io_6.f90: New test.
5496 * testsuite/libgomp.fortran/async_io_7.f90: New test.
5497
3a106211
JJ
54982018-07-17 Jakub Jelinek <jakub@redhat.com>
5499
a3bccfa1
JJ
5500 PR middle-end/86542
5501 * testsuite/libgomp.c++/pr86542.C: New test.
5502
3a106211
JJ
5503 PR middle-end/86539
5504 * testsuite/libgomp.c++/pr86539.C: New test.
5505
2bae8b2f
JJ
55062018-07-11 Jakub Jelinek <jakub@redhat.com>
5507
5508 PR c++/86443
5509 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
5510 (results): Make sure the variable is not inside declare target region.
5511 (qux): Remove unused function.
5512
0b27c3ed
JJ
55132018-07-10 Jakub Jelinek <jakub@redhat.com>
5514
5515 PR c++/86443
5516 * testsuite/libgomp.c++/for-15.C: New test.
5517
f0391511
JJ
55182018-06-26 Jakub Jelinek <jakub@redhat.com>
5519
5520 PR c++/86291
5521 * testsuite/libgomp.c++/pr86291.C: New test.
5522
1a6d1d24
GP
55232018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
5524
5525 * libgomp.texi (Top): Move www.openmp.org to https.
5526 (Enabling OpenMP): Ditto.
5527 (omp_get_active_level): Ditto.
5528 (omp_get_ancestor_thread_num): Ditto.
5529 (omp_get_cancellation): Ditto.
5530 (omp_get_default_device): Ditto.
5531 (omp_get_dynamic): Ditto.
5532 (omp_get_level): Ditto.
5533 (omp_get_max_active_levels): Ditto.
5534 (omp_get_max_task_priority): Ditto.
5535 (omp_get_max_threads): Ditto.
5536 (omp_get_nested): Ditto.
5537 (omp_get_num_devices): Ditto.
5538 (omp_get_num_procs): Ditto.
5539 (omp_get_num_teams): Ditto.
5540 (omp_get_num_threads): Ditto.
5541 (omp_get_proc_bind): Ditto.
5542 (omp_get_schedule): Ditto.
5543 (omp_get_team_num): Ditto.
5544 (omp_get_team_size): Ditto.
5545 (omp_get_thread_limit): Ditto.
5546 (omp_get_thread_num): Ditto.
5547 (omp_in_parallel): Ditto.
5548 (omp_in_final): Ditto.
5549 (omp_is_initial_device): Ditto.
5550 (omp_set_default_device): Ditto.
5551 (omp_set_dynamic): Ditto.
5552 (omp_set_max_active_levels): Ditto.
5553 (omp_set_nested): Ditto.
5554 (omp_set_num_threads): Ditto.
5555 (omp_set_schedule): Ditto.
5556 (omp_init_lock): Ditto.
5557 (omp_set_lock): Ditto.
5558 (omp_test_lock): Ditto.
5559 (omp_unset_lock): Ditto.
5560 (omp_destroy_lock): Ditto.
5561 (omp_init_nest_lock): Ditto.
5562 (omp_set_nest_lock): Ditto.
5563 (omp_test_nest_lock): Ditto.
5564 (omp_unset_nest_lock): Ditto.
5565 (omp_destroy_nest_lock): Ditto.
5566 (omp_get_wtick): Ditto.
5567 (omp_get_wtime): Ditto.
5568 (OMP_CANCELLATION): Ditto.
5569 (OMP_DISPLAY_ENV): Ditto.
5570 (OMP_DEFAULT_DEVICE): Ditto.
5571 (OMP_DYNAMIC): Ditto.
5572 (OMP_MAX_ACTIVE_LEVELS): Ditto.
5573 (OMP_MAX_TASK_PRIORITY): Ditto.
5574 (OMP_NESTED): Ditto.
5575 (OMP_NUM_THREADS): Ditto.
5576 (OMP_PROC_BIND): Ditto.
5577 (OMP_PLACES): Ditto.
5578 (OMP_STACKSIZE): Ditto.
5579 (OMP_SCHEDULE): Ditto.
5580 (OMP_THREAD_LIMIT): Ditto.
5581 (OMP_WAIT_POLICY): Ditto.
5582
31dd69b7
CP
55832018-06-22 Cesar Philippidis <cesar@codesourcery.com>
5584 James Norris <jnorris@codesourcery.com>
5585 Julian Brown <julian@codesourcery.com>
5586 Thomas Schwinge <thomas@codesourcery.com>
5587 Tom de Vries <tom@codesourcery.com>
5588
5589 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
5590 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
5591 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
5592 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
5593 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5594 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5595 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
5596 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5597 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
5599 Likewise.
5600 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5601 Likewise.
5602 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5603 Likewise.
5604 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
5605 Likewise.
5606 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
5607 Likewise.
5608 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5609 Likewise.
5610 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5611 Likewise.
5612 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5613 Likewise.
5614 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5615 Likewise.
5616 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5617 Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5619 Likewise.
5620 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5621 Likewise.
5622 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5623 Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5625 Likewise.
5626 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5627 Likewise.
5628 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5629 Likewise.
5630 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5631 Likewise.
5632 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5633 Likewise.
5634 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5635 Likewise.
5636 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5637 Likewise.
5638 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5639 Likewise.
5640 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5641 Likewise.
5642 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5643 Likewise.
5644 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5645 Likewise.
5646 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5647 Likewise.
5648 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5649 Likewise.
5650 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
5651 Likewise.
5652 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
5653 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
5654 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
5655 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
5656 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
5657 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5658 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5659 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
5660 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5661 Likewise.
5662 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5663 Likewise.
5664 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
5665 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
5666 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
5667 Likewise.
5668 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
5669 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
5670 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5671 Likewise.
5672 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5673 Likewise.
5674 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5675 Likewise.
5676 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5677 Likewise.
5678 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5679 Likewise.
5680 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5681 Likewise.
5682 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5683 Likewise.
5684 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5685 Likewise.
5686 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5687 Likewise.
5688 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5689 Likewise.
5690 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5691 Likewise.
5692 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5693 Likewise.
5694 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5695 Likewise.
5696 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5697 Likewise.
5698 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
5699 Likewise.
5700 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5701 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
5702 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5703 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
5704 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
5705 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
5706 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
5707
829c6349
CLT
57082018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
5709 Thomas Schwinge <thomas@codesourcery.com>
5710 Cesar Philippidis <cesar@codesourcery.com>
5711
5712 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
5713 (gomp_acc_remove_pointer): Update declaration.
5714 (gomp_acc_declare_allocate): Declare.
5715 (gomp_remove_var): Declare.
5716 * libgomp.map (OACC_2.5): Define.
5717 * oacc-mem.c (acc_map_data): Update refcount.
5718 (acc_unmap_data): Likewise.
5719 (present_create_copy): Likewise.
5720 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
5721 (acc_copyin): Likewise.
5722 (FLAG_FINALIZE): Define.
5723 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
5724 (acc_delete_finalize): New function.
5725 (acc_delete_finalize_async): New function.
5726 (acc_copyout_finalize): New function.
5727 (acc_copyout_finalize_async): New function.
5728 (gomp_acc_insert_pointer): Update refcounts.
5729 (gomp_acc_remove_pointer): Return if data is not present on the
5730 accelerator.
5731 * oacc-parallel.c (find_pset): Rename to find_pointer.
5732 (find_pointer): Add support for GOMP_MAP_POINTER.
5733 (handle_ftn_pointers): New function.
5734 (GOACC_parallel_keyed): Update refcounts of variables.
5735 (GOACC_enter_exit_data): Add support for finalized data mappings.
5736 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
5737 of fortran arrays.
5738 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
5739 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
5740 for GOMP_MAP_FORCE_FROM.
5741 * openacc.f90 (module openacc_internal): Add
5742 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
5743 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
5744 acc_copyout_finalize and acc_delete_finalize.
5745 (acc_copyout_finalize_32_h): New subroutine.
5746 (acc_copyout_finalize_64_h): New subroutine.
5747 (acc_copyout_finalize_array_h): New subroutine.
5748 (acc_delete_finalize_32_h): New subroutine.
5749 (acc_delete_finalize_64_h): New subroutine.
5750 (acc_delete_finalize_array_h): New subroutine.
5751 * openacc.h (acc_copyout_finalize): Declare.
5752 (acc_copyout_finalize_async): Declare.
5753 (acc_delete_finalize): Declare.
5754 (acc_delete_finalize_async): Declare.
5755 * openacc_lib.h (acc_copyout_finalize): New interface.
5756 (acc_delete_finalize): New interface.
5757 * target.c (gomp_map_vars): Update dynamic_refcount.
5758 (gomp_remove_var): New function.
5759 (gomp_unmap_vars): Use it.
5760 (gomp_unload_image_from_device): Likewise.
5761 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
5762 case to utilize OpenACC 2.5 data clause semantics.
5763 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5764 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5765 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5766 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5767 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5768 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5769 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5770 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5771 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5772 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
5773 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5774 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
5775 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
5776 utilize OpenACC 2.5 data clause semantics.
5777 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5778 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5779 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5780 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5781 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5782 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5783 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5784 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5785 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5786
4358400b
JW
57872018-05-21 Janus Weil <janus@gcc.gnu.org>
5788
5789 PR fortran/85841
5790 PR testsuite/85865
5791 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
5792 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5793 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5794 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5795 * testsuite/libgomp.fortran/task2.f90: Ditto.
5796 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5797 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5798 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5799 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5800 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5801 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5802 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5803 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
5804 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
5805
950ad0ba
CP
58062018-05-18 Cesar Philippidis <cesar@codesourcery.com>
5807
5808 PR c++/85782
5809 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
5810
f5ad16f1
TV
58112018-05-09 Tom de Vries <tom@codesourcery.com>
5812
5813 PR libgomp/82901
5814 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
5815 to GOACC_enter_exit_data.
5816
edbd038a
TV
58172018-05-09 Tom de Vries <tom@codesourcery.com>
5818
5819 PR libgomp/83792
5820 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
5821 (async_synchronous_p): New function.
5822 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
5823 async_valid_p.
5824 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5825 async_valid_stream_id_p.
5826 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
5827 * oacc-parallel.c (GOACC_parallel_keyed): Same.
5828
37d6c719
TV
58292018-05-07 Tom de Vries <tom@codesourcery.com>
5830
5831 PR testsuite/85677
5832 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
5833 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
5834
63f12215
TV
58352018-05-03 Tom de Vries <tom@codesourcery.com>
5836
5837 PR testsuite/85106
5838 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
5839 extra_tool_flags if it contains an -foffload=-fdump-* flag.
5840 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
5841 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
5842
ec00d3fa
TV
58432018-05-02 Tom de Vries <tom@codesourcery.com>
5844
5845 PR libgomp/85411
5846 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
5847 GOMP_OPENACC_DIM ...
5848 * env.c (parse_gomp_openacc_dim): ... here. New function.
5849 (initialize_env): Call parse_gomp_openacc_dim.
5850 (goacc_default_dims): Define.
5851 * libgomp.h (goacc_default_dims): Declare.
5852 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
5853 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
5854 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
5855 GOMP_PLUGIN_acc_default_dim.
5856 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
5857 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
5858
92243e7c
TV
58592018-05-02 Tom de Vries <tom@codesourcery.com>
5860
5861 PR testsuite/83791
5862 * testsuite/libgomp.c++/udr-9.C: Update.
5863 * testsuite/libgomp.c++/atomic-16.C: Remove.
5864 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
5865 * testsuite/libgomp.c++/loop-13.C: Remove.
5866 * testsuite/libgomp.c++/loop-14.C: Remove.
5867 * testsuite/libgomp.c++/loop-15.C: Remove.
5868 * testsuite/libgomp.c++/monotonic-1.C: Remove.
5869 * testsuite/libgomp.c++/monotonic-2.C: Remove.
5870 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
5871 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
5872 * testsuite/libgomp.c++/ordered-1.C: Remove.
5873 * testsuite/libgomp.c++/pr45784.C: Remove.
5874 * testsuite/libgomp.c++/pr64824.C: Remove.
5875 * testsuite/libgomp.c++/pr64868.C: Remove.
5876 * testsuite/libgomp.c++/pr66199-1.C: Remove.
5877 * testsuite/libgomp.c++/pr66199-2.C: Remove.
5878 * testsuite/libgomp.c++/pr66199-3.C: Remove.
5879 * testsuite/libgomp.c++/pr66199-4.C: Remove.
5880 * testsuite/libgomp.c++/pr66199-5.C: Remove.
5881 * testsuite/libgomp.c++/pr66199-6.C: Remove.
5882 * testsuite/libgomp.c++/pr66199-7.C: Remove.
5883 * testsuite/libgomp.c++/pr66199-8.C: Remove.
5884 * testsuite/libgomp.c++/pr66199-9.C: Remove.
5885 * testsuite/libgomp.c++/pr69389.C: Remove.
5886 * testsuite/libgomp.c++/simd10.C: Remove.
5887 * testsuite/libgomp.c++/simd11.C: Remove.
5888 * testsuite/libgomp.c++/simd12.C: Remove.
5889 * testsuite/libgomp.c++/simd13.C: Remove.
5890 * testsuite/libgomp.c++/target-1.C: Remove.
5891 * testsuite/libgomp.c++/target-3.C: Remove.
5892 * testsuite/libgomp.c++/target-4.C: Remove.
5893 * testsuite/libgomp.c++/target-5.C: Remove.
5894 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
5895 * testsuite/libgomp.c++/taskloop-1.C: Remove.
5896 * testsuite/libgomp.c++/taskloop-2.C: Remove.
5897 * testsuite/libgomp.c++/taskloop-3.C: Remove.
5898 * testsuite/libgomp.c++/taskloop-4.C: Remove.
5899 * testsuite/libgomp.c++/udr-9.C: Remove.
5900 * testsuite/libgomp.c++/for-10.C: Remove.
5901 * testsuite/libgomp.c++/for-11.C: Remove.
5902 * testsuite/libgomp.c++/for-12.C: Remove.
5903 * testsuite/libgomp.c++/for-13.C: Remove.
5904 * testsuite/libgomp.c++/for-14.C: Remove.
5905 * testsuite/libgomp.c++/for-9.C: Remove.
5906 * testsuite/libgomp.c/atomic-18.c: Move ...
5907 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
5908 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
5909 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
5910 * testsuite/libgomp.c/loop-13.c: Move ...
5911 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
5912 * testsuite/libgomp.c/loop-14.c: Move ...
5913 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
5914 * testsuite/libgomp.c/loop-15.c: Remove.
5915 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
5916 * testsuite/libgomp.c/monotonic-1.c: Move ...
5917 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
5918 * testsuite/libgomp.c/monotonic-2.c: Move ...
5919 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
5920 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
5921 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
5922 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
5923 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
5924 * testsuite/libgomp.c/ordered-4.c: Move ...
5925 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
5926 * testsuite/libgomp.c/pr45784.c: Move ...
5927 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
5928 * testsuite/libgomp.c/pr64824.c: Move ...
5929 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
5930 * testsuite/libgomp.c/pr64868.c: Move ...
5931 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
5932 * testsuite/libgomp.c/pr66199-1.c: Move ...
5933 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
5934 * testsuite/libgomp.c/pr66199-2.c: Move ...
5935 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
5936 * testsuite/libgomp.c/pr66199-3.c: Move ...
5937 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
5938 * testsuite/libgomp.c/pr66199-4.c: Move ...
5939 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
5940 * testsuite/libgomp.c/pr66199-5.c: Move ...
5941 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
5942 * testsuite/libgomp.c/pr66199-6.c: Move ...
5943 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
5944 * testsuite/libgomp.c/pr66199-7.c: Move ...
5945 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
5946 * testsuite/libgomp.c/pr66199-8.c: Move ...
5947 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
5948 * testsuite/libgomp.c/pr66199-9.c: Move ...
5949 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
5950 * testsuite/libgomp.c/pr69389.c: Move ...
5951 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
5952 * testsuite/libgomp.c/simd-14.c: Move ...
5953 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
5954 * testsuite/libgomp.c/simd-15.c: Move ...
5955 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
5956 * testsuite/libgomp.c/simd-16.c: Move ...
5957 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
5958 * testsuite/libgomp.c/simd-17.c: Move ...
5959 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
5960 * testsuite/libgomp.c/target-1.c: Move ...
5961 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
5962 * testsuite/libgomp.c/target-10.c: Move ...
5963 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
5964 * testsuite/libgomp.c/target-13.c: Move ...
5965 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
5966 * testsuite/libgomp.c/target-2.c: Move ...
5967 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
5968 * testsuite/libgomp.c/taskgroup-1.c: Move ...
5969 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
5970 * testsuite/libgomp.c/taskloop-1.c: Move ...
5971 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
5972 * testsuite/libgomp.c/taskloop-2.c: Move ...
5973 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
5974 * testsuite/libgomp.c/taskloop-3.c: Move ...
5975 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
5976 * testsuite/libgomp.c/taskloop-4.c: Move ...
5977 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
5978 * testsuite/libgomp.c/udr-1.c: Move ...
5979 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
5980 * testsuite/libgomp.c/for-1.c: Move ...
5981 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
5982 * testsuite/libgomp.c/for-1.h: Move ...
5983 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
5984 * testsuite/libgomp.c/for-2.c: Move ...
5985 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
5986 * testsuite/libgomp.c/for-2.h: Move ...
5987 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
5988 * testsuite/libgomp.c/for-3.c: Move ...
5989 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
5990 * testsuite/libgomp.c/for-4.c: Move ...
5991 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
5992 * testsuite/libgomp.c/for-5.c: Move ...
5993 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
5994 * testsuite/libgomp.c/for-6.c: Move ...
5995 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
5996
1f62d637
TV
59972018-05-02 Tom de Vries <tom@codesourcery.com>
5998
5999 PR libgomp/82428
6000 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
6001 __builtin_goacc_parlevel_{id,size}.
6002 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
6003 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
6004 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
6005 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
6006 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
6007 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
6008 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
6009 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
6010 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
6011 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
6012 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
6013 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
6014 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
6015 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
6016 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
6017 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
6018 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
6019 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
6020 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
6021 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
6022 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
6023 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
6024 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
6025
9220b511
TV
60262018-05-02 Tom de Vries <tom@codesourcery.com>
6027
6028 PR testsuite/85106
6029 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
6030
6c3c13c1
TV
60312018-05-02 Tom de Vries <tom@codesourcery.com>
6032
6033 PR testsuite/85106
6034 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
6035
8d70b61e
JB
60362018-04-29 Julian Brown <julian@codesourcery.com>
6037 Tom de Vries <tom@codesourcery.com>
6038
6039 PR testsuite/85527
6040 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
6041 arbitrary order for iterations of atomic subtract check.
6042
4a57a4b6
TV
60432018-04-28 Tom de Vries <tom@codesourcery.com>
6044
6045 PR testsuite/85527
6046 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
6047 atomic capture results obtained in parallel loop to an array, instead of
6048 to a scalar.
6049
df36a3d3
TV
60502018-04-26 Tom de Vries <tom@codesourcery.com>
6051
6052 PR libgomp/84020
6053 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
6054 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
6055 (process_GOMP_NVPTX_JIT): New function.
6056 (link_ptx): Use process_GOMP_NVPTX_JIT.
6057
d160ae78
RB
60582018-04-26 Richard Biener <rguenther@suse.de>
6059 Tom de Vries <tom@codesourcery.com>
6060
6061 PR lto/85422
6062 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
6063
ca9dc642
TV
60642018-04-26 Tom de Vries <tom@codesourcery.com>
6065
6066 PR target/85519
6067 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
6068 recursion depth from 25 to 23.
6069 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
6070
7b47ecf2
L
60712018-04-24 H.J. Lu <hongjiu.lu@intel.com>
6072
6073 * configure: Regenerated.
6074
e91eba31
NS
60752018-04-20 Nathan Sidwell <nathan@codesourcery.com>
6076 Tom de Vries <tom@codesourcery.com>
6077
6078 PR target/85445
6079 * testsuite/libgomp.oacc-c++/ref-1.C: New.
6080
6e0d40b6
TS
60812018-04-19 Thomas Schwinge <thomas@codesourcery.com>
6082
6083 PR libgomp/85463
6084 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
6085 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
6086 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
6087 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
6088 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
6089 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
6090
6091 PR libfortran/85166
6092 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
6093 abort".
6094 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6095
a0e1df88
JJ
60962018-04-19 Jakub Jelinek <jakub@redhat.com>
6097
6098 * configure: Regenerated.
6099
001ddaa8
DM
61002018-04-18 David Malcolm <dmalcolm@redhat.com>
6101
6102 PR jit/85384
6103 * configure: Regenerate.
6104
05e0af43
CP
61052018-04-16 Cesar Philippidis <cesar@codesourcery.com>
6106 Tom de Vries <tom@codesourcery.com>
6107
6108 PR middle-end/84955
6109 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
6110 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
6111
bc436e10
TK
61122018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6113
6114 PR fortran/83064
6115 PR testsuite/85346
6116 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
6117 test from gfortran.dg to here.
6118
ffb164c7
JJ
61192018-04-12 Cesar Philippidis <cesar@codesourcery.com>
6120
6121 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
6122 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
6123
61242018-04-12 Cesar Philippidis <cesar@codesourcery.com>
6125
6126 PR middle-end/84955
6127 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
6128 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
6129
2ba16fd2
TV
61302018-04-05 Tom de Vries <tom@codesourcery.com>
6131
6132 PR target/85204
6133 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
6134
46dbeb40
TV
61352018-03-26 Tom de Vries <tom@codesourcery.com>
6136
6137 PR tree-optimization/85063
6138 * testsuite/libgomp.c/switch-conversion-2.c: New test.
6139 * testsuite/libgomp.c/switch-conversion.c: New test.
6140 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
6141 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
6142
bfc24e32
TK
61432018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
6144
6145 PR fortran/84381
6146 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
6147 call abort by STOP n.
6148 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
6149 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
6150 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
6151 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
6152 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
6153 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
6154 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
6155 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
6156 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
6157 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
6158 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
6159 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
6160 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
6161 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
6162 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
6163 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
6164 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
6165 * testsuite/libgomp.fortran/associate1.f90: Likewise.
6166 * testsuite/libgomp.fortran/associate2.f90: Likewise.
6167 * testsuite/libgomp.fortran/associate3.f90: Likewise.
6168 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
6169 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
6170 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
6171 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
6172 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
6173 * testsuite/libgomp.fortran/character1.f90: Likewise.
6174 * testsuite/libgomp.fortran/character2.f90: Likewise.
6175 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
6176 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
6177 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
6178 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
6179 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
6180 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
6181 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
6182 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
6183 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
6184 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
6185 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
6186 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
6187 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
6188 * testsuite/libgomp.fortran/do1.f90: Likewise.
6189 * testsuite/libgomp.fortran/do2.f90: Likewise.
6190 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
6191 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
6192 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
6193 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
6194 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
6195 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
6196 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6197 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
6198 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
6199 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
6200 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
6201 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
6202 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6203 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
6204 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
6205 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
6206 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
6207 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
6208 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
6209 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
6210 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
6211 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
6212 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
6213 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
6214 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
6215 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
6216 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
6217 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6218 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
6219 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
6220 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
6221 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
6222 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
6223 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6224 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6225 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
6226 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
6227 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
6228 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
6229 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
6230 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
6231 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
6232 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
6233 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
6234 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6235 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
6236 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
6237 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
6238 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
6239 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6240 * testsuite/libgomp.fortran/lib2.f: Likewise.
6241 * testsuite/libgomp.fortran/lib3.f: Likewise.
6242 * testsuite/libgomp.fortran/lib4.f90: Likewise.
6243 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
6244 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
6245 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6246 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
6247 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
6248 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
6249 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
6250 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
6251 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
6252 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
6253 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
6254 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
6255 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
6256 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
6257 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
6258 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
6259 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
6260 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
6261 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
6262 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
6263 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
6264 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
6265 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6266 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
6267 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
6268 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
6269 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
6270 * testsuite/libgomp.fortran/pr25162.f: Likewise.
6271 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
6272 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
6273 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
6274 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
6275 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
6276 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
6277 * testsuite/libgomp.fortran/pr28390.f: Likewise.
6278 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
6279 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
6280 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
6281 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
6282 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
6283 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
6284 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
6285 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
6286 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
6287 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
6288 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
6289 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
6290 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
6291 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
6292 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
6293 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
6294 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
6295 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
6296 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
6297 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
6298 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
6299 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
6300 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
6301 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
6302 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
6303 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
6304 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
6305 * testsuite/libgomp.fortran/reference1.f90: Likewise.
6306 * testsuite/libgomp.fortran/reference2.f90: Likewise.
6307 * testsuite/libgomp.fortran/retval1.f90: Likewise.
6308 * testsuite/libgomp.fortran/retval2.f90: Likewise.
6309 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
6310 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
6311 * testsuite/libgomp.fortran/simd1.f90: Likewise.
6312 * testsuite/libgomp.fortran/simd2.f90: Likewise.
6313 * testsuite/libgomp.fortran/simd3.f90: Likewise.
6314 * testsuite/libgomp.fortran/simd4.f90: Likewise.
6315 * testsuite/libgomp.fortran/simd5.f90: Likewise.
6316 * testsuite/libgomp.fortran/simd6.f90: Likewise.
6317 * testsuite/libgomp.fortran/simd7.f90: Likewise.
6318 * testsuite/libgomp.fortran/stack.f90: Likewise.
6319 * testsuite/libgomp.fortran/strassen.f90: Likewise.
6320 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
6321 * testsuite/libgomp.fortran/tabs2.f: Likewise.
6322 * testsuite/libgomp.fortran/target1.f90: Likewise.
6323 * testsuite/libgomp.fortran/target2.f90: Likewise.
6324 * testsuite/libgomp.fortran/target3.f90: Likewise.
6325 * testsuite/libgomp.fortran/target4.f90: Likewise.
6326 * testsuite/libgomp.fortran/target5.f90: Likewise.
6327 * testsuite/libgomp.fortran/target6.f90: Likewise.
6328 * testsuite/libgomp.fortran/target7.f90: Likewise.
6329 * testsuite/libgomp.fortran/target8.f90: Likewise.
6330 * testsuite/libgomp.fortran/task1.f90: Likewise.
6331 * testsuite/libgomp.fortran/task2.f90: Likewise.
6332 * testsuite/libgomp.fortran/task3.f90: Likewise.
6333 * testsuite/libgomp.fortran/task4.f90: Likewise.
6334 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
6335 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
6336 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
6337 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
6338 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
6339 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
6340 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
6341 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
6342 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
6343 * testsuite/libgomp.fortran/udr1.f90: Likewise.
6344 * testsuite/libgomp.fortran/udr10.f90: Likewise.
6345 * testsuite/libgomp.fortran/udr11.f90: Likewise.
6346 * testsuite/libgomp.fortran/udr12.f90: Likewise.
6347 * testsuite/libgomp.fortran/udr13.f90: Likewise.
6348 * testsuite/libgomp.fortran/udr14.f90: Likewise.
6349 * testsuite/libgomp.fortran/udr15.f90: Likewise.
6350 * testsuite/libgomp.fortran/udr2.f90: Likewise.
6351 * testsuite/libgomp.fortran/udr3.f90: Likewise.
6352 * testsuite/libgomp.fortran/udr4.f90: Likewise.
6353 * testsuite/libgomp.fortran/udr5.f90: Likewise.
6354 * testsuite/libgomp.fortran/udr6.f90: Likewise.
6355 * testsuite/libgomp.fortran/udr7.f90: Likewise.
6356 * testsuite/libgomp.fortran/udr8.f90: Likewise.
6357 * testsuite/libgomp.fortran/udr9.f90: Likewise.
6358 * testsuite/libgomp.fortran/vla1.f90: Likewise.
6359 * testsuite/libgomp.fortran/vla2.f90: Likewise.
6360 * testsuite/libgomp.fortran/vla3.f90: Likewise.
6361 * testsuite/libgomp.fortran/vla4.f90: Likewise.
6362 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6363 * testsuite/libgomp.fortran/vla6.f90: Likewise.
6364 * testsuite/libgomp.fortran/vla7.f90: Likewise.
6365 * testsuite/libgomp.fortran/vla8.f90: Likewise.
6366 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
6367 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
6368 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6369 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6370 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6371 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6372 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6373 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6374 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6375 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6376 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6377 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
6378 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6379 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
6380 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6381 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6382 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6383 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6384 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6385 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6386 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6387 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6388 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6389 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
6390 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
6391 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6392 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6393 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6394 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6395 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6396 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6397 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6398 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6399 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6400 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6401 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6402 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6403 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6404 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
6405 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6406 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
6407 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
6408 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
6409 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
6410 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
6411 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
6412 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6413 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6414 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6415 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6416 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6417 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6418 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
6419 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6420 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6421 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6422 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6423 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6424 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6425 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6426 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
6427 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
6428 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
6429 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
6430 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6431 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6432 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6433 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6434 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6435 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6436 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
6437 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
6438 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
6439 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6440 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6441 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6442 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6443 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6444 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6445 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6446 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6447 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6448 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6449 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
6450 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6451 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6452 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6453 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6454 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
6455 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6456 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
6457 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6458 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6459 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
6460
79cf14ae
RB
64612018-03-20 Richard Biener <rguenther@suse.de>
6462
6463 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
6464 parallelizable loop.
6465
14e335ed
IT
64662018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
6467
6468 PR target/84148
6469 * configure: Regenerate.
6470
83d9be55
JJ
64712018-02-16 Jakub Jelinek <jakub@redhat.com>
6472
6473 PR fortran/84418
6474 * libgomp.fortran/pr84418-1.f90: New test.
6475 * libgomp.fortran/pr84418-2.f90: New test.
6476
d1fe6124
JJ
64772018-02-14 Jakub Jelinek <jakub@redhat.com>
6478
6479 PR fortran/84313
6480 * testsuite/libgomp.fortran/threadprivate4.f90: Add
6481 -std=f2003 -fall-intrinsics into dg-additional-options.
6482
3d224921
MJ
64832018-02-08 Martin Jambor <mjambor@suse.cz>
6484
6485 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
6486 clonable.
6487
c7c30edd
MJ
64882018-02-08 Martin Jambor <mjambor@suse.cz>
6489
6490 * testsuite/libgomp.hsa.c/staticvar.c: New test.
6491
f320fdfd
RO
64922018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6493
6494 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
6495 [__cplusplus]: Declare extern "C".
6496
c31bc4ac
TV
64972018-02-07 Tom de Vries <tom@codesourcery.com>
6498
6499 PR libgomp/84217
6500 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
6501
99ae7ce5
CS
65022018-01-29 Christoph Spiel <cspiel@freenet.de>
6503 Jakub Jelinek <jakub@redhat.com>
6504
6505 PR libgomp/84096
6506 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
6507 instead of omp_lock_t.
6508
e77a1236
TV
65092018-01-25 Tom de Vries <tom@codesourcery.com>
6510
6511 PR target/84028
6512 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
6513
3dede32b
TV
65142018-01-24 Tom de Vries <tom@codesourcery.com>
6515
6516 PR target/83589
6517 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
6518
be606483
TV
65192018-01-24 Tom de Vries <tom@codesourcery.com>
6520
6521 PR target/81352
6522 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
6523
8c8e9a6b
TV
65242018-01-19 Tom de Vries <tom@codesourcery.com>
6525 Cesar Philippidis <cesar@codesourcery.com>
6526
6527 PR target/83920
6528 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
6529 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
6530
65e6aea3
JJ
65312018-01-03 Jakub Jelinek <jakub@redhat.com>
6532
85ec4feb
JJ
6533 Update copyright years.
6534
65e6aea3
JJ
6535 * libgomp.texi: Bump @copying's copyright year.
6536
60bf575c
TV
65372017-12-30 Tom de Vries <tom@codesourcery.com>
6538
6539 PR libgomp/83046
6540 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
6541 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
6542
7ec16b79
TV
65432017-12-27 Tom de Vries <tom@codesourcery.com>
6544
6545 PR c++/83046
6546 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
6547 (test_nonstatic): Fix return type to workaround PR83046.
6548
ac550b9a
JJ
65492017-12-05 Jakub Jelinek <jakub@redhat.com>
6550
6551 PR testsuite/83281
6552 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
6553 j suffix instead of i.
6554 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
6555 Likewise.
6556
ebdc83f0
CP
65572017-12-01 Cesar Philippidis <cesar@codesourcery.com>
6558
6559 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
6560 call to acc_wait (1).
6561
3b3e6283
JJ
65622017-11-24 Jakub Jelinek <jakub@redhat.com>
6563
6564 PR fortran/81304
6565 * testsuite/libgomp.fortran/pr81304.f90: New test.
6566
3b575376
JJ
65672017-11-23 Jakub Jelinek <jakub@redhat.com>
6568
6569 PR fortran/81841
6570 * libgomp.fortran/pr81841.f90: New test.
6571
b13547d8
JJ
65722017-11-22 Jakub Jelinek <jakub@redhat.com>
6573
6574 PR libgomp/83106
6575 * target.c (gomp_target_init): Compute lengths just once and
6576 use them in both malloc size and subsequent copying.
6577
efe33ced
IT
65782017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
6579
6580 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
6581 * acinclude.m4: Add cet.m4.
6582 * configure: Regenerate.
6583 * Makefile.in: Likewise.
6584 * testsuite/Makefile.in: Likewise.
6585
a7cf2612
TV
65862017-11-15 Tom de Vries <tom@codesourcery.com>
6587
6588 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
6589 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
6590 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
6591 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
6592 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
6593 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
6594
dde76623
TV
65952017-11-14 Tom de Vries <tom@codesourcery.com>
6596
6597 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
6598 non-nvidia devices.
6599
4dbeb716
JJ
66002017-11-07 Jakub Jelinek <jakub@redhat.com>
6601
6602 PR c++/82835
6603 * testsuite/libgomp.c++/pr82835.C: New test.
6604
454f8b2b
ML
66052017-11-06 Martin Liska <mliska@suse.cz>
6606
6607 * testsuite/libgomp.c++/loop-2.C: Return a value
6608 for functions with non-void return type, or change type to void,
6609 or add -Wno-return-type for test.
6610 * testsuite/libgomp.c++/loop-4.C: Likewise.
6611 * testsuite/libgomp.c++/parallel-1.C: Likewise.
6612 * testsuite/libgomp.c++/shared-1.C: Likewise.
6613 * testsuite/libgomp.c++/single-1.C: Likewise.
6614 * testsuite/libgomp.c++/single-2.C: Likewise.
6615
12e9c8ce
TV
66162017-10-31 Tom de Vries <tom@codesourcery.com>
6617
6618 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
6619 "do {} while (false)".
6620 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
6621 after HSA_DEBUG call.
6622
7324369a
JJ
66232017-10-28 Jakub Jelinek <jakub@redhat.com>
6624
6625 * target.c (struct gomp_coalesce_buf): New type.
6626 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
6627 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
6628 (gomp_copy_host2dev): Add CBUF argument, if copying into
6629 the cached ranges, memcpy into buffer instead of copying
6630 into device.
6631 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
6632 Add CBUF argument, pass it through to other calls.
6633 (gomp_map_vars): Aggregate copies from host to device if small enough
6634 and with small enough gaps in between into memcpy into a buffer and
6635 fewer host to device copies from the buffer.
6636 (gomp_update): Adjust gomp_copy_host2dev caller.
6637
933ab0e6
TS
66382017-10-17 Thomas Schwinge <thomas@codesourcery.com>
6639
6640 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
6641 run" directive.
6642 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6643 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6644 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6645 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6646
92d5d01a
TV
66472017-10-16 Tom de Vries <tom@codesourcery.com>
6648
6649 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
6650 openacc_nvidia_accel_selected.
6651 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
6652 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
6653 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
6654 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
6655 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
6656 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
6657 openacc_nvidia_accel_selected. Skip for shared memory device.
6658 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
6659 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
6660
191411e4
MJ
66612017-10-09 Martin Jambor <mjambor@suse.cz>
6662
6663 PR hsa/82416
6664 * testsuite/libgomp.hsa.c/pr82416.c: New test.
6665
e923330e
TV
66662017-10-07 Tom de Vries <tom@codesourcery.com>
6667
6668 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
6669 Remove acc_device_nvidia references.
6670 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
6671 Same.
6672
8fe3ed4c
TV
66732017-10-05 Tom de Vries <tom@codesourcery.com>
6674
6675 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
6676 vector_length(32) clause from acc parallel directive.
6677 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
6678
26596ee5
TV
66792017-10-04 Tom de Vries <tom@codesourcery.com>
6680
6681 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
6682 (main): Reduce sum of arr elements. Assert that hres is exactly
6683 representable in 32-bit floating point.
6684 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
6685 (main): Reduce sum of arr elements. Assert that hres and hmres are
6686 exactly representable in 32-bit floating point.
6687 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
6688
5c561fa9
TV
66892017-09-28 Tom de Vries <tom@codesourcery.com>
6690
6691 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
6692 setting.
6693 * testsuite/libgomp.c++/pr69393.C: Same.
6694 * testsuite/libgomp.c++/taskloop-1.C: Same.
6695 * testsuite/libgomp.c++/taskloop-3.C: Same.
6696 * testsuite/libgomp.c++/taskloop-4.C: Same.
6697 * testsuite/libgomp.c/for-4.c: Same.
6698 * testsuite/libgomp.c/pr66199-3.c: Same.
6699 * testsuite/libgomp.c/pr66199-4.c: Same.
6700 * testsuite/libgomp.c/pr66199-6.c: Same.
6701 * testsuite/libgomp.c/taskloop-1.c: Same.
6702 * testsuite/libgomp.c/taskloop-3.c: Same.
6703 * testsuite/libgomp.c/taskloop-4.c: Same.
6704 * testsuite/libgomp.fortran/aligned1.f03: Same.
6705 * testsuite/libgomp.fortran/condinc1.f: Same.
6706 * testsuite/libgomp.fortran/condinc3.f90: Same.
6707 * testsuite/libgomp.fortran/crayptr1.f90: Same.
6708 * testsuite/libgomp.fortran/crayptr2.f90: Same.
6709 * testsuite/libgomp.fortran/crayptr3.f90: Same.
6710 * testsuite/libgomp.fortran/omp_cond1.f: Same.
6711 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
6712 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
6713 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
6714 * testsuite/libgomp.fortran/recursion1.f90: Same.
6715 * testsuite/libgomp.fortran/target2.f90: Same.
6716 * testsuite/libgomp.fortran/target5.f90: Same.
6717 * testsuite/libgomp.fortran/task3.f90: Same.
6718
7d6206fe
TV
67192017-09-28 Tom de Vries <tom@codesourcery.com>
6720
6721 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
6722 vector_length(32) clause from acc parallel directive.
6723 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
6724
84c8627c
TV
67252017-09-27 Tom de Vries <tom@codesourcery.com>
6726
6727 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
6728 Remove acc_device_nvidia references.
6729
ebc6a85e
TV
67302017-09-16 Tom de Vries <tom@codesourcery.com>
6731
6732 PR c/81875
6733 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
6734
82419efb
TV
67352017-09-14 Tom de Vries <tom@codesourcery.com>
6736
6737 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
6738 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
6739 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
6740 * testsuite/libgomp.c/c.exp: Include test-cases from
6741 libgomp.c-c++-common.
6742 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
6743 files.
6744
8b586510
JJ
67452017-09-14 Jakub Jelinek <jakub@redhat.com>
6746
6747 PR c++/81314
6748 * testsuite/libgomp.c++/pr81314.C: New test.
6749
9651fbaf
GP
67502017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
6751
6752 * libgomp.texi (Top): www.openacc.org now uses https.
6753 (Enabling OpenACC): Ditto.
6754 (acc_get_num_devices): Ditto.
6755 (acc_set_device_type): Ditto.
6756 (acc_get_device_type): Ditto.
6757 (acc_set_device_num): Ditto.
6758 (acc_get_device_num): Ditto.
6759 (acc_async_test): Ditto.
6760 (acc_async_test_all): Ditto.
6761 (acc_wait): Ditto.
6762 (acc_wait_all): Ditto.
6763 (acc_wait_all_async): Ditto.
6764 (acc_wait_async): Ditto.
6765 (acc_init): Ditto.
6766 (acc_shutdown): Ditto.
6767 (acc_on_device): Ditto.
6768 (acc_malloc): Ditto.
6769 (acc_free): Ditto.
6770 (acc_copyin): Ditto.
6771 (acc_present_or_copyin): Ditto.
6772 (acc_create): Ditto.
6773 (acc_present_or_create): Ditto.
6774 (acc_copyout): Ditto.
6775 (acc_delete): Ditto.
6776 (acc_update_device): Ditto.
6777 (acc_update_self): Ditto.
6778 (acc_map_data): Ditto.
6779 (acc_unmap_data): Ditto.
6780 (acc_deviceptr): Ditto.
6781 (acc_hostptr): Ditto.
6782 (acc_is_present): Ditto.
6783 (acc_memcpy_to_device): Ditto.
6784 (acc_memcpy_from_device): Ditto.
6785 (acc_get_current_cuda_device): Ditto.
6786 (acc_get_current_cuda_context): Ditto.
6787 (acc_get_cuda_stream): Ditto.
6788 (acc_set_cuda_stream): Ditto.
6789 (ACC_DEVICE_TYPE): Ditto.
6790 (ACC_DEVICE_NUM): Ditto.
6791 (OpenACC Library Interoperability): Ditto.
6792
50aa16c3
JJ
67932017-08-09 Jakub Jelinek <jakub@redhat.com>
6794
6795 PR c/81687
6796 * testsuite/libgomp.c/pr81687-1.c: New test.
6797 * testsuite/libgomp.c/pr81687-2.c: New test.
6798
56b5041c
JJ
67992017-08-07 Jakub Jelinek <jakub@redhat.com>
6800
6801 PR c/69389
6802 * testsuite/libgomp.c/pr69389.c: New test.
6803 * testsuite/libgomp.c++/pr69389.C: New test.
6804
f4c222c0
TV
68052017-08-07 Tom de Vries <tom@codesourcery.com>
6806
6807 PR middle-end/78266
6808 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
6809 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
6810
a40ff0ae
JJ
68112017-07-27 Jakub Jelinek <jakub@redhat.com>
6812
6813 PR c/45784
6814 * testsuite/libgomp.c/pr45784.c: New test.
6815 * testsuite/libgomp.c++/pr45784.C: New test.
6816
3717fbe3
TV
68172017-07-19 Tom de Vries <tom@codesourcery.com>
6818
6819 * testsuite/libgomp.oacc-c/vec.c: New test.
6820
9607b014
TV
68212017-07-03 Tom de Vries <tom@codesourcery.com>
6822
6823 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
6824
dfb15f6b
TV
68252017-06-27 Tom de Vries <tom@codesourcery.com>
6826
6827 * plugin/plugin-nvptx.c (notify_var): New function.
6828 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
6829
22f1a037
TV
68302017-06-27 Tom de Vries <tom@codesourcery.com>
6831
6832 * env.c (parse_unsigned_long_1): Factor out of ...
6833 (parse_unsigned_long): ... here.
6834 (parse_int_1): Factor out of ...
6835 (parse_int): ... here.
6836 (parse_int_secure): New function.
6837 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
6838 * secure_getenv.h: Factor out of ...
6839 * plugin/plugin-hsa.c: ... here.
6840 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
6841
d54d1fc3
JJ
68422017-06-21 Jakub Jelinek <jakub@redhat.com>
6843
6844 PR c++/81130
6845 * testsuite/libgomp.c++/pr81130.C: New test.
6846
4f4b0ab8
RO
68472017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6848
6849 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
6850 default args.
6851 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
6852 dg-xfail-run-if default args.
6853
40ffd95f
BE
68542017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
6855
6856 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
6857 * testsuite/libgomp.c/pr39591-3.c: Likewise.
6858
01275e1e
JJ
68592017-05-30 Jakub Jelinek <jakub@redhat.com>
6860
6861 PR libgomp/80822
6862 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
6863 (gomp_affinity_init_level): Use it. Always analyze the core and thread
6864 sibling lists, depending on level just pick up what CPUs to put
6865 together into a place vs. whether add multiple ordered places.
6866
78672bd8
TS
68672017-05-24 Thomas Schwinge <thomas@codesourcery.com>
6868
7ce64403
TS
6869 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
6870 * libgomp.map (OACC_2.0.1): Add these.
6871 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
6872 for "acc_wait", and "acc_wait_all", respectively.
6873 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
6874 for "acc_wait", and "acc_wait_all", respectively.
6875 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
6876 * libgomp.texi (acc_wait, acc_wait_all): Update.
6877 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
6878 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
6879 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6880
318686c2
TS
6881 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
6882 acc_present_or_copyin and acc_present_or_create procedures,
6883 respectively.
6884 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
6885 generally different variants of OpenACC Runtime Library functions.
6886 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6887
a6745534
TS
6888 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
6889 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6890
9b94fbc7
TS
6891 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
6892 of preprocessor definitions.
6893 * libgomp.h (strong_alias): Guard by "#ifdef
6894 HAVE_ATTRIBUTE_ALIAS".
6895 * oacc-mem.c: Provide "acc_pcreate" as alias for
6896 "acc_present_or_create", and "acc_pcopyin" as alias for
6897 "acc_present_or_copyin".
6898 * libgomp.map: New version "OACC_2.0.1".
6899 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
6900 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
6901 its content into...
6902 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
6903 Extend testing.
6904
78672bd8
TS
6905 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
6906 when disabling nvptx offloading.
6907
0c36d0d5
TS
69082017-05-23 Thomas Schwinge <thomas@codesourcery.com>
6909
fd71a9a2
TS
6910 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
6911 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6912 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
6913
0c36d0d5
TS
6914 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
6915 * testsuite/lib/libgomp.exp
6916 (check_effective_target_openacc_nvidia_accel_configured): New
6917 proc.
6918 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
6919 (check_effective_target_c++): New procs.
6920 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
6921 (check_effective_target_c++): Likewise.
6922
c24783c4
JJ
69232017-05-22 Jakub Jelinek <jakub@redhat.com>
6924
655e5265
JJ
6925 PR middle-end/80809
6926 * testsuite/libgomp.c/pr80809-2.c: New test.
6927 * testsuite/libgomp.c/pr80809-3.c: New test.
6928
e9e2ef9f
JJ
6929 PR middle-end/80809
6930 * testsuite/libgomp.c/pr80809-1.c: New test.
6931
c24783c4
JJ
6932 PR middle-end/80853
6933 * testsuite/libgomp.c/pr80853.c: New test.
6934
0da2f96a
TS
69352017-05-19 Thomas Schwinge <thomas@codesourcery.com>
6936
7fd549d2
TS
6937 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
6938 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
6939 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6940 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6941 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
6942
0da2f96a
TS
6943 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
6944 Debug output for failure.
6945
62ffe920
RO
69462017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6947
6948 * testsuite/lib/libgomp.exp: Load scanlang.exp.
6949
f49215b1
JJ
69502017-04-27 Jakub Jelinek <jakub@redhat.com>
6951
6952 PR bootstrap/80531
6953 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
6954 bootstrap compare failures.
6955
2260d19d
AM
69562017-04-20 Alexander Monakov <amonakov@ispras.ru>
6957
6958 * testsuite/libgomp.c/target-36.c: New testcase.
6959
19929ba9
JJ
69602017-04-13 Jakub Jelinek <jakub@redhat.com>
6961
6962 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
6963 instead of char.
6964
fbc698e0
JJ
69652017-04-11 Jakub Jelinek <jakub@redhat.com>
6966
6967 PR libgomp/80394
6968 * testsuite/libgomp.c/pr80394.c: New test.
6969
c4060df4
JJ
69702017-04-04 Jakub Jelinek <jakub@redhat.com>
6971
6972 PR libgomp/79876
6973 * config/posix/thread-stacksize.h: New file.
6974 * config/darwin/thread-stacksize.h: New file.
6975 * config/nvptx/thread-stacksize.h: New file.
6976 * env.c: Include thread-stacksize.h.
6977 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
6978 instead of 0. Call pthread_attr_setstacksize even if
6979 GOMP_DEFAULT_STACKSIZE is non-zero.
6980
e02d868a
JJ
69812017-03-30 Jakub Jelinek <jakub@redhat.com>
6982
6983 * env.c (initialize_env): Initialize stacksize to 0.
6984
7ba8651e
CP
69852017-03-22 Cesar Philippidis <cesar@codesourcery.com>
6986
6987 PR c++/80029
6988 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
6989
eebc5e2d
JJ
69902017-03-08 Jakub Jelinek <jakub@redhat.com>
6991
6992 PR c/79940
6993 * testsuite/libgomp.c/pr79940.c: New test.
6994
1eb08f52
RO
69952017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6996
6997 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
6998 targets.
6999 Add __float128 options.
7000
b0f78ff3
JDA
70012017-02-11 John David Anglin <danglin@gcc.gnu.org>
7002
7003 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
7004 hppa*-*-* dg-skip-if directive.
7005
1bbe0d8f
JJ
70062017-02-09 Jakub Jelinek <jakub@redhat.com>
7007
7008 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
7009 dg-skip-if directive into a comment.
7010
02889d23
CLT
70112017-02-09 Nathan Sidwell <nathan@codesourcery.com>
7012 Chung-Lin Tang <cltang@codesourcery.com>
7013
7014 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
7015 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
7016 add additional case.
7017 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
7018 "openacc_nvidia_accel_selected".
7019 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
7020 Add num_workers(8) clause.
7021
5896a41d
JDA
70222017-02-08 John David Anglin <danglin@gcc.gnu.org>
7023
7024 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
7025 hppa*-*-*.
7026 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
7027 include complex.h on hppa*-*-hpux*.
7028 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
7029
345a8c17
TS
70302017-02-02 Thomas Schwinge <thomas@codesourcery.com>
7031
e70ab10d
TS
7032 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
7033
345a8c17
TS
7034 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
7035 GOMP_OFFLOAD_openacc_exec. Adjust all users.
7036 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
7037 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
7038 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
7039 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
7040 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
7041 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
7042 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
7043 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
7044
dced339c
TS
70452017-01-31 Thomas Schwinge <thomas@codesourcery.com>
7046
7047 * libgomp-plugin.h: #include <stdbool.h>.
7048 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
7049 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
7050 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
7051 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
7052 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
7053 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
7054 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
7055 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
7056 (GOMP_OFFLOAD_openacc_register_async_cleanup)
7057 (GOMP_OFFLOAD_openacc_async_test)
7058 (GOMP_OFFLOAD_openacc_async_test_all)
7059 (GOMP_OFFLOAD_openacc_async_wait)
7060 (GOMP_OFFLOAD_openacc_async_wait_async)
7061 (GOMP_OFFLOAD_openacc_async_wait_all)
7062 (GOMP_OFFLOAD_openacc_async_wait_all_async)
7063 (GOMP_OFFLOAD_openacc_async_set_async)
7064 (GOMP_OFFLOAD_openacc_create_thread_data)
7065 (GOMP_OFFLOAD_openacc_destroy_thread_data)
7066 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
7067 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
7068 (GOMP_OFFLOAD_openacc_get_cuda_stream)
7069 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
7070 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
7071 these.
7072 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
7073 (GOMP_OFFLOAD_unload_image): Fix argument types.
7074
23749904
JJ
70752017-01-26 Jakub Jelinek <jakub@redhat.com>
7076
c1cadde1
JJ
7077 * testsuite/lib/libgomp.exp
7078 (check_effective_target_hsa_offloading_selected_nocache): Fix up
7079 check_compile invocation. Fix up removal of executable. Drop
7080 bogus "2>&1" argument.
7081
23749904
JJ
7082 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
7083 directive.
7084
70852017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
7086 Martin Jambor <mjambor@suse.cz>
7087
7088 * plugin/hsa.h: Moved to top level include.
7089 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
7090
73aa401e
JJ
70912017-01-21 Jakub Jelinek <jakub@redhat.com>
7092
7093 PR other/79046
7094 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
7095 of cat to get version from BASE-VER file.
7096 * testsuite/Makefile.in: Regenerated.
7097
b32e85fa
JJ
70982017-01-19 Jakub Jelinek <jakub@redhat.com>
7099
7100 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
7101 for _WIN64.
7102
3c36aa6b
JJ
71032017-01-17 Jakub Jelinek <jakub@redhat.com>
7104
d190d5c0
JJ
7105 * plugin/hsa.h: Add GCC runtime library exception.
7106 * plugin/hsa_ext_finalize.h: Likewise.
7107
2393d337
JJ
7108 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
7109 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
7110 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
7111 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
7112 plugin/include/cuda as include dir and -ldl instead of -lcuda as
7113 library to link ptx plugin against.
7114 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
7115 (CUDA_CALLS): Define.
7116 (cuda_lib, cuda_lib_inited): New variables.
7117 (init_cuda_lib): New function.
7118 (CUDA_CALL_PREFIX): Define.
7119 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
7120 (CUDA_CALL): Use FN instead of (FN).
7121 (CUDA_CALL_NOCHECK): Define.
7122 (cuda_error, fini_streams_for_device, select_stream_for_async,
7123 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
7124 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
7125 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
7126 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
7127 CUDA_CALL_NOCHECK.
7128 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
7129 CUDA_CALL_NOCHECK.
7130 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
7131 Use CUDA_CALL_NOCHECK.
7132 * plugin/cuda/cuda.h: New file.
7133 * config.h.in: Regenerated.
7134 * configure: Regenerated.
7135
3c36aa6b
JJ
7136 PR other/79046
7137 * configure.ac: Add GCC_BASE_VER.
7138 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
7139 get version from BASE-VER file.
7140 * testsuite/Makefile.in: Regenerated.
7141 * configure: Regenerated.
7142 * Makefile.in: Regenerated.
7143
c508bc2d
FXC
71442017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7145
7146 PR libgomp/60670
7147 * Makefile.am: Make fincludedir multilib-aware.
7148 * Makefile.in: Regenerate.
7149
c1a9c369
JJ
71502017-01-01 Jakub Jelinek <jakub@redhat.com>
7151
cbe34bb5
JJ
7152 Update copyright years.
7153
c1a9c369
JJ
7154 * libgomp.texi: Bump @copying's copyright year.
7155
e7a7f4be
SH
71562016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
7157
7158 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
7159 pthread_spinlock_t instead of gomp_mutex_t lock.
7160 (gomp_get_thread_pool): Likewise.
7161 (gomp_release_thread_pool): Likewise.
7162 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
7163 Likewise.
7164
d313d52c
SH
71652016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
7166
7167 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
7168 thread pool in case nthreads == 1.
7169
630e3c3a
AM
71702016-11-30 Alexander Monakov <amonakov@ispras.ru>
7171
7172 * config/nvptx/env.c: Delete.
7173 * icv.c: Move definitions of ICV variables back ...
7174 * env.c: ...here. Do not compile environment-related functionality if
7175 LIBGOMP_OFFLOADED_ONLY is set.
7176
9e38af5c
AM
71772016-11-30 Alexander Monakov <amonakov@ispras.ru>
7178
7179 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
7180 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
7181 * configure: Regenerate.
7182 * config.h.in: Likewise.
7183
f96b7f1f
AM
71842016-11-30 Alexander Monakov <amonakov@ispras.ru>
7185
7186 * Makefile.in: Regenerate with automake-1.11.6.
7187 * aclocal.m4: Likewise.
7188 * configure: Likewise.
7189 * testsuite/Makefile.in: Likewise.
7190
6a6951b1
AM
71912016-11-28 Alexander Monakov <amonakov@ispras.ru>
7192
7193 * config/nvptx/critical.c: Delete to use generic implementation.
7194
c7ac071f
JH
71952016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
7196
7197 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
7198 ../../affinity.c as fallback.
7199 * config/nvptx/affinity.c: Delete to use fallback implementation.
7200
6103184e 72012016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 7202 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
7203 Dmitry Melnik <dm@ispras.ru>
7204
7205 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
7206 * Makefile.in. Regenerate.
7207 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
7208 (LIBGOMP_USE_PTHREADS): ...here; new define.
7209 * configure: Regenerate.
7210 * config.h.in: Likewise.
7211 * config/posix/affinity.c: Move to...
7212 * affinity.c: ...here (new file). Guard use of Pthreads-specific
7213 interface by LIBGOMP_USE_PTHREADS.
7214 * critical.c: Split out GOMP_atomic_{start,end} into...
7215 * atomic.c: ...here (new file).
7216 * env.c: Split out ICV definitions into...
7217 * icv.c: ...here (new file) and...
7218 * icv-device.c: ...here. New file.
7219 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
7220 (gomp_destroy_lock_30): Ditto.
7221 (gomp_set_lock_30): Ditto.
7222 (gomp_unset_lock_30): Ditto.
7223 (gomp_test_lock_30): Ditto.
7224 (gomp_init_nest_lock_30): Ditto.
7225 (gomp_destroy_nest_lock_30): Ditto.
7226 (gomp_set_nest_lock_30): Ditto.
7227 (gomp_unset_nest_lock_30): Ditto.
7228 (gomp_test_nest_lock_30): Ditto.
7229 * lock.c: New.
7230 * config/nvptx/lock.c: New.
7231 * config/nvptx/bar.c: New.
7232 * config/nvptx/bar.h: New.
7233 * config/nvptx/doacross.h: New.
7234 * config/nvptx/error.c: New.
7235 * config/nvptx/icv-device.c: New.
7236 * config/nvptx/mutex.h: New.
7237 * config/nvptx/pool.h: New.
7238 * config/nvptx/proc.c: New.
7239 * config/nvptx/ptrlock.h: New.
7240 * config/nvptx/sem.h: New.
7241 * config/nvptx/simple-bar.h: New.
7242 * config/nvptx/target.c: New.
7243 * config/nvptx/task.c: New.
7244 * config/nvptx/team.c: New.
7245 * config/nvptx/time.c: New.
7246 * config/posix/simple-bar.h: New.
7247 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
7248 (gomp_num_teams_var): Declare.
7249 (struct gomp_thread_pool): Change threads_dock member to
7250 gomp_simple_barrier_t.
7251 [__nvptx__] (gomp_thread): New implementation.
7252 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
7253 (gomp_thread_destructor): Ditto.
7254 (gomp_init_thread_affinity): Ditto.
7255 * team.c: Guard uses of Pthreads-specific interfaces by
7256 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
7257 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
7258 * config/nvptx/alloc.c: Delete.
7259 * config/nvptx/barrier.c: Ditto.
7260 * config/nvptx/fortran.c: Ditto.
7261 * config/nvptx/iter.c: Ditto.
7262 * config/nvptx/iter_ull.c: Ditto.
7263 * config/nvptx/loop.c: Ditto.
7264 * config/nvptx/loop_ull.c: Ditto.
7265 * config/nvptx/ordered.c: Ditto.
7266 * config/nvptx/parallel.c: Ditto.
7267 * config/nvptx/priority_queue.c: Ditto.
7268 * config/nvptx/sections.c: Ditto.
7269 * config/nvptx/single.c: Ditto.
7270 * config/nvptx/splay-tree.c: Ditto.
7271 * config/nvptx/work.c: Ditto.
7272 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
7273 -foffload=-lgfortran in addition to -lgfortran.
7274 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
7275 * plugin/plugin-nvptx.c: Include <limits.h>.
7276 (struct targ_fn_descriptor): Add new fields.
7277 (struct ptx_device): Ditto. Set them...
7278 (nvptx_open_device): ...here.
7279 (nvptx_adjust_launch_bounds): New.
7280 (nvptx_host2dev): Allow NULL 'nvthd'.
7281 (nvptx_dev2host): Ditto.
7282 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
7283 (link_ptx): Adjust log sizes.
7284 (nvptx_host2dev): Allow NULL 'nvthd'.
7285 (nvptx_dev2host): Ditto.
7286 (nvptx_set_clocktick): New. Use it...
7287 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
7288 fields.
7289 (GOMP_OFFLOAD_dev2dev): New.
7290 (nvptx_adjust_launch_bounds): New.
7291 (nvptx_stacks_size): New.
7292 (nvptx_stacks_alloc): New.
7293 (nvptx_stacks_free): New.
7294 (GOMP_OFFLOAD_run): New.
7295 (GOMP_OFFLOAD_async_run): New (stub).
7296
56b1c60e
MJ
72972016-11-23 Martin Jambor <mjambor@suse.cz>
7298
7299 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
7300 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7301 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7302
b8d89b03 73032016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 7304 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
7305
7306 * plugin/hsa.h: New file.
7307 * plugin/hsa_ext_finalize.h: New file.
7308 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
7309 header file unistd.h, and functions secure_getenv, __secure_getenv,
7310 getuid, geteuid, getgid and getegid.
7311 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
7312 -D_GNU_SOURCE.
7313 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
7314 Handle various cases of secure_getenv presence, add an implementation
7315 when we can test effective UID and GID.
7316 (struct hsa_runtime_fn_info): New structure.
7317 (hsa_runtime_fn_info hsa_fns): New variable.
7318 (hsa_runtime_lib): Likewise.
7319 (support_cpu_devices): Likewise.
7320 (init_enviroment_variables): Load newly introduced ENV
7321 variables.
7322 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
7323 (hsa_fatal): Likewise.
7324 (DLSYM_FN): New macro.
7325 (init_hsa_runtime_functions): New function.
7326 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
7327 structure. Depending on environment, also allow CPU devices.
7328 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
7329 (get_kernarg_memory_region): Likewise.
7330 (GOMP_OFFLOAD_init_device): Likewise.
7331 (destroy_hsa_program): Likewise.
7332 (init_basic_kernel_info): New function.
7333 (GOMP_OFFLOAD_load_image): Use it.
7334 (create_and_finalize_hsa_program): Call hsa run-time functions via
7335 hsa_fns structure.
7336 (create_single_kernel_dispatch): Likewise.
7337 (release_kernel_dispatch): Likewise.
7338 (init_single_kernel): Likewise.
7339 (parse_target_attributes): Allow up multiple HSA grid dimensions.
7340 (get_group_size): New function.
7341 (run_kernel): Likewise.
7342 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
7343 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
7344 structure.
7345 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
7346 * testsuite/libgomp-test-support.exp.in: Likewise.
7347 * Makefile.in: Regenerated.
7348 * aclocal.m4: Likewise.
7349 * config.h.in: Likewise.
7350 * configure: Likewise.
7351 * testsuite/Makefile.in: Likewise.
7352
18d2ada8 73532016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 7354 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
7355
7356 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
7357 mapping clauses to target constructs.
7358 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
7359
84c1b9d3
MK
73602016-11-15 Matthias Klose <doko@ubuntu.com>
7361
7362 * configure: Regenerate.
7363
b4c3a85b
JJ
73642016-11-10 Jakub Jelinek <jakub@redhat.com>
7365
8ebd1b31
JJ
7366 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
7367 * omp_lib.h.in (openmp_version): Likewise.
7368 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
7369 of 201307.
7370 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7371
b4c3a85b
JJ
7372 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
7373 (fib_wrapper): Add map(from: x) clause.
7374 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
7375 (e_53_2): Likewise.
7376 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
7377 (accum): Add map(tmp) clause.
7378 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
7379 (accum): Add map(tofrom: tmp) clause.
7380 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
7381 (gramSchmidt): Likewise.
7382 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
7383 map(tofrom: sum) clause.
7384 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
7385 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
7386 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
7387 only allowed on the loop iterator.
7388 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
7389 * testsuite/libgomp.fortran/taskloop2.f90: New test.
7390 * testsuite/libgomp.fortran/taskloop4.f90: New test.
7391 * testsuite/libgomp.fortran/doacross1.f90: New test.
7392 * testsuite/libgomp.fortran/doacross3.f90: New test.
7393 * testsuite/libgomp.fortran/taskloop1.f90: New test.
7394 * testsuite/libgomp.fortran/taskloop3.f90: New test.
7395 * testsuite/libgomp.fortran/doacross2.f90: New test.
7396 * testsuite/libgomp.c/doacross-1.c (main): Add missing
7397 #pragma omp atomic read.
7398 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
7399 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
7400
6668eb45
CP
74012016-11-02 Cesar Philippidis <cesar@codesourcery.com>
7402 Nathan Sidwell <nathan@acm.org>
7403
7404 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
7405 to determine default geometry.
7406 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
7407 dimension.
7408
f10e37a1
JJ
74092016-11-01 Jakub Jelinek <jakub@redhat.com>
7410
7411 * hashtab.h: Use standard GPLv3 with runtime exception
7412 boilerplate.
7413
015c7760
AH
74142016-10-27 Aldy Hernandez <aldyh@redhat.com>
7415
7416 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
7417 size when allocating new thread.
7418
20a1e5b8
MP
74192016-09-14 Marek Polacek <polacek@redhat.com>
7420
7421 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
7422
1cad9284
JJ
74232016-08-19 Jakub Jelinek <jakub@redhat.com>
7424
7425 PR fortran/71014
7426 * testsuite/libgomp.fortran/pr71014.f90: New test.
7427
2c71d454
CLT
74282016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
7429
7430 PR middle-end/70895
7431 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
7432 firstprivate clauses.
7433 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
7434 copy clauses.
7435 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
7436 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
7437 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
7438 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7439 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
7440 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7441 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7442 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7443 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7444 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7445 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7446 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
7447
7c713714
CLT
74482016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
7449
7450 PR fortran/70598
7451 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
7452
5c934396
JJ
74532016-08-08 Jakub Jelinek <jakub@redhat.com>
7454
7455 PR c++/58706
7456 * testsuite/libgomp.c++/pr58706.C: New test.
7457
9ef64248
TS
74582016-08-04 Thomas Schwinge <thomas@codesourcery.com>
7459
bbc79c0e
TS
7460 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
7461 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
7462 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7463 Likewise.
7464 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
7465 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
7466 Likewise.
7467 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
7468
9ef64248
TS
7469 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
7470 test, and don't hardcode -O0.
7471
c1311c86
NS
74722016-08-03 Nathan Sidwell <nathan@codesourcery.com>
7473
7474 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
7475
b1c9c068
CP
74762016-07-15 Cesar Philippidis <cesar@codesourcery.com>
7477
7478 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
7479 test.
7480
b4410f63
L
74812016-07-03 H.J. Lu <hongjiu.lu@intel.com>
7482
7483 PR middle-end/71734
7484 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
7485 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
7486
a8dbab92
JJ
74872016-07-01 Jakub Jelinek <jakub@redhat.com>
7488
7489 PR fortran/71717
7490 * testsuite/libgomp.fortran/associate3.f90: New test.
7491
9b6a8d0f
JJ
74922016-06-17 Jakub Jelinek <jakub@redhat.com>
7493
7494 * testsuite/libgomp.c++/target-21.C: New test.
7495
283635f9
JJ
74962016-06-16 Jakub Jelinek <jakub@redhat.com>
7497
7498 * testsuite/libgomp.c++/target-20.C: New test.
7499
27d6ba88
TS
75002016-06-10 Thomas Schwinge <thomas@codesourcery.com>
7501 Cesar Philippidis <cesar@codesourcery.com>
7502
7503 PR middle-end/71373
7504 * libgomp.oacc-c/nested-function-1.c: New file.
7505 * libgomp.oacc-c/nested-function-2.c: Likewise.
7506 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
7507 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
7508 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
7509
4b1ffdb1
TS
75102016-06-10 Thomas Schwinge <thomas@codesourcery.com>
7511
7512 PR c/71381
7513 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
7514 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
7515 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
7516
d821b794
CLT
75172016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
7518
7519 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
7520 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
7521
3616a8c5
CP
75222016-06-01 Cesar Philippidis <cesar@codesourcery.com>
7523
7524 PR c/70688
5eed9a88 7525 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 7526
7211a097
JJ
75272016-05-26 Jakub Jelinek <jakub@redhat.com>
7528
7529 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
7530 instead of invalid schedule(static, 0).
7531 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
7532
b4557008
CLT
75332016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
7534
7535 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
7536 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
7537 parameter, use to set async stream around call to gomp_unmap_vars,
7538 call gomp_unmap_vars() with 'do_copyfrom' set to true.
7539 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
7540 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
7541 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
7542 (event_add): Add int parameter, initialize 'val' field when
7543 adding new ptx_event struct.
7544 (nvptx_evec): Adjust event_add() call arguments.
7545 (nvptx_host2dev): Likewise.
7546 (nvptx_dev2host): Likewise.
7547 (nvptx_wait_async): Likewise.
7548 (nvptx_wait_all_async): Likewise.
7549 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
7550 pass to event_add() call.
7551 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
7552 parameter.
7553 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
7554 call openacc.register_async_cleanup_func() hook.
7555 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
7556 * target.c (gomp_copy_from_async): Delete function.
7557 (gomp_map_vars): Remove async_refcount.
7558 (gomp_unmap_vars): Likewise.
7559 (gomp_load_image_to_device): Likewise.
7560 (omp_target_associate_ptr): Likewise.
7561 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
7562 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
7563 (gomp_copy_from_async): Remove.
7564
6ce13072
CLT
75652016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
7566
7567 * target.c (gomp_device_copy): New function.
7568 (gomp_copy_host2dev): Likewise.
7569 (gomp_copy_dev2host): Likewise.
7570 (gomp_free_device_memory): Likewise.
7571 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
7572 (gomp_map_pointer): Likewise.
7573 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
7574 NULL value from alloc_func plugin hook.
7575 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
7576 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
7577 (gomp_unmap_vars): Likewise.
7578 (gomp_update): Adjust to call gomp_copy_dev2host and
7579 gomp_copy_host2dev functions.
7580 (gomp_unload_image_from_device): Handle false value from
7581 unload_image_func plugin hook.
7582 (gomp_init_device): Handle false value from init_device_func
7583 plugin hook.
7584 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
7585 (omp_target_free): Adjust to call gomp_free_device_memory.
7586 (omp_target_memcpy): Handle return values from host2dev_func,
7587 dev2host_func, and dev2dev_func plugin hooks.
7588 (omp_target_memcpy_rect_worker): Likewise.
7589 (gomp_target_fini): Handle false value from fini_device_func
7590 plugin hook.
7591 * libgomp.h (struct gomp_device_descr): Adjust return type of
7592 init_device_func, fini_device_func, unload_image_func, free_func,
7593 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
7594 * oacc-init.c (acc_shutdown_1): Handle false value from
7595 fini_device_func plugin hook.
7596 * oacc-host.c (host_init_device): Change return type to bool.
7597 (host_fini_device): Likewise.
7598 (host_unload_image): Likewise.
7599 (host_free): Likewise.
7600 (host_dev2host): Likewise.
7601 (host_host2dev): Likewise.
7602 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
7603 (acc_memcpy_to_device): Likewise.
7604 (acc_memcpy_from_device): Likewise.
7605 (delete_copyout): Add libfnname parameter, handle free_func
7606 hook fatal error case.
7607 (acc_delete): Adjust delete_copyout call.
7608 (acc_copyout): Likewise.
7609 (update_dev_host): Move gomp_mutex_unlock to after
7610 host2dev/dev2host hook calls.
7611
7612 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
7613 to 'hsa_error_msg', for clarity.
7614 (hsa_fatal): Likewise.
7615 (hsa_error): New function.
7616 (init_hsa_context): Change return type to bool, adjust to return
7617 false on error.
7618 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
7619 return value.
7620 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
7621 return false on error.
7622 (get_agent_info): Adjust to return NULL on error.
7623 (destroy_hsa_program): Change return type to bool, adjust to
7624 return false on error.
7625 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
7626 (destroy_module): Change return type to bool, adjust to
7627 return false on error.
7628 (GOMP_OFFLOAD_unload_image): Likewise.
7629 (GOMP_OFFLOAD_fini_device): Likewise.
7630 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
7631 (GOMP_OFFLOAD_free): Change to return false when called.
7632 (GOMP_OFFLOAD_dev2host): Likewise.
7633 (GOMP_OFFLOAD_host2dev): Likewise.
7634 (GOMP_OFFLOAD_dev2dev): Likewise.
7635
7636 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
7637 (CUDA_CALL): Likewise.
7638 (CUDA_CALL_ASSERT): Likewise.
7639 (map_init): Change return type to bool, use CUDA_CALL* macros.
7640 (map_fini): Likewise.
7641 (init_streams_for_device): Change return type to bool, adjust
7642 call to map_init.
7643 (fini_streams_for_device): Change return type to bool, adjust
7644 call to map_fini.
7645 (select_stream_for_async): Release stream_lock before calls to
7646 GOMP_PLUGIN_fatal, adjust call to map_init.
7647 (nvptx_init): Use CUDA_CALL* macros.
7648 (nvptx_attach_host_thread_to_device): Change return type to bool,
7649 use CUDA_CALL* macros.
7650 (nvptx_open_device): Use CUDA_CALL* macros.
7651 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
7652 macros.
7653 (nvptx_get_num_devices): Use CUDA_CALL* macros.
7654 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
7655 (nvptx_exec): Use CUDA_CALL* macros.
7656 (nvptx_alloc): Use CUDA_CALL* macros.
7657 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
7658 (nvptx_host2dev): Likewise.
7659 (nvptx_dev2host): Likewise.
7660 (nvptx_wait): Use CUDA_CALL* macros.
7661 (nvptx_wait_async): Likewise.
7662 (nvptx_wait_all): Likewise.
7663 (nvptx_wait_all_async): Likewise.
7664 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
7665 use CUDA_CALL* macros, adjust call to map_fini.
7666 (GOMP_OFFLOAD_init_device): Change return type to bool,
7667 adjust code accordingly.
7668 (GOMP_OFFLOAD_fini_device): Likewise.
7669 (GOMP_OFFLOAD_load_image): Adjust calls to
7670 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
7671 use CUDA_CALL* macros.
7672 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
7673 return code.
7674 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
7675 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
7676 handle error return.
7677 (GOMP_OFFLOAD_dev2host): Likewise.
7678 (GOMP_OFFLOAD_host2dev): Likewise.
7679 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
7680 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
7681
e46c7770
CP
76822016-05-24 Cesar Philippidis <cesar@codesourcery.com>
7683
7684 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
7685 (acc_free): Likewise.
7686 (acc_memcpy_to_device): Likewise.
7687 (acc_memcpy_from_device): Likewise.
7688 (acc_deviceptr): Likewise.
7689 (acc_hostptr): Likewise.
7690 (acc_is_present): Likewise.
7691 (acc_map_data): Likewise.
7692 (acc_unmap_data): Likewise.
7693 (present_create_copy): Likewise.
7694 (delete_copyout): Likewise.
7695 (update_dev_host): Likewise.
7696 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
7697 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
7698 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
7699 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7700 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
7701 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
7702 it only runs on nvptx targets.
7703 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7704 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7705 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7706 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7707 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7708 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7709 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7710 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7711 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7712 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7713 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7714 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7715 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7716 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7717 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7718 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7719 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7720 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7721 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7722 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7723 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7724 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7725 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7726
a5057543
MJ
77272016-05-23 Martin Jambor <mjambor@suse.cz>
7728
7729 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
7730
e37288a6
CLT
77312016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
7732
7733 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
7734 to gomp_init_targets_once.
7735 (acc_set_device_type): Remove !cached_base_dev condition on call to
7736 gomp_init_targets_once, move call to before acc_device_lock acquire,
7737 to avoid deadlock.
7738 (acc_get_device_num): Remove !cached_base_dev condition on call to
7739 gomp_init_targets_once.
7740 (acc_set_device_num): Likewise.
7741
51d9ed48
MJ
77422016-05-16 Martin Jambor <mjambor@suse.cz>
7743
92a285c1 7744 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 7745
5b37e866
NS
77462016-05-02 Nathan Sidwell <nathan@codesourcery.com>
7747
7748 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
7749 expected partitioning.
7750
e7ff0319
CP
77512016-04-29 Cesar Philippidis <cesar@codesourcery.com>
7752
7753 PR middle-end/70626
7754 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
7755 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
7756 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
7757
c2bd3b69
AM
77582016-04-21 Alexander Monakov <amonakov@ispras.ru>
7759
7760 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
7761 non-fatal.
7762
84311083
JJ
77632016-04-19 Jakub Jelinek <jakub@redhat.com>
7764
7765 PR middle-end/70680
7766 * testsuite/libgomp.c/pr70680-1.c: New test.
7767 * testsuite/libgomp.c/pr70680-2.c: New test.
7768
aadc043f
CP
77692016-04-14 Cesar Philippidis <cesar@codesourcery.com>
7770
7771 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
7772 pass parameter variables to subroutines.
7773
e387fc64
CP
77742016-04-14 Cesar Philippidis <cesar@codesourcery.com>
7775
7776 PR middle-end/70643
7777 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
7778
10c3c424
CP
77792016-04-13 Cesar Philippidis <cesar@codesourcery.com>
7780
7781 PR testsuite/68242
7782 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
7783 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7784
27f9add3
TS
77852016-04-12 Thomas Schwinge <thomas@codesourcery.com>
7786
58d32aeb
TS
7787 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
7788 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
7789 GOACC_declare prototype.
7790
d97633ef
TS
7791 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
7792 Merge this file, and...
7793 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
7794 ... this file, and...
7795 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
7796 ... this file, and...
7797 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
7798 ... this file, and...
7799 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
7800 ... this file, and...
7801 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
7802 ... this file, and...
7803 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
7804 ... this file, and...
7805 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
7806 ... this file, and...
7807 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
7808 ... this file, and...
7809 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
7810 ... this file, and...
7811 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
7812 ... this file, and...
7813 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
7814 ... this file, and...
7815 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
7816 ... this file into...
7817 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
7818 file.
7819
27f9add3
TS
7820 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
7821 Make failure observable.
7822
21f3a236
JJ
78232016-04-12 Jakub Jelinek <jakub@redhat.com>
7824
7825 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
7826 field.
7827 * target.c (gomp_target_fallback_firstprivate,
7828 gomp_target_unshare_firstprivate): Removed.
7829 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
7830 before waiting for dependencies.
7831 (gomp_target_task_fn): Don't copy firstprivate vars here.
7832 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
7833 firstprivate_copies here.
7834 (gomp_create_target_task): Don't initialize firstprivate_copies field.
7835 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
7836 explicit/implicit firstprivate.
7837
c42cfb5c
CP
78382016-04-08 Cesar Philippidis <cesar@codesourcery.com>
7839
7840 PR lto/70289
7841 PR ipa/70348
7842 PR tree-optimization/70373
7843 PR middle-end/70533
7844 PR middle-end/70534
7845 PR middle-end/70535
7846 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
7847 test.
7848 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
7849 test.
7850 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
7851 test.
7852 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
7853 test.
7854 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
7855 test.
7856 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
7857 test.
7858 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
7859 test.
7860 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
7861 test.
7862 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
7863 test.
7864 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
7865 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
7866 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
7867 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
7868 test.
7869 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
7870 test.
7871 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
7872 test.
7873 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
7874 test.
7875 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
7876 coverage.
7877 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7878 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7879 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
7880 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
7881 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
7882 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
7883 coverage.
7884 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7885 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7886 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7887 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7888 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
7889 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
7890 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
7891 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
7892 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
7893 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7894 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7895 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7896 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7897 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7898 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
7899
2620c80d
TS
79002016-03-30 Thomas Schwinge <thomas@codesourcery.com>
7901 James Norris <jnorris@codesourcery.com>
7902 Nathan Sidwell <nathan@codesourcery.com>
7903 Julian Brown <julian@codesourcery.com>
7904 Cesar Philippidis <cesar@codesourcery.com>
7905 Chung-Lin Tang <cltang@codesourcery.com>
7906 Tom de Vries <tom@codesourcery.com>
7907
7908 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
7909 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7910 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7911 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
7912 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7913 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7914 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7915 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7916 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7917 XFAIL.
7918 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
7919 Incorporate...
7920 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
7921 file.
7922 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
7923 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
7924 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
7925 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
7926 Likewise.
7927 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
7928 Likewise.
7929 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
7930 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
7931 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
7932 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
7933 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7934 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7935 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7936 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7937 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7938 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
7939 Likewise.
7940 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
7941 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7942 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
7943 file...
7944 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
7945 file into...
7946 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
7947 file. Update.
7948 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
7949 file.
7950 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
7951 Likewise.
7952 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
7953 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
7954 ... this new file. Update.
7955 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
7956 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
7957 ... this new file. Update.
7958 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
7959 file. Incorporate...
7960 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
7961 file, and...
7962 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
7963 file, and...
7964 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
7965 file.
7966 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
7967
ce83104b
TS
79682016-03-29 Thomas Schwinge <thomas@codesourcery.com>
7969
7970 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
7971 set-torture-options.
7972
6e0df3b7
TS
79732016-03-24 Thomas Schwinge <thomas@codesourcery.com>
7974
7975 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
7976 gcc-dg-runtest.
7977 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7978 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
7979 -fno-builtin-acc_on_device instead of -O0.
7980 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
7981 -O0.
7982 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7983 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
7984 Likewise.
7985 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7986 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7987 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7988 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7989 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7990 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7991 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7992 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7993 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7994 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7995 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7996 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7997 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7998 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7999 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
8000 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
8001 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
8002 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
8003 Don't specify -O2.
8004 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
8005 Likewise.
8006 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
8007 Likewise.
8008
f9c8babb
ML
80092016-03-24 Martin Liska <mliska@suse.cz>
8010
8011 * plugin/plugin-hsa.c (packet_store_release): New function
8012 that is taken from the HSA runtime manual.
8013 (GOMP_OFFLOAD_run): Use the function.
8014
04833609
JJ
80152016-03-23 Jakub Jelinek <jakub@redhat.com>
8016
8017 PR c++/70376
8018 * testsuite/libgomp.c++/pr70376.C: New test.
8019
d79ee524
TV
80202016-03-23 Tom de Vries <tom@codesourcery.com>
8021
8022 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
8023 initialization of lresult and lvresult.
8024 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
8025
b6d1f2b5
JN
80262016-03-23 James Norris <jnorris@codesourcery.com>
8027 Daichi Fukuoka <dc-fukuoka@sgi.com>
8028
8029 PR libgomp/69414
8030 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
8031 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
8032 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8033 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
8034
7397fce2
ML
80352016-03-23 Martin Liska <mliska@suse.cz>
8036
8037 PR hsa/70337
8038 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
8039 argument just in case a dispatched kernel uses that argument.
8040
ee2e7d51
TS
80412016-03-16 Thomas Schwinge <thomas@codesourcery.com>
8042
8043 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
8044 -ftree-parallelize-loops/-fopenacc changes.
8045 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
8046 Likewise.
8047 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8048 Likewise.
8049 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
8050 Likewise.
8051 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
8052 Likewise.
8053 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8054 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8055
be9f7143
TS
80562016-03-13 Thomas Schwinge <thomas@codesourcery.com>
8057
8058 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
8059 always_ld_library_path the path to libgcc_s.
8060
f6c1032d
CP
80612016-03-10 Cesar Philippidis <cesar@codesourcery.com>
8062
8063 PR testsuite/70009
8064 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
8065
5a6452e6
TV
80662016-03-09 Tom de Vries <tom@codesourcery.com>
8067
8068 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
8069 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
8070 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8071 Same.
8072 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
8073 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
8074 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
8075 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
8076
96a71bd5
MJ
80772016-03-07 Martin Jambor <mjambor@suse.cz>
8078
8079 * testsuite/lib/libgomp.exp
8080 (check_effective_target_hsa_offloading_selected_nocache): New.
8081 (check_effective_target_hsa_offloading_selected): Likewise.
8082 * testsuite/libgomp.hsa.c/c.exp: Likewise.
8083 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
8084 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
8085 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
8086 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
8087 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
8088 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
8089 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
8090 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
8091 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
8092 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
8093 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
8094 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
8095 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
8096 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
8097 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
8098 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
8099
02e0b5b2
MJ
81002016-03-07 Martin Jambor <mjambor@suse.cz>
8101
8102 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
8103 non-shared memory accelerators.
8104 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
8105 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
8106 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
8107 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
8108 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8109 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8110 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8111 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8112 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8113
45548f30
MJ
81142016-03-07 Martin Jambor <mjambor@suse.cz>
8115
8116 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
8117 ALWAYS_CFLAGS.
8118
da3d46cb
JJ
81192016-03-02 Jakub Jelinek <jakub@redhat.com>
8120
8121 PR libgomp/69555
8122 * testsuite/libgomp.c++/pr69555-1.C: New test.
8123 * testsuite/libgomp.c++/pr69555-2.C: New test.
8124
622174b2
KM
81252016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
8126 Martin Jambor <mjambor@suse.cz>
8127
8128 * testsuite/lib/libgomp.exp
8129 (check_effective_target_offload_device_shared_as): New proc.
8130 * testsuite/libgomp.c++/declare_target-1.C: New test.
8131
e6861a99
IV
81322016-02-25 Ilya Verbin <ilya.verbin@intel.com>
8133
8134 PR driver/68463
8135 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
8136
f99c3557
TS
81372016-02-23 Thomas Schwinge <thomas@codesourcery.com>
8138
8139 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
8140 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
8141 dims.
8142 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
8143 -ftree-parallelize-loops/-fopenacc changes.
8144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
8145 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
8146 Likewise.
8147 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
8148 Likewise.
8149 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
8150 Likewise.
8151 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
8152 Likewise.
8153 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
8154 Likewise.
8155 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
8156 Likewise.
8157 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
8158 Likewise.
8159 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
8160 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
8161 Likewise.
8162 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
8163 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
8164 Likewise.
8165 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
8166 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
8167 Likewise.
8168
d5ace3b5
CP
81692016-02-22 Cesar Philippidis <cesar@codesourcery.com>
8170
8171 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
8172
f3609a89
JJ
81732016-02-19 Jakub Jelinek <jakub@redhat.com>
8174
8175 PR driver/69805
8176 * testsuite/libgomp.c/pr69805.c: New test.
8177
2175df99
TV
81782016-02-16 Tom de Vries <tom@codesourcery.com>
8179
8180 PR lto/67709
8181 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
8182
17b6426c
TV
81832016-02-09 Tom de Vries <tom@codesourcery.com>
8184
8185 PR tree-optimization/69599
8186 * testsuite/libgomp.c/omp-nested-3.c: New test.
8187 * testsuite/libgomp.c/pr46032-2.c: New test.
8188 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
8189 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
8190
34df756c
TV
81912016-02-09 Tom de Vries <tom@codesourcery.com>
8192
8193 PR lto/69707
8194 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
8195
5854ee30
AM
81962016-02-02 Alexander Monakov <amonakov@ispras.ru>
8197
8198 * testsuite/libgomp.c/target-31.c: Fix testcase.
8199
e70b6ad7
AM
82002016-02-02 Alexander Monakov <amonakov@ispras.ru>
8201
8202 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
8203 clause.
8204 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
8205 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
8206 reduction and map clauses.
8207 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8208
bd78a45f
JN
82092016-02-02 James Norris <jnorris@codesourcery.com>
8210
8211 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
8212
41d809d3
TS
82132016-02-02 Thomas Schwinge <thomas@codesourcery.com>
8214
18f60146
TS
8215 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
8216 * oacc-parallel.c (GOACC_host_data): Remove function definition.
8217
1a06f5e6
TS
8218 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
8219 cases.
8220
033ff3d1
TS
8221 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
8222 variables.
8223 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
8224 (hsa_kmt_lib): Set variables.
8225 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
8226 always_ld_library_path.
8227 * Makefile.in: Regenerate.
8228 * configure: Likewise.
8229 * testsuite/Makefile.in: Likewise.
8230
4a88d9b7
TS
8231 * plugin/configfrag.ac (offload_additional_options)
8232 (offload_additional_lib_paths): Don't amend for hsa offloading.
8233 * configure: Regenerate.
8234
41d809d3
TS
8235 * plugin/configfrag.ac: Don't configure for offloading target if
8236 we don't build the corresponding plugin.
8237 * configure: Regenerate.
8238
b6adbb9f
NS
82392016-02-01 Nathan Sidwell <nathan@codesourcery.com>
8240
8241 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
8242 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
8243
8dfdb419
TV
82442016-01-26 Tom de Vries <tom@codesourcery.com>
8245
8246 PR tree-optimization/69110
8247 * testsuite/libgomp.c/pr69110.c: New test.
8248
02ef53f2
RB
82492016-01-25 Richard Biener <rguenther@suse.de>
8250
8251 PR lto/69393
8252 * testsuite/libgomp.c++/pr69393.C: New testcase.
8253
eb4048f2
IV
82542016-01-22 Ilya Verbin <ilya.verbin@intel.com>
8255
8256 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
8257 function wasn't mapped to the device with non-shared memory.
8258
b235cdd5
IV
82592016-01-20 Ilya Verbin <ilya.verbin@intel.com>
8260
8261 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
8262
b2b40051
MJ
82632016-01-19 Martin Jambor <mjambor@suse.cz>
8264 Martin Liska <mliska@suse.cz>
8265
8266 * plugin/Makefrag.am: Add HSA plugin requirements.
8267 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
8268 (HSA_RUNTIME_LIB): Likewise.
8269 (HSA_RUNTIME_CPPFLAGS): Likewise.
8270 (HSA_RUNTIME_INCLUDE): New substitution.
8271 (HSA_RUNTIME_LIB): Likewise.
8272 (HSA_RUNTIME_LDFLAGS): Likewise.
8273 (hsa-runtime): New configure option.
8274 (hsa-runtime-include): Likewise.
8275 (hsa-runtime-lib): Likewise.
8276 (PLUGIN_HSA): New substitution variable.
8277 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
8278 configure options.
8279 (PLUGIN_HSA_CPPFLAGS): Likewise.
8280 (PLUGIN_HSA_LDFLAGS): Likewise.
8281 (PLUGIN_HSA_LIBS): Likewise.
8282 Check that we have access to HSA run-time.
8283 * libgomp-plugin.h (offload_target_type): New element
8284 OFFLOAD_TARGET_TYPE_HSA.
8285 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
8286 args.
8287 (bool gomp_create_target_task): Updated.
8288 (gomp_device_descr): Extra parameter of run_func and async_run_func,
8289 new field can_run_func.
8290 * libgomp_g.h (GOMP_target_ext): Update prototype.
8291 * oacc-host.c (host_run): Added a new parameter args.
8292 * target.c (calculate_firstprivate_requirements): New function.
8293 (copy_firstprivate_data): Likewise.
8294 (gomp_target_fallback_firstprivate): Use them.
8295 (gomp_target_unshare_firstprivate): New function.
8296 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
8297 devices.
8298 (GOMP_target): Do host fallback for all shared memory devices. Do not
8299 pass any args to plugins.
8300 (GOMP_target_ext): Introduce device-specific argument parameter args.
8301 Allow host fallback if device shares memory. Do not remap data if
8302 device has shared memory.
8303 (gomp_target_task_fn): Likewise. Also treat shared memory devices
8304 like host fallback for mappings.
8305 (GOMP_target_data): Treat shared memory devices like host fallback.
8306 (GOMP_target_data_ext): Likewise.
8307 (GOMP_target_update): Likewise.
8308 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
8309 gomp_create_target_task.
8310 (GOMP_target_enter_exit_data): Likewise.
8311 (omp_target_alloc): Treat shared memory devices like host fallback.
8312 (omp_target_free): Likewise.
8313 (omp_target_is_present): Likewise.
8314 (omp_target_memcpy): Likewise.
8315 (omp_target_memcpy_rect): Likewise.
8316 (omp_target_associate_ptr): Likewise.
8317 (gomp_load_plugin_for_device): Also load can_run.
8318 * task.c (GOMP_PLUGIN_target_task_completion): Free
8319 firstprivate_copies.
8320 (gomp_create_target_task): Accept new argument args and store it to
8321 ttask.
8322 * plugin/plugin-hsa.c: New file.
8323
5d7804a9
TV
83242016-01-18 Tom de Vries <tom@codesourcery.com>
8325
8326 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
8327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
8328 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
8329 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
8330 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
8331 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
8332 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
8333 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
8334 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
8335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
8336 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
8337 Same.
8338 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
8339 Same.
8340 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
8341 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
8342 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
8343 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
8344 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
8345 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
8346 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
8347 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
8348 Same.
8349 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
8350
cb11f3cf
JJ
83512016-01-15 Jakub Jelinek <jakub@redhat.com>
8352
8353 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
8354
33a126a6
CP
83552016-01-15 Cesar Philippidis <cesar@codesourcery.com>
8356
8357 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
8358
cdf6119d
JN
83592016-01-12 James Norris <jnorris@codesourcery.com>
8360
8361 * libgomp.texi: Updates for OpenACC.
8362
0d58938e
AM
83632016-01-11 Alexander Monakov <amonakov@ispras.ru>
8364
8365 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
8366
95918b49
L
83672016-01-07 H.J. Lu <hongjiu.lu@intel.com>
8368
8369 PR fortran/66680
8370 * testsuite/libgomp.fortran/pr66680.f90: New test.
8371
8fc708b7
JJ
83722016-01-07 Jakub Jelinek <jakub@redhat.com>
8373
8374 PR middle-end/68960
8375 * testsuite/libgomp.c/pr68960.c: New test.
8376
e9b596c1
NS
83772016-01-06 Nathan Sidwell <nathan@acm.org>
8378
1a14faf2 8379 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
8380 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
8381
21fa2a29
JJ
83822016-01-04 Jakub Jelinek <jakub@redhat.com>
8383
818ab71a
JJ
8384 Update copyright years.
8385
21fa2a29
JJ
8386 * libgomp.texi: Bump @copying's copyright year.
8387
9310efbc
NS
83882015-12-31 Nathan Sidwell <nathan@acm.org>
8389
8390 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
8391 dg-additional-options syntax.
8392 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
8393 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
8394 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
8395 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8396 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
8397 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
8398 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
8399 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
8400 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
8401 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
8402 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8403 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
8404 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
8405 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
8406 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
8407 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
8408 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8409 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8410
4a38b02b
IV
84112015-12-15 Ilya Verbin <ilya.verbin@intel.com>
8412
8413 * libgomp.h (REFCOUNT_LINK): Define.
8414 (struct splay_tree_key_s): Add link_key.
8415 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
8416 Replace target address of the pointer with target address of newly
8417 mapped object in the splay tree. Set link pointer on target to the
8418 device address of the mapped object.
8419 (gomp_unmap_vars): Restore target address of the pointer in the splay
8420 tree for REFCOUNT_LINK objects after unmapping.
8421 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
8422 declare target link" objects.
8423 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
8424 "omp declare target link" objects, which were mapped for the image.
8425 (gomp_exit_data): Restore target address of the pointer in the splay
8426 tree for REFCOUNT_LINK objects after unmapping.
8427 * testsuite/libgomp.c/target-link-1.c: New file.
8428
d84ffc0a
IV
84292015-12-14 Ilya Verbin <ilya.verbin@intel.com>
8430
8431 * libgomp.h (gomp_device_state): New enum.
8432 (struct gomp_device_descr): Replace is_initialized with state.
8433 (gomp_fini_device): Remove declaration.
8434 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
8435 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
8436 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
8437 (acc_set_device_type): Use state instead of is_initialized.
8438 (acc_set_device_num): Likewise.
8439 * target.c (resolve_device): Use state instead of is_initialized.
8440 Do not initialize finalized device.
8441 (gomp_map_vars): Do nothing if device is finalized.
8442 (gomp_unmap_vars): Likewise.
8443 (gomp_update): Likewise.
8444 (GOMP_offload_register_ver): Use state instead of is_initialized.
8445 (GOMP_offload_unregister_ver): Likewise.
8446 (gomp_init_device): Likewise.
8447 (gomp_unload_device): Likewise.
8448 (gomp_fini_device): Remove.
8449 (gomp_get_target_fn_addr): Do nothing if device is finalized.
8450 (GOMP_target): Go to host fallback if device is finalized.
8451 (GOMP_target_ext): Likewise.
8452 (gomp_exit_data): Do nothing if device is finalized.
8453 (gomp_target_task_fn): Go to host fallback if device is finalized.
8454 (gomp_target_fini): New static function.
8455 (gomp_target_init): Use state instead of is_initialized.
8456 Call gomp_target_fini at exit.
8457
76680678
TV
84582015-12-09 Tom de Vries <tom@codesourcery.com>
8459
8460 PR tree-optimization/68716
8461 * testsuite/libgomp.c/omp-nested-2.c: New test.
8462
ff7a55bf
TS
84632015-12-02 Thomas Schwinge <thomas@codesourcery.com>
8464
8465 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
8466 target openacc_nvidia_accel_selected.
8467 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
8468 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
8469 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
8470 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
8471
37d5ad46
JB
84722015-12-01 Julian Brown <julian@codesourcery.com>
8473 James Norris <James_Norris@mentor.com>
8474
8475 * oacc-parallel.c (GOACC_host_data): New function.
8476 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
8477 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
8478 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
8479 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
8480 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
8481 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
8482 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
8483
db941d7e
CP
84842015-11-30 James Norris <jnorris@codesourcery.com>
8485 Cesar Philippidis <cesar@codesourcery.com>
8486
8487 libgomp/
8488 * libgomp.oacc-fortran/routine-5.f90: New test.
8489 * libgomp.oacc-fortran/routine-7.f90: New test.
8490 * libgomp.oacc-fortran/routine-9.f90: New test.
8491
e0ca27c5
TV
84922015-11-30 Tom de Vries <tom@codesourcery.com>
8493
8494 PR tree-optimization/46032
8495 * testsuite/libgomp.c/pr46032.c: New test.
8496
aec17bfe
JJ
84972015-11-27 Jakub Jelinek <jakub@redhat.com>
8498
8e4e4719
JJ
8499 PR libgomp/68579
8500 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
8501 (gomp_create_target_task): Call it before freeing
8502 GOMP_TARGET_TASK_DATA tasks.
8503
aec17bfe
JJ
8504 PR c/63326
8505 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
8506 in between case label and OpenMP standalone directives.
8507 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
8508
6cfe90e6
DE
85092015-11-26 David Edelsohn <dje.gcc@gmail.com>
8510
8511 * configure: Regenerate.
8512
0e65fd7d
JJ
85132015-11-26 Jakub Jelinek <jakub@redhat.com>
8514
8515 * testsuite/libgomp.c/target-35.c: New test.
8516
dc7a8b4b
JN
85172015-11-22 James Norris <jnorris@codesourcery.com>
8518 Cesar Philippidis <cesar@codesourcery.com>
8519
8520 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
8521 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8522 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8523 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8524 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8525
48a78aee
JJ
85262015-11-20 Jakub Jelinek <jakub@redhat.com>
8527
8528 PR middle-end/68221
8529 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
8530 * testsuite/libgomp.c/reduction-12.c: Likewise.
8531 * testsuite/libgomp.c++/reduction-11.C: Likewise.
8532 * testsuite/libgomp.c++/reduction-12.C: Likewise.
8533
2d256816
NS
85342015-11-19 Nathan Sidwell <nathan@codesourcery.com>
8535
8536 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
8537 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
8538 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
8539 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
8540 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
8541 and fix.
8542 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8543 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8544
33f47f42
NS
85452015-11-18 Nathan Sidwell <nathan@codesourcery.com>
8546
8547 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
8548 worker & gang cases.
8549 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
8550
3d7bfee0
CP
85512015-11-17 Cesar Philippidis <cesar@codesourcery.com>
8552
8553 * config/nvptx/priority_queue.c: New file.
8554
00b9bd52
JJ
85552015-11-14 Jakub Jelinek <jakub@redhat.com>
8556
8557 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
8558 sections.
8559
e4606348
JJ
85602015-11-14 Jakub Jelinek <jakub@redhat.com>
8561 Aldy Hernandez <aldyh@redhat.com>
8562 Ilya Verbin <ilya.verbin@intel.com>
8563
8564 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
8565 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
8566 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
8567 iterators or IV by chunk size.
8568 * parallel.c (gomp_resolve_num_threads): Don't assume that
8569 if thr->ts.team is non-NULL, then pool must be non-NULL.
8570 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
8571 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
8572 GOMP_PLUGIN_target_task_completion.
8573 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
8574 * Makefile.in: Regenerate.
8575 * libgomp.h: Shuffle prototypes and forward definitions around so
8576 priority queues can be defined.
8577 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
8578 (enum gomp_target_task_state): New enum.
8579 (struct gomp_target_task): Add state, tgt, task and team fields.
8580 (gomp_create_target_task): Change return type to bool, add
8581 state argument.
8582 (gomp_target_task_fn): Change return type to bool.
8583 (struct gomp_device_descr): Add async_run_func.
8584 (struct gomp_task): Remove children, next_child, prev_child,
8585 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
8586 Add pnode field.
8587 (struct gomp_taskgroup): Remove children.
8588 Add taskgroup_queue.
8589 (struct gomp_team): Change task_queue type to a priority queue.
8590 (splay_compare): Define inline.
8591 (priority_queue_offset): New.
8592 (priority_node_to_task): New.
8593 (task_to_priority_node): New.
8594 * oacc-mem.c: Do not include splay-tree.h.
8595 * priority_queue.c: New file.
8596 * priority_queue.h: New file.
8597 * splay-tree.c: Do not include splay-tree.h.
8598 (splay_tree_foreach_internal): New.
8599 (splay_tree_foreach): New.
8600 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
8601 (splay_tree_callback): Define typedef.
8602 * target.c (splay_compare): Move to libgomp.h.
8603 (GOMP_target): Don't adjust *thr in any way around running offloaded
8604 task.
8605 (GOMP_target_ext): Likewise. Handle target nowait.
8606 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
8607 return value from gomp_create_target_task, if false, fallthrough
8608 as if no dependencies exist.
8609 (gomp_target_task_fn): Change return type to bool, return true
8610 if the task should have another part scheduled later. Handle
8611 target nowait.
8612 (gomp_load_plugin_for_device): Initialize async_run.
8613 * task.c (gomp_init_task): Initialize children_queue.
8614 (gomp_clear_parent_in_list): New.
8615 (gomp_clear_parent_in_tree): New.
8616 (gomp_clear_parent): Handle priorities.
8617 (GOMP_task): Likewise.
8618 (priority_queue_move_task_first,
8619 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
8620 New functions.
8621 (gomp_create_target_task): Use priority queues. Change return type
8622 to bool, add state argument, return false if for async
8623 {{enter,exit} data,update} constructs no dependencies need to be
8624 waited for, handle target nowait. Set task->fn to NULL instead of
8625 gomp_target_task_fn.
8626 (verify_children_queue): Remove.
8627 (priority_list_upgrade_task): New.
8628 (priority_queue_upgrade_task): New.
8629 (verify_task_queue): Remove.
8630 (priority_list_downgrade_task): New.
8631 (priority_queue_downgrade_task): New.
8632 (gomp_task_run_pre): Use priority queues.
8633 Abstract code out to priority_queue_downgrade_task.
8634 (gomp_task_run_post_handle_dependers): Use priority queues.
8635 (gomp_task_run_post_remove_parent): Likewise.
8636 (gomp_task_run_post_remove_taskgroup): Likewise.
8637 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
8638 tasks specially.
8639 (GOMP_taskwait): Likewise.
8640 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
8641 priority-queue_upgrade_task.
8642 (GOMP_taskgroup_start): Use priority queues.
8643 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
8644 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
8645 barrier.
8646 * taskloop.c (GOMP_taskloop): Handle priorities.
8647 * team.c (gomp_new_team): Call priority_queue_init.
8648 (free_team): Call priority_queue_free.
8649 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
8650 team created for target nowait in implicit parallel region.
8651 (gomp_team_start): For nested check, test thr->ts.level instead of
8652 thr->ts.team != NULL.
8653 * testsuite/libgomp.c/doacross-3.c: New test.
8654 * testsuite/libgomp.c/ordered-5.c: New test.
8655 * testsuite/libgomp.c/priority.c: New test.
8656 * testsuite/libgomp.c/target-31.c: New test.
8657 * testsuite/libgomp.c/target-32.c: New test.
8658 * testsuite/libgomp.c/target-33.c: New test.
8659 * testsuite/libgomp.c/target-34.c: New test.
8660
1d1ab74f
NS
86612015-11-13 Nathan Sidwell <nathan@codesourcery.com>
8662
c5a64cfe
NS
8663 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
8664
1d1ab74f
NS
8665 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
8666 loop is sequential.
8667
dd3c1b14
NS
86682015-11-13 Nathan Sidwell <nathan@codesourcery.com>
8669
8670 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
8671 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
8672
6e232ba4
JN
86732015-11-12 James Norris <jnorris@codesourcery.com>
8674 Joseph Myers <joseph@codesourcery.com>
8675
8676 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
8677 * oacc-parallel.c (GOACC_declare): New function.
8678 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
8679 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
8680 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
8681 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
8682 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
8683
fffeedeb
NS
86842015-11-12 Nathan Sidwell <nathan@codesourcery.com>
8685
8686 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
8687
182190f2
NS
86882015-11-1 Nathan Sidwell <nathan@codesourcery.com>
8689
8690 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
8691 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
8692
36fa0f5f
NS
86932015-11-09 Nathan Sidwell <nathan@codesourcery.com>
8694
d350c40c
NS
8695 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
8696 inadvertent commit.
8697
86982015-11-09 Nathan Sidwell <nathan@codesourcery.com>
8699
36fa0f5f
NS
8700 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
8701 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
8702 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
8703 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
8704 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
8705
66a5f0b4
TS
87062015-11-06 Thomas Schwinge <thomas@codesourcery.com>
8707
8708 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
8709 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
8710
e01d41e5
JJ
87112015-11-05 Jakub Jelinek <jakub@redhat.com>
8712 Ilya Verbin <ilya.verbin@intel.com>
8713
8714 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
8715 GOMP_loop_nonmonotonic_dynamic_start,
8716 GOMP_loop_nonmonotonic_guided_next,
8717 GOMP_loop_nonmonotonic_guided_start,
8718 GOMP_loop_ull_nonmonotonic_dynamic_next,
8719 GOMP_loop_ull_nonmonotonic_dynamic_start,
8720 GOMP_loop_ull_nonmonotonic_guided_next,
8721 GOMP_loop_ull_nonmonotonic_guided_start,
8722 GOMP_parallel_loop_nonmonotonic_dynamic,
8723 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
8724 (GOMP_target_41): Renamed to ...
8725 (GOMP_target_ext): ... this. Add num_teams and thread_limit
8726 arguments.
8727 (GOMP_target_data_41): Renamed to ...
8728 (GOMP_target_data_ext): ... this.
8729 (GOMP_target_update_41): Renamed to ...
8730 (GOMP_target_update_ext): ... this.
8731 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
8732 GOMP_target_data_ext and GOMP_target_update_ext instead of
8733 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
8734 Export GOMP_loop_nonmonotonic_dynamic_next,
8735 GOMP_loop_nonmonotonic_dynamic_start,
8736 GOMP_loop_nonmonotonic_guided_next,
8737 GOMP_loop_nonmonotonic_guided_start,
8738 GOMP_loop_ull_nonmonotonic_dynamic_next,
8739 GOMP_loop_ull_nonmonotonic_dynamic_start,
8740 GOMP_loop_ull_nonmonotonic_guided_next,
8741 GOMP_loop_ull_nonmonotonic_guided_start,
8742 GOMP_parallel_loop_nonmonotonic_dynamic and
8743 GOMP_parallel_loop_nonmonotonic_guided.
8744 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
8745 GOMP_parallel_loop_nonmonotonic_guided,
8746 GOMP_loop_nonmonotonic_dynamic_start,
8747 GOMP_loop_nonmonotonic_guided_start,
8748 GOMP_loop_nonmonotonic_dynamic_next,
8749 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
8750 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
8751 GOMP_loop_ull_nonmonotonic_guided_start,
8752 GOMP_loop_ull_nonmonotonic_dynamic_next,
8753 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
8754 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
8755 functions.
8756 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
8757 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
8758 Use gomp_map_val function.
8759 (gomp_target_fallback_firstprivate): New static function.
8760 (GOMP_target_41): Renamed to ...
8761 (GOMP_target_ext): ... this. Add num_teams and thread_limit
8762 arguments. Move firstprivate fallback handling into a new
8763 function.
8764 (GOMP_target_data_41): Renamed to ...
8765 (GOMP_target_data_ext): ... this.
8766 (GOMP_target_update_41): Renamed to ...
8767 (GOMP_target_update_ext): ... this.
8768 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
8769 gomp_map_0len_lookup instead of gomp_map_lookup.
8770 (omp_target_is_present): Use gomp_map_0len_lookup instead of
8771 gomp_map_lookup.
8772 * testsuite/libgomp.c/target-28.c: Likewise.
8773 * testsuite/libgomp.c/monotonic-1.c: New test.
8774 * testsuite/libgomp.c/monotonic-2.c: New test.
8775 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
8776 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
8777 * testsuite/libgomp.c/pr66199-5.c: New test.
8778 * testsuite/libgomp.c/pr66199-6.c: New test.
8779 * testsuite/libgomp.c/pr66199-7.c: New test.
8780 * testsuite/libgomp.c/pr66199-8.c: New test.
8781 * testsuite/libgomp.c/pr66199-9.c: New test.
8782 * testsuite/libgomp.c/reduction-11.c: New test.
8783 * testsuite/libgomp.c/reduction-12.c: New test.
8784 * testsuite/libgomp.c/reduction-13.c: New test.
8785 * testsuite/libgomp.c/reduction-14.c: New test.
8786 * testsuite/libgomp.c/reduction-15.c: New test.
8787 * testsuite/libgomp.c/target-12.c (main): Adjust for
8788 omp_target_is_present change for one-past-last element.
8789 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
8790 the same var is both mapped and privatized.
8791 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
8792 handling of zero-length array sections.
8793 * testsuite/libgomp.c/target-28.c: New test.
8794 * testsuite/libgomp.c/target-29.c: New test.
8795 * testsuite/libgomp.c/target-30.c: New test.
8796 * testsuite/libgomp.c/target-teams-1.c: New test.
8797 * testsuite/libgomp.c++/member-6.C: New test.
8798 * testsuite/libgomp.c++/member-7.C: New test.
8799 * testsuite/libgomp.c++/monotonic-1.C: New test.
8800 * testsuite/libgomp.c++/monotonic-2.C: New test.
8801 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
8802 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
8803 * testsuite/libgomp.c++/pr66199-3.C: New test.
8804 * testsuite/libgomp.c++/pr66199-4.C: New test.
8805 * testsuite/libgomp.c++/pr66199-5.C: New test.
8806 * testsuite/libgomp.c++/pr66199-6.C: New test.
8807 * testsuite/libgomp.c++/pr66199-7.C: New test.
8808 * testsuite/libgomp.c++/pr66199-8.C: New test.
8809 * testsuite/libgomp.c++/pr66199-9.C: New test.
8810 * testsuite/libgomp.c++/reduction-11.C: New test.
8811 * testsuite/libgomp.c++/reduction-12.C: New test.
8812 * testsuite/libgomp.c++/target-13.C: New test.
8813 * testsuite/libgomp.c++/target-14.C: New test.
8814 * testsuite/libgomp.c++/target-15.C: New test.
8815 * testsuite/libgomp.c++/target-16.C: New test.
8816 * testsuite/libgomp.c++/target-17.C: New test.
8817 * testsuite/libgomp.c++/target-18.C: New test.
8818 * testsuite/libgomp.c++/target-19.C: New test.
8819
ccc8282b
NS
88202015-11-04 Nathan Sidwell <nathan@codesourcery.com>
8821
8822 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
8823 and reduction copy.
8824 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8825 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8826 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8827 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8828 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
8829 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8830 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8831 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8832 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8833 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
8834 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8835 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8836 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8837 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
8838
5d6823a2
NS
88392015-11-04 Nathan Sidwell <nathan@codesourcery.com>
8840
8841 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
8842 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
8843 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
8844 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
8845 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
8846 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
8847 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
8848 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
8849
5c06742f
NS
88502015-11-03 Nathan Sidwell <nathan@codesourcery.com>
8851
8852 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
8853 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
8854 (GOMP_OFFLOAD_openacc_parallel): Likewise.
8855 * oacc-host.c (host_openacc_exec): Likewise.
8856 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
8857
4bf9e5a8
TS
88582015-11-03 Julian Brown <julian@codesourcery.com>
8859 Thomas Schwinge <thomas@codesourcery.com>
8860
8861 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
8862 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8863 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
8864 Likewise.
8865 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
8866 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
8867
88682015-11-03 James Norris <jnorris@codesourcery.com>
8869
8870 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
8871 file.
8872 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
8873 Likewise.
8874 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
8875 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
8876 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8877 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
8878 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8879
a0e701d8
NS
88802015-10-29 Nathan Sidwell <nathan@codesourcery.com>
8881
8882 * openacc.h (enum acc_device_t): Reformat. Ensure layout
8883 compatibility.
8884 (enum acc_async_t): Reformat.
8885 (acc_on_device): Declare compatible with builtin and provide C++
8886 wrapper.
8887 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
8888
41e977ac
TS
88892015-10-29 Thomas Schwinge <thomas@codesourcery.com>
8890 Cesar Philippidis <cesar@codesourcery.com>
8891
8892 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
8893 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
8894 ... this. Add a description of the test at the top of the file.
8895 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
8896 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
8897 ... this. Add a description of the test at the top of the file.
8898
e3091406
NS
88992015-10-28 Nathan Sidwell <nathan@codesourcery.com>
8900
8901 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
8902 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
8903 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
8904 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
8905 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
8906 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
8907
a1c1908b
NS
89082015-10-27 Nathan Sidwell <nathan@codesourcery.com>
8909
8910 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
8911 dimensions.
8912
b3962a4a
TS
89132015-10-27 Thomas Schwinge <thomas@codesourcery.com>
8914
8915 PR testsuite/68063
8916 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
8917
88bae6f4
TS
89182015-10-27 James Norris <jnorris@codesourcery.com>
8919
8920 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
8921 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
8922
8baa7864
TS
89232015-10-26 Thomas Schwinge <thomas@codesourcery.com>
8924
bdeb752c
TS
8925 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
8926 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8927
ecd4fd43
TS
8928 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
8929 acc_device_nvidia usage.
8930 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8931 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8932 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8933
aa8b7d30
TS
8934 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
8935 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
8936
7c8f138d
TS
8937 PR libgomp/66518
8938 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
8939
8baa7864
TS
8940 PR libgomp/65437
8941 PR libgomp/66518
8942 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
8943 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
8944
88ebcde5
TV
89452015-10-23 Tom de Vries <tom@codesourcery.com>
8946
8947 PR testsuite/68063
8948 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
8949
9ef83c04
NS
89502015-10-20 Nathan Sidwell <nathan@codesourcery.com>
8951
8952 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
8953 vector_length.
8954 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8955
3837c6d6
IV
89562015-10-14 Ilya Verbin <ilya.verbin@intel.com>
8957 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
8958
8959 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
8960 to 0 when mapnum is 0.
8961
ac8a1965
SH
89622015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
8963
8964 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
8965 Cast to int from int32_t.
8966
d9a6bd32
JJ
89672015-10-13 Jakub Jelinek <jakub@redhat.com>
8968 Aldy Hernandez <aldyh@redhat.com>
8969 Ilya Verbin <ilya.verbin@intel.com>
8970
8971 * config/linux/affinity.c (omp_get_place_num_procs,
8972 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
8973 * config/linux/doacross.h: New file.
8974 * config/posix/affinity.c (omp_get_place_num_procs,
8975 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
8976 * config/posix/doacross.h: New file.
8977 * env.c: Include gomp-constants.h.
8978 (struct gomp_task_icv): Rename run_sched_modifier to
8979 run_sched_chunk_size.
8980 (gomp_max_task_priority_var): New variable.
8981 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
8982 (handle_omp_display_env): Change _OPENMP value from 201307 to
8983 201511. Print OMP_MAX_TASK_PRIORITY.
8984 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
8985 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
8986 chunk_size and run_sched_modifier to run_sched_chunk_size.
8987 (omp_get_max_task_priority, omp_get_initial_device,
8988 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
8989 omp_get_partition_place_nums): New functions.
8990 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
8991 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
8992 to chunk_size.
8993 (omp_get_num_places_, omp_get_place_num_procs_,
8994 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
8995 omp_get_place_proc_ids_8_, omp_get_place_num_,
8996 omp_get_partition_num_places_, omp_get_partition_place_nums_,
8997 omp_get_partition_place_nums_8_, omp_get_initial_device_,
8998 omp_get_max_task_priority_): New functions.
8999 * libgomp_g.h (GOMP_loop_doacross_static_start,
9000 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
9001 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
9002 GOMP_loop_ull_doacross_dynamic_start,
9003 GOMP_loop_ull_doacross_guided_start,
9004 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
9005 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
9006 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
9007 GOMP_target_data_41, GOMP_target_update_41,
9008 GOMP_target_enter_exit_data): New prototypes.
9009 (GOMP_task): Add prototype argument.
9010 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
9011 (struct gomp_doacross_work_share): New type.
9012 (struct gomp_work_share): Add doacross field.
9013 (struct gomp_task_icv): Rename run_sched_modifier to
9014 run_sched_chunk_size.
9015 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
9016 GOMP_TASK_UNDEFERRED. Add comments.
9017 (struct gomp_task_depend_entry): Add comments.
9018 (struct gomp_task): Likewise.
9019 (struct gomp_taskgroup): Likewise.
9020 (struct gomp_target_task): New type.
9021 (struct gomp_team): Add comment.
9022 (gomp_get_place_proc_ids_8, gomp_doacross_init,
9023 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
9024 gomp_create_target_task, gomp_target_task_fn): New prototypes.
9025 (struct target_var_desc): New type.
9026 (struct target_mem_desc): Adjust comment. Use struct
9027 target_var_desc instead of splay_tree_key for list.
9028 (REFCOUNT_INFINITY): Define.
9029 (struct splay_tree_key_s): Remove copy_from field.
9030 (struct gomp_device_descr): Add dev2dev_func field.
9031 (enum gomp_map_vars_kind): New enum.
9032 (gomp_map_vars): Add one argument.
9033 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
9034 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
9035 omp_get_place_num_procs, omp_get_place_num_procs_,
9036 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
9037 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
9038 omp_get_place_num_, omp_get_partition_num_places,
9039 omp_get_partition_num_places_, omp_get_partition_place_nums,
9040 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
9041 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
9042 omp_target_free, omp_target_is_present, omp_target_memcpy,
9043 omp_target_memcpy_rect, omp_target_associate_ptr and
9044 omp_target_disassociate_ptr.
9045 (GOMP_4.0.2): Renamed to ...
9046 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
9047 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
9048 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
9049 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9050 GOMP_loop_doacross_static_start, GOMP_doacross_post,
9051 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
9052 GOMP_loop_ull_doacross_guided_start,
9053 GOMP_loop_ull_doacross_runtime_start,
9054 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
9055 GOMP_doacross_ull_wait.
9056 * libgomp.texi: Document omp_get_max_task_priority.
9057 Rename modifier argument to chunk_size for omp_set_schedule and
9058 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
9059 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
9060 to run_sched_chunk_size renaming.
9061 (GOMP_loop_ordered_runtime_start): Likewise.
9062 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9063 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9064 GOMP_parallel_loop_runtime_start): New functions.
9065 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
9066 to run_sched_chunk_size renaming.
9067 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
9068 GOMP_loop_doacross_guided_start): New functions or aliases.
9069 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
9070 run_sched_modifier to run_sched_chunk_size renaming.
9071 (GOMP_loop_ull_ordered_runtime_start): Likewise.
9072 (gomp_loop_ull_doacross_static_start,
9073 gomp_loop_ull_doacross_dynamic_start,
9074 gomp_loop_ull_doacross_guided_start,
9075 GOMP_loop_ull_doacross_runtime_start): New functions.
9076 (GOMP_loop_ull_doacross_static_start,
9077 GOMP_loop_ull_doacross_dynamic_start,
9078 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
9079 * oacc-mem.c (acc_map_data, present_create_copy,
9080 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
9081 to gomp_map_vars.
9082 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
9083 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
9084 instead of false to gomp_map_vars.
9085 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
9086 * omp.h.in (omp_lock_hint_t): New type.
9087 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9088 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9089 omp_get_place_num, omp_get_partition_num_places,
9090 omp_get_partition_place_nums, omp_get_initial_device,
9091 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
9092 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
9093 omp_target_associate_ptr, omp_target_disassociate_ptr): New
9094 prototypes.
9095 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
9096 (omp_lock_hint_none, omp_lock_hint_uncontended,
9097 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
9098 omp_lock_hint_speculative): New parameters.
9099 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9100 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9101 omp_get_place_num, omp_get_partition_num_places,
9102 omp_get_partition_place_nums, omp_get_initial_device,
9103 omp_get_max_task_priority): New interfaces.
9104 (omp_set_schedule, omp_get_schedule): Rename modifier argument
9105 to chunk_size.
9106 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
9107 (omp_lock_hint_none, omp_lock_hint_uncontended,
9108 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
9109 omp_lock_hint_speculative): New parameters.
9110 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9111 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9112 omp_get_place_num, omp_get_partition_num_places,
9113 omp_get_partition_place_nums, omp_get_initial_device,
9114 omp_get_max_task_priority): New functions and subroutines.
9115 * ordered.c: Include stdarg.h and string.h.
9116 (MAX_COLLAPSED_BITS): Define.
9117 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
9118 gomp_doacross_ull_init, GOMP_doacross_ull_post,
9119 GOMP_doacross_ull_wait): New functions.
9120 * target.c: Include errno.h.
9121 (resolve_device): If device is not initialized, call
9122 gomp_init_device on it.
9123 (gomp_map_lookup): New function.
9124 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
9125 Don't bump refcount if REFCOUNT_INFINITY. Handle
9126 GOMP_MAP_ALWAYS_TO_P.
9127 (get_kind): Rename is_openacc argument to short_mapkind.
9128 (gomp_map_pointer): Use gomp_map_lookup.
9129 (gomp_map_fields_existing): New function.
9130 (gomp_map_vars): Rename is_openacc argument to short_mapkind
9131 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
9132 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
9133 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
9134 Adjust for tgt->list changed type and copy_from living in there.
9135 (gomp_copy_from_async): Adjust for tgt->list changed type and
9136 copy_from living in there.
9137 (gomp_unmap_vars): Likewise.
9138 (gomp_update): Likewise. Rename is_openacc argument to
9139 short_mapkind. Don't fail if object is not mapped.
9140 (gomp_load_image_to_device): Initialize refcount to
9141 REFCOUNT_INFINITY.
9142 (gomp_target_fallback): New function.
9143 (gomp_get_target_fn_addr): Likewise.
9144 (GOMP_target): Adjust gomp_map_vars caller, use
9145 gomp_get_target_fn_addr and gomp_target_fallback.
9146 (GOMP_target_41): New function.
9147 (gomp_target_data_fallback): New function.
9148 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
9149 (GOMP_target_data_41): New function.
9150 (GOMP_target_update): Adjust gomp_update caller.
9151 (GOMP_target_update_41): New function.
9152 (gomp_exit_data, GOMP_target_enter_exit_data,
9153 gomp_target_task_fn, omp_target_alloc, omp_target_free,
9154 omp_target_is_present, omp_target_memcpy,
9155 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
9156 omp_target_associate_ptr, omp_target_disassociate_ptr,
9157 gomp_load_plugin_for_device): New functions.
9158 * task.c: Include gomp-constants.h. Include taskloop.c
9159 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
9160 (gomp_task_handle_depend): New function.
9161 (GOMP_task): Use it. Add priority argument. Use
9162 gomp-constant.h constants instead of hardcoded numbers.
9163 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
9164 (gomp_create_target_task): New function.
9165 (verify_children_queue, verify_taskgroup_queue,
9166 verify_task_queue): New functions.
9167 (gomp_task_run_pre): Call verify_*_queue functions.
9168 If an upcoming tied task is about to leave the sibling or
9169 taskgroup queues in an invalid state, adjust appropriately.
9170 Remove taskgroup argument. Add comments.
9171 (gomp_task_run_post_handle_dependers): Add comments.
9172 (gomp_task_run_post_remove_parent): Likewise.
9173 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
9174 (GOMP_taskwait): Likewise. Add comments.
9175 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
9176 problem such that the first non parent_depends_on task does not
9177 end up at the end of the children queue.
9178 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
9179 GOMP_TASK_UNDEFERRED.
9180 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
9181 * taskloop.c: New file.
9182 * testsuite/lib/libgomp.exp
9183 (check_effective_target_offload_device_nonshared_as): New proc.
9184 * testsuite/libgomp.c/affinity-2.c: New test.
9185 * testsuite/libgomp.c/doacross-1.c: New test.
9186 * testsuite/libgomp.c/doacross-2.c: New test.
9187 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
9188 Add map clause to target.
9189 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
9190 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
9191 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
9192 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
9193 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
9194 Likewise.
9195 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
9196 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
9197 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
9198 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
9199 not defined. Use those where needed.
9200 * testsuite/libgomp.c/for-4.c: New test.
9201 * testsuite/libgomp.c/for-5.c: New test.
9202 * testsuite/libgomp.c/for-6.c: New test.
9203 * testsuite/libgomp.c/linear-1.c: New test.
9204 * testsuite/libgomp.c/ordered-4.c: New test.
9205 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
9206 only allowed on the loop iterator.
9207 * testsuite/libgomp.c/pr66199-3.c: New test.
9208 * testsuite/libgomp.c/pr66199-4.c: New test.
9209 * testsuite/libgomp.c/reduction-7.c: New test.
9210 * testsuite/libgomp.c/reduction-8.c: New test.
9211 * testsuite/libgomp.c/reduction-9.c: New test.
9212 * testsuite/libgomp.c/reduction-10.c: New test.
9213 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
9214 map(tofrom:s).
9215 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
9216 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
9217 * testsuite/libgomp.c/target-11.c: New test.
9218 * testsuite/libgomp.c/target-12.c: New test.
9219 * testsuite/libgomp.c/target-13.c: New test.
9220 * testsuite/libgomp.c/target-14.c: New test.
9221 * testsuite/libgomp.c/target-15.c: New test.
9222 * testsuite/libgomp.c/target-16.c: New test.
9223 * testsuite/libgomp.c/target-17.c: New test.
9224 * testsuite/libgomp.c/target-18.c: New test.
9225 * testsuite/libgomp.c/target-19.c: New test.
9226 * testsuite/libgomp.c/target-20.c: New test.
9227 * testsuite/libgomp.c/target-21.c: New test.
9228 * testsuite/libgomp.c/target-22.c: New test.
9229 * testsuite/libgomp.c/target-23.c: New test.
9230 * testsuite/libgomp.c/target-24.c: New test.
9231 * testsuite/libgomp.c/target-25.c: New test.
9232 * testsuite/libgomp.c/target-26.c: New test.
9233 * testsuite/libgomp.c/target-27.c: New test.
9234 * testsuite/libgomp.c/taskloop-1.c: New test.
9235 * testsuite/libgomp.c/taskloop-2.c: New test.
9236 * testsuite/libgomp.c/taskloop-3.c: New test.
9237 * testsuite/libgomp.c/taskloop-4.c: New test.
9238 * testsuite/libgomp.c++/ctor-13.C: New test.
9239 * testsuite/libgomp.c++/doacross-1.C: New test.
9240 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
9241 Replace offload_device with offload_device_nonshared_as.
9242 * testsuite/libgomp.c++/for-12.C: New test.
9243 * testsuite/libgomp.c++/for-13.C: New test.
9244 * testsuite/libgomp.c++/for-14.C: New test.
9245 * testsuite/libgomp.c++/linear-1.C: New test.
9246 * testsuite/libgomp.c++/member-1.C: New test.
9247 * testsuite/libgomp.c++/member-2.C: New test.
9248 * testsuite/libgomp.c++/member-3.C: New test.
9249 * testsuite/libgomp.c++/member-4.C: New test.
9250 * testsuite/libgomp.c++/member-5.C: New test.
9251 * testsuite/libgomp.c++/ordered-1.C: New test.
9252 * testsuite/libgomp.c++/reduction-5.C: New test.
9253 * testsuite/libgomp.c++/reduction-6.C: New test.
9254 * testsuite/libgomp.c++/reduction-7.C: New test.
9255 * testsuite/libgomp.c++/reduction-8.C: New test.
9256 * testsuite/libgomp.c++/reduction-9.C: New test.
9257 * testsuite/libgomp.c++/reduction-10.C: New test.
9258 * testsuite/libgomp.c++/reference-1.C: New test.
9259 * testsuite/libgomp.c++/simd14.C: New test.
9260 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
9261 * testsuite/libgomp.c++/target-5.C: New test.
9262 * testsuite/libgomp.c++/target-6.C: New test.
9263 * testsuite/libgomp.c++/target-7.C: New test.
9264 * testsuite/libgomp.c++/target-8.C: New test.
9265 * testsuite/libgomp.c++/target-9.C: New test.
9266 * testsuite/libgomp.c++/target-10.C: New test.
9267 * testsuite/libgomp.c++/target-11.C: New test.
9268 * testsuite/libgomp.c++/target-12.C: New test.
9269 * testsuite/libgomp.c++/taskloop-1.C: New test.
9270 * testsuite/libgomp.c++/taskloop-2.C: New test.
9271 * testsuite/libgomp.c++/taskloop-3.C: New test.
9272 * testsuite/libgomp.c++/taskloop-4.C: New test.
9273 * testsuite/libgomp.c++/taskloop-5.C: New test.
9274 * testsuite/libgomp.c++/taskloop-6.C: New test.
9275 * testsuite/libgomp.c++/taskloop-7.C: New test.
9276 * testsuite/libgomp.c++/taskloop-8.C: New test.
9277 * testsuite/libgomp.c++/taskloop-9.C: New test.
9278 * testsuite/libgomp.fortran/affinity1.f90: New test.
9279 * testsuite/libgomp.fortran/affinity2.f90: New test.
9280
1f600fea
TV
92812015-10-13 Tom de Vries <tom@codesourcery.com>
9282
9283 PR tree-optimization/67476
9284 * testsuite/libgomp.c/autopar-3.c: New test.
9285 * testsuite/libgomp.c/autopar-4.c: New test.
9286 * testsuite/libgomp.c/autopar-5.c: New test.
9287 * testsuite/libgomp.c/autopar-6.c: New test.
9288 * testsuite/libgomp.c/autopar-7.c: New test.
9289 * testsuite/libgomp.c/autopar-8.c: New test.
9290
058a654b
JN
92912015-10-12 James Norris <jnorris@codesourcery.com>
9292
9293 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
9294 initializer.
9295
9e531d37
DM
92962015-10-09 David Malcolm <dmalcolm@redhat.com>
9297
9298 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
9299 using load_gcc_lib.
9300
113020dc
TS
93012015-10-02 Thomas Schwinge <thomas@codesourcery.com>
9302
9303 * oacc-ptx.h: Remove file, moving its content into...
9304 * config/nvptx/fortran.c: ... here...
9305 * config/nvptx/oacc-init.c: ..., here...
9306 * config/nvptx/oacc-parallel.c: ..., and here.
9307 * config/nvptx/openacc.f90: New file.
9308 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
9309 (link_ptx): Don't link in predefined bits of PTX code.
9310
cc3cd79b
NS
93112015-09-30 Nathan Sidwell <nathan@codesourcery.com>
9312 Bernd Schmidt <bernds@codesourcery.com>
9313
9314 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
9315 (struct targ_ptx_obj): New.
9316 (nvptx_tdata): Move earlier, change data format.
9317 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
9318 objects.
9319 (GOMP_OFFLOAD_load_image): Adjust.
9320
4e2a5450
TS
93212015-09-30 Thomas Schwinge <thomas@codesourcery.com>
9322
9323 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
9324 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9325 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9326 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9327 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9328 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9329 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9330 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9331 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9332 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9333 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9334 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9335 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9336 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9337 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9338 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9339 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9340 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9341 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9342 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9343 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9344 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9345 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9346 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9347 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9348 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9349 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9350 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9351 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9352 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9353 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9354 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9355 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9356 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9357 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9358 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9359 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9360 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9361 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9362 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9363 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9364 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9365 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9366 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9367 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9368 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9369 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9370 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9371 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9372 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9373 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9374 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9375 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9376 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9377 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9378 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9379 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9380 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9381 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9382 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9383 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9384 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9385 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9386
164453bb
NS
93872015-09-29 Nathan Sidwell <nathan@codesourcery.com>
9388
9389 * oacc-init.c (acc_on_device): Force optimization level.
9390
a12a0437
NS
93912015-09-29 Nathan Sidwell <nathan@codesourcery.com>
9392
9393 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
9394 (cuda_errlist): Delete.
9395 (cuda_error): Reimplement.
9396
3e32ee19
NS
93972015-09-28 Nathan Sidwell <nathan@codesourcery.com>
9398
9399 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
9400 array.
9401 * libgomp.map (GOACC_parallel_keyed): New.
9402 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
9403 all callers.
9404 (GOACC_parallel_keyed): New interface. Lose geometry arguments
9405 and take keyed varargs list. Adjust call to exec_func.
9406 (GOACC_parallel): Force host fallback.
9407 * libgomp_g.h (GOACC_parallel): Remove.
9408 (GOACC_parallel_keyed): Declare.
9409 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 9410 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
9411 (nvptx_exec): Lose separate geometry args, take array. Process
9412 dynamic dimensions and adjust.
9413 (struct nvptx_tdata): Replace fn_names field with fn_descs.
9414 (GOMP_OFFLOAD_load_image): Adjust for change in function table
9415 data.
9416 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
9417 passing.
9418 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
9419 passing.
9420
6bb4c3e2
CLT
94212015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
9422
9423 PR libgomp/67141
9424 * oacc-int.h (goacc_host_init): Add declaration.
9425 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
9426 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
9427
74032f47 94282015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 9429 Sebastian Pop <s.pop@samsung.com>
74032f47 9430
93d90219 9431 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
9432 match o/p.
9433 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
9434 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
9435 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
9436 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
9437 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
9438
97875f4a
JJ
94392015-09-03 Jakub Jelinek <jakub@redhat.com>
9440
9441 * configure.tgt: Add missing ;; in between nvptx and rtems
9442 snippets.
9443
06441dd5
SH
94442015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
9445
9446 * config/posix/pool.h (gomp_adjust_thread_attr): New.
9447 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
9448 (gomp_thread_pool_reservoir): Add priority member.
9449 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
9450 priority.
9451 (parse_thread_pools): Likewise.
9452 * team.c (gomp_team_start): Call configuration provided
9453 gomp_adjust_thread_attr(). Destroy thread attributes if
9454 necessary.
9455 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
9456
66c59f92
SH
94572015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
9458
9459 * config/posix/pool.h: New.
9460 * config/rtems/pool.h: Likewise.
9461 * config/rtems/proc.c: Likewise.
9462 * libgomp.h (gomp_thread_destructor): Declare.
9463 * team.c: Include configuration provided "pool.h".
9464 (gomp_get_thread_pool): Define in configuration.
9465 (gomp_team_end): Call configuration defined
9466 gomp_release_thread_pool().
9467
13c41b2e
SH
94682015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
9469
9470 * config/rtems/bar.c: New.
9471 * config/rtems/bar.h: Likewise.
9472 * config/rtems/mutex.c: Likewise.
9473 * config/rtems/mutex.h: Likewise.
9474 * config/rtems/sem.c: Likewise.
9475 * config/rtems/sem.h: Likewise.
9476 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
9477 <sys/lock.h> header file.
9478 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
9479 supported by Newlib.
9480 * configure: Regenerate.
9481
7892ec67
SH
94822015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
9483
9484 * team.c (gomp_new_thread_pool): Delete and move content to ...
9485 (gomp_get_thread_pool): ... new function. Allocate and
9486 initialize thread pool on demand.
9487 (get_last_team): Use gomp_get_thread_pool().
9488 (gomp_team_start): Delete thread pool initialization.
9489
1b96e9a4
TV
94902015-09-03 Tom de Vries <tom@codesourcery.com>
9491
9492 PR tree-optimization/65637
9493 * testsuite/libgomp.c/autopar-2.c: New test.
9494
3ff2d74e
TV
94952015-08-29 Tom de Vries <tom@codesourcery.com>
9496
9497 PR tree-optimization/46193
9498 * testsuite/libgomp.c/pr46193.c: New test.
9499
2a21ff19
NS
95002015-08-24 Nathan Sidwell <nathan@codesourcery.com>
9501
9502 libgomp/
9503 * libgomp.map: Add 4.0.2 version.
9504 * target.c (offload_image_descr): Add version field.
9505 (gomp_load_image_to_device): Add version argument. Adjust plugin
9506 call. Improve load mismatch diagnostic.
9507 (gomp_unload_image_from_device): Add version argument. Adjust plugin
9508 call.
9509 (GOMP_offload_regster): Make stub function, move bulk to ...
9510 (GOMP_offload_register_ver): ... here. Process version argument.
9511 (GOMP_offload_unregister): Make stub function, move bulk to ...
9512 (GOMP_offload_unregister_ver): ... here. Process version argument.
9513 (gomp_init_device): Process version field.
9514 (gomp_unload_device): Process version field.
9515 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
9516 macros. Check plugin version.
9517 * libgomp.h (gomp_device_descr): Add version function field. Adjust
9518 loader and unloader types.
9519 * oacc-host.c: Include gomp-constants.h.
9520 (host_version): New.
9521 (host_load_image, host_unload_image): Adjust.
9522 (host_dispatch): Add host_version.
9523 * plugin/plugin-nvptx.c: Include gomp-constants.h.
9524 (GOMP_OFFLOAD_version): New.
9525 (GOMP_OFFLOAD_load_image): Add version arg and check it.
9526 (GOMP_OFFLOAD_unload_image): Likewise.
9527 * plugin/plugin-host.c: Include gomp-constants.h.
9528 (GOMP_OFFLOAD_version): New.
9529 (GOMP_OFFLOAD_load_image): Add version arg.
9530 (GOMP_OFFLOAD_unload_image): Likewise.
9531
1358a747
TV
95322015-08-24 Tom de Vries <tom@codesourcery.com>
9533
9534 PR tree-optimization/65468
9535 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
9536
6be5c241
TV
95372015-08-24 Tom de Vries <tom@codesourcery.com>
9538
9539 PR tree-optimization/65468
9540 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
9541
bfe7ac89
JV
95422015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
9543
9544 PR libgomp/66761
9545 PR libgomp/67303
9546 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
9547 (gomp_iter_guided_next): Idem.
9548 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
9549 (gomp_iter_ull_guided_next): Idem.
9550 * config/linux/wait.h (do_spin): Idem.
9551
b97e78b7
TS
95522015-08-10 Thomas Schwinge <thomas@codesourcery.com>
9553
9554 * libgomp-plugin.h (enum offload_target_type): Remove
9555 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
9556 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
9557 * openacc.h (enum acc_device_t): Likewise.
9558 * openacc_lib.h: Likewise.
9559 * oacc-init.c (name_of_acc_device_t): Don't handle it.
9560 (acc_on_device): Just use __builtin_acc_on_device.
9561 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
9562 of acc_on_device builtin.
9563 * plugin/plugin-host.h: Remove file.
9564 * plugin/plugin-host.c: Likewise, but salvage some content into...
9565 * oacc-host.c: ... this file.
9566 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
9567 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
9568 * Makefile.in: Regenerate.
9569 * configure: Likewise.
9570 * testsuite/lib/libgomp.exp
9571 (check_effective_target_openacc_host_nonshm_selected): Remove.
9572 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
9573 ACC_DEVICE_TYPE=host_nonshm.
9574 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9575 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9576 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9577 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9578 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9579 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9580
44a7d18d
TS
95812015-08-10 Thomas Schwinge <thomas@codesourcery.com>
9582 Jakub Jelinek <jakub@redhat.com>
9583
9584 * config/nvptx/affinity.c: New file.
9585 * config/nvptx/alloc.c: Likewise.
9586 * config/nvptx/bar.c: Likewise.
9587 * config/nvptx/barrier.c: Likewise.
9588 * config/nvptx/critical.c: Likewise.
9589 * config/nvptx/env.c: Likewise.
9590 * config/nvptx/error.c: Likewise.
9591 * config/nvptx/fortran.c: Likewise.
9592 * config/nvptx/iter.c: Likewise.
9593 * config/nvptx/iter_ull.c: Likewise.
9594 * config/nvptx/libgomp-plugin.c: Likewise.
9595 * config/nvptx/lock.c: Likewise.
9596 * config/nvptx/loop.c: Likewise.
9597 * config/nvptx/loop_ull.c: Likewise.
9598 * config/nvptx/mutex.c: Likewise.
9599 * config/nvptx/oacc-async.c: Likewise.
9600 * config/nvptx/oacc-cuda.c: Likewise.
9601 * config/nvptx/oacc-host.c: Likewise.
9602 * config/nvptx/oacc-init.c: Likewise.
9603 * config/nvptx/oacc-mem.c: Likewise.
9604 * config/nvptx/oacc-parallel.c: Likewise.
9605 * config/nvptx/oacc-plugin.c: Likewise.
9606 * config/nvptx/omp-lock.h: Likewise.
9607 * config/nvptx/ordered.c: Likewise.
9608 * config/nvptx/parallel.c: Likewise.
9609 * config/nvptx/proc.c: Likewise.
9610 * config/nvptx/ptrlock.c: Likewise.
9611 * config/nvptx/sections.c: Likewise.
9612 * config/nvptx/sem.c: Likewise.
9613 * config/nvptx/single.c: Likewise.
9614 * config/nvptx/splay-tree.c: Likewise.
9615 * config/nvptx/target.c: Likewise.
9616 * config/nvptx/task.c: Likewise.
9617 * config/nvptx/team.c: Likewise.
9618 * config/nvptx/time.c: Likewise.
9619 * config/nvptx/work.c: Likewise.
9620 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
9621 * configure: Regenerate.
9622 * configure.tgt (config_path): Set to "nvptx" for target
9623 nvptx*-*-*.
9624
96a2d174
TS
96252015-08-10 Thomas Schwinge <thomas@codesourcery.com>
9626
9627 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
9628
9ebddeb0
NS
96292015-08-03 Nathan Sidwell <nathan@codesourcery.com>
9630
9631 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
9632 (cuda_errlist): Constify.
9633 (errmsg): Move into ...
9634 (cuda_error): ... here. Make smaller.
9635 (_XSTR, _STR): Delete.
9636 (cuda_synames): Delete.
9637 (verify_device_library): Delete.
9638 (nvptx_init): Don't call it.
9639
12efb1d7
TV
96402015-07-28 Tom de Vries <tom@codesourcery.com>
9641
9642 * testsuite/libgomp.c/uns-outer-4.c: New test.
9643
710ee218
CP
96442015-07-24 Cesar Philippidis <cesar@codesourcery.com>
9645
9646 * testsuite/libgomp.c/pr66714.c: New test.
9647
27c4ac7d
MB
96482015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
9649
9650 PR libgomp/66950
9651 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
9652 (fib_ref): New function.
9653 (fib): Correct corner cases in the recursion.
9654 (main): Replace the non-simd loop with fib_ref call.
9655 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
9656 subroutine.
9657 (fibonacci): Lower the parameter N to 30. Correct accordingly check
9658 for the last array element value. Replace the non-simd loop with
9659 fib_ref call. Remove redundant b_ref array. Remove the comparison
9660 of the last array element with according Fibonacci sequence element.
9661 (fib): Correct corner cases in the recursion.
9662
22be2349
NS
96632015-07-21 Nathan Sidwell <nathan@codesourcery.com>
9664
9665 * target.c (gomp_offload_image_to_device): Rename to ...
9666 (gomp_load_image_to_device): ... here.
9667 (GOMP_offload_register): Adjust call.
9668 (gomp_init_device): Likewise.
9669 (gomp_unload_image_from_device): New. Broken out of ...
9670 (GOMP_offload_unregister): ... here. Call it.
9671 (gomp_unload_device): New.
9672 * libgomp.h (gomp_unload_device): Declare.
9673 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
9674 mem maps.
9675
f3e9a059
NS
96762015-07-20 Nathan Sidwell <nathan@codesourcery.com>
9677
a091118d
NS
9678 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
9679 wait=-specific if.
9680 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
9681 !=0 condition.
9682 (goacc_waits): Move !num_waits handling to ...
9683 (GOACC_wait): ... here, the only caller that might have zero waits.
9684
f3e9a059
NS
9685 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
9686 (struct ptx_image_data): Move earlier, add fns field.
9687 (struct ptx_device): Add images and image_lock fields.
9688 (ptx_images, ptx_image_lock): Delete.
9689 (nvptx_open_device): Initialize images and image_lock fields.
9690 (nvptx_close_device): Destroy image_lock.
9691 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
9692 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
9693 fields.
9694
afb2d80b
NS
96952015-07-17 Nathan Sidwell <nathan@codesourcery.com>
9696
896c28a7
NS
9697 * target.c (GOMP_offload_register): Use int for device type arg.
9698 (GOMP_offload_unregister): Likewise.
9699
ebe4a560
NS
9700 * target.c (struct_offload_image_descr): Constify host_table.
9701 (gomp_offload_image_to_device): Likewise.
9702 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
9703
afb2d80b
NS
9704 * libgomp.h (gomp_device_descr): Constify target data arguments.
9705 * target.c (struct offload_image_descr): Constify target_data.
9706 (gomp_offload_image_to_device): Likewise.
9707 (GOMP_offload_register): Likewise.
93d90219 9708 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
9709 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
9710 GOMP_OFFLOAD_unload_image): Constify target data.
9711 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
9712 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
9713
a4cb876d
NS
97142015-07-16 Nathan Sidwell <nathan@codesourcery.com>
9715
9716 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
9717 Workaround driver library const error.
9718 (struct nvptx_tdata, nvptx_tdata_t): New.
9719 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
9720 type.
9721
28ef6a27
MB
97222015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
9723
9724 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
9725 of EPS parameter from integer to real.
9726 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
9727 type of EPS parameter from integer to real.
9728
6dba0113
SH
97292015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
9730
9731 * team.c (get_last_team): New.
9732 (gomp_new_team): Recycle last non-nested team if possible.
9733 (gomp_team_end): Move team work share list free lock destruction
9734 to ...
9735 (free_team): ... here.
9736
4c1cb4da
MB
97372015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
9738
9739 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
9740 and ref from int to double. Replaced their comparison with
9741 an inequality of their difference and EPS.
9742 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
9743 comparison of pri and a reference number with an inequality of their
9744 difference and EPS.
9745 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
9746 the comparison of sum and sum_ref with an inequality of their
9747 difference and EPS.
9748 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
9749 the comparison of pri and a reference number with an inequality of
9750 their difference and EPS.
9751
343587dc
MB
97522015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
9753
9754 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
9755 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
9756 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
9757 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
9758 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
9759 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
9760 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
9761 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
9762 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
9763 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
9764 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
9765 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
9766 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
9767 variables.
9768 (vec_mult): Likewise. Add #pragma omp taskwait.
9769 (main): Adjust caller.
9770 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
9771 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
9772 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
9773 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
9774 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
9775 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
9776 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
9777 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
9778 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
9779 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
9780 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
9781 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
9782 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
9783 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
9784 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
9785 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
9786 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
9787 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
9788 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
9789 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
9790 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
9791 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
9792 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
9793 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
9794 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
9795 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
9796 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
9797 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
9798 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
9799 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
9800 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
9801 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
9802 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
9803 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
9804 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
9805 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
9806 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
9807 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
9808 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
9809 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
9810 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
9811 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
9812 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
9813 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
9814 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
9815 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
9816 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
9817 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
9818 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
9819 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
9820 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
9821 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
9822 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
9823 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
9824 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
9825 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
9826 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
9827 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
9828 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
9829 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
9830 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
9831 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
9832 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
9833 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
9834 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
9835 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
9836 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
9837 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
9838 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
9839 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
9840 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
9841 (vec_mult): Add !$omp taskwait.
9842 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
9843 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
9844 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
9845 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
9846 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
9847 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
9848 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
9849 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
9850 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
9851 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
9852 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
9853 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
9854 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
9855 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
9856 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
9857 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
9858 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
9859 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
9860 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
9861 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
9862 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
9863 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
9864 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
9865 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
9866 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
9867 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
9868 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
9869 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
9870 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
9871 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
9872 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
9873 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
9874 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
9875 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
9876 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
9877 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
9878 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
9879 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
9880 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
9881 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
9882 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
9883 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
9884 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
9885 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
9886 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
9887 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
9888 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
9889 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
9890 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
9891 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
9892 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
9893 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
9894 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
9895 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
9896 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
9897 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
9898 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
9899 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
9900 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
9901 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
9902 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
9903 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
9904 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
9905 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
9906 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
9907 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
9908 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
9909
9f620bf1
TV
99102015-07-10 Tom de Vries <tom@codesourcery.com>
9911
9912 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
9913 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
9914
a92defda
TS
99152015-07-08 Thomas Schwinge <thomas@codesourcery.com>
9916
9917 PR libgomp/65099
9918 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
9919 in a 64-bit configuration.
9920 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
9921 offloading testing if no such device is available.
9922 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9923 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9924
cadb53a5
TV
99252015-07-08 Tom de Vries <tom@codesourcery.com>
9926
9927 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
9928 second call to f.
9929 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9930
712cb0bb
TV
99312015-07-07 Tom de Vries <tom@codesourcery.com>
9932
9933 PR tree-optimization/66642
9934 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
9935 iteration count case.
9936 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
9937 function, factor out of ...
9938 (main): ... here. Test low iteration count case.
9939
e5210c77
SH
99402015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
9941
9942 * libgomp.h (gomp_thread_pool): Comment last_team field.
9943
f70360e7
UB
99442015-07-02 Uros Bizjak <ubizjak@gmail.com>
9945
9946 * testsuite/libgomp.c++/pr66702-1.C: Require
9947 vect_simd_clones effective target.
9948 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
9949
b451c271
TV
99502015-06-30 Tom de Vries <tom@codesourcery.com>
9951
9952 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
9953 already set. Use DEFAULT_CFLAGS in dg-runtest.
9954 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
9955 "-O2".
9956
f8e89d9f
TV
99572015-06-30 Tom de Vries <tom@codesourcery.com>
9958
9959 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
9960 already set. Use DEFAULT_CFLAGS in dg-runtest.
9961 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
9962 * testsuite/libgomp.c++/pr64824.C: Same.
9963 * testsuite/libgomp.c++/pr64868.C: Same.
9964 * testsuite/libgomp.c++/pr66199-1.C: Same.
9965 * testsuite/libgomp.c++/pr66199-2.C: Same.
9966 * testsuite/libgomp.c++/target-2.C: Same.
9967 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
9968 -std=<standard> option.
9969 * testsuite/libgomp.c++/udr-11.C: Same.
9970 * testsuite/libgomp.c++/udr-12.C: Same.
9971 * testsuite/libgomp.c++/udr-13.C: Same.
9972 * testsuite/libgomp.c++/udr-14.C: Same.
9973 * testsuite/libgomp.c++/udr-15.C: Same.
9974 * testsuite/libgomp.c++/udr-16.C: Same.
9975 * testsuite/libgomp.c++/udr-17.C: Same.
9976 * testsuite/libgomp.c++/udr-18.C: Same.
9977 * testsuite/libgomp.c++/udr-19.C: Same.
9978 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
9979 * testsuite/libgomp.c++/simd-1.C: Same.
9980 * testsuite/libgomp.c++/simd-2.C: Same.
9981 * testsuite/libgomp.c++/simd-3.C: Same.
9982 * testsuite/libgomp.c++/simd-4.C: Same.
9983 * testsuite/libgomp.c++/simd-5.C: Same.
9984 * testsuite/libgomp.c++/simd-6.C: Same.
9985 * testsuite/libgomp.c++/simd-7.C: Same.
9986 * testsuite/libgomp.c++/simd-8.C: Same.
9987 * testsuite/libgomp.c++/simd-9.C: Same.
9988 * testsuite/libgomp.c++/simd10.C: Same.
9989 * testsuite/libgomp.c++/simd11.C: Same.
9990 * testsuite/libgomp.c++/simd12.C: Same.
9991 * testsuite/libgomp.c++/simd13.C: Same.
9992
3446fe48
JJ
99932015-06-30 Jakub Jelinek <jakub@redhat.com>
9994
9995 PR middle-end/66702
9996 * testsuite/libgomp.c++/pr66702-1.C: New test.
9997 * testsuite/libgomp.c++/pr66702-2.C: New test.
9998
8a36714a
TV
99992015-06-30 Tom de Vries <tom@codesourcery.com>
10000
10001 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
10002 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
10003 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
10004 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
10005
4f75d608
TV
100062015-06-30 Tom de Vries <tom@codesourcery.com>
10007
10008 PR tree-optimization/66652
10009 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
10010 using restrict pointers.
10011 (main): Add arguments to calls to f.
10012 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10013
6d9d1eeb
AT
100142015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
10015
10016 * configure.ac: Fix check for header <sys/sysctl.h>.
10017 * configure: Regenerate.
10018 * config.h.in: Likewise.
10019
1222f22b
TV
100202015-06-23 Tom de Vries <tom@codesourcery.com>
10021
10022 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
10023 abort.
10024 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
10025
d7efbbf6
TS
100262015-06-19 Thomas Schwinge <thomas@codesourcery.com>
10027
bfcd036f
TS
10028 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
10029 acc_device_nvidia.
10030
d7efbbf6
TS
10031 PR libgomp/66518
10032 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
10033 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10034
d7bfc710
TV
100352015-06-15 Tom de Vries <tom@codesourcery.com>
10036
10037 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
10038 dg-additional-options for any remaining options.
10039 * testsuite/libgomp.c/atomic-2.c: Same.
10040 * testsuite/libgomp.c/atomic-4.c: Same.
10041 * testsuite/libgomp.c/atomic-5.c: Same.
10042 * testsuite/libgomp.c/atomic-6.c: Same.
10043 * testsuite/libgomp.c/autopar-1.c: Same.
10044 * testsuite/libgomp.c/copyin-1.c: Same.
10045 * testsuite/libgomp.c/copyin-2.c: Same.
10046 * testsuite/libgomp.c/copyin-3.c: Same.
10047 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
10048 * testsuite/libgomp.c/nestedfn-5.c: Same.
10049 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
10050 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
10051 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
10052 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10053 * testsuite/libgomp.c/pr32362-1.c: Same.
10054 * testsuite/libgomp.c/pr32362-2.c: Same.
10055 * testsuite/libgomp.c/pr32362-3.c: Same.
10056 * testsuite/libgomp.c/pr39591-1.c: Same.
10057 * testsuite/libgomp.c/pr39591-2.c: Same.
10058 * testsuite/libgomp.c/pr39591-3.c: Same.
10059 * testsuite/libgomp.c/pr58392.c: Same.
10060 * testsuite/libgomp.c/pr58756.c: Same.
10061 * testsuite/libgomp.c/simd-1.c: Same.
10062 * testsuite/libgomp.c/simd-10.c: Same.
10063 * testsuite/libgomp.c/simd-11.c: Same.
10064 * testsuite/libgomp.c/simd-12.c: Same.
10065 * testsuite/libgomp.c/simd-13.c: Same.
10066 * testsuite/libgomp.c/simd-14.c: Same.
10067 * testsuite/libgomp.c/simd-15.c: Same.
10068 * testsuite/libgomp.c/simd-2.c: Same.
10069 * testsuite/libgomp.c/simd-3.c: Same.
10070 * testsuite/libgomp.c/simd-4.c: Same.
10071 * testsuite/libgomp.c/simd-5.c: Same.
10072 * testsuite/libgomp.c/simd-6.c: Same.
10073 * testsuite/libgomp.c/simd-7.c: Same.
10074 * testsuite/libgomp.c/simd-8.c: Same.
10075 * testsuite/libgomp.c/simd-9.c: Same.
10076
fb5b5352
TV
100772015-06-15 Tom de Vries <tom@codesourcery.com>
10078
10079 * testsuite/libgomp.c/pr35625.c: Fix typo.
10080
ca431bef
TV
100812015-06-15 Tom de Vries <tom@codesourcery.com>
10082
10083 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
10084 in dg-options.
10085 * testsuite/libgomp.c/atomic-3.c: Same.
10086 * testsuite/libgomp.c/debug-1.c: Same.
10087 * testsuite/libgomp.c/nqueens-1.c: Same.
10088 * testsuite/libgomp.c/pr26171.c: Same.
10089 * testsuite/libgomp.c/pr48591.c: Same.
10090 * testsuite/libgomp.c/pr64824.c: Same.
10091 * testsuite/libgomp.c/pr64868.c: Same.
10092 * testsuite/libgomp.c/pr66133.c: Same.
10093 * testsuite/libgomp.c/pr66199-1.c: Same.
10094 * testsuite/libgomp.c/pr66199-2.c: Same.
10095 * testsuite/libgomp.c/target-8.c: Same.
10096
0d8a9e20
TV
100972015-06-15 Tom de Vries <tom@codesourcery.com>
10098
10099 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
10100 -std={gnu99,c99}.
10101 * testsuite/libgomp.c/for-1.c: Same.
10102 * testsuite/libgomp.c/for-2.c: Same.
10103 * testsuite/libgomp.c/for-3.c: Same.
10104 * testsuite/libgomp.c/pr35625.c: Same.
10105 * testsuite/libgomp.c/pr39154.c: Same.
10106 * testsuite/libgomp.c/simd-16.c: Same.
10107 * testsuite/libgomp.c/simd-17.c: Same.
10108
a6860be9
TV
101092015-06-13 Tom de Vries <tom@codesourcery.com>
10110
10111 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
10112
ab3306d2
TV
101132015-06-13 Tom de Vries <tom@codesourcery.com>
10114
10115 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
10116 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10117 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
10118 (N): Define.
10119 (main): Use N instead of hardcoded constants.
10120
7c82d827
TV
101212015-06-05 Tom de Vries <tom@codesourcery.com>
10122
10123 merge from gomp4 branch:
10124 2015-05-28 Tom de Vries <tom@codesourcery.com>
10125
10126 PR tree-optimization/65443
10127 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
10128 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
10129 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
10130
c469078d
BRF
101312015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10132
10133 * testsuite/libgomp.graphite/bounds.c: Adjust for
10134 cleanup-tree-dump removal.
10135 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
10136 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10137 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10138 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10139 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10140 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10141 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10142 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10143 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10144 * testsuite/libgomp.graphite/pr41118.c: Likewise.
10145
bb3caa35
UB
101462015-05-28 Uros Bizjak <ubizjak@gmail.com>
10147
10148 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
10149 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
10150 (futex_wake) [!__x86_64__]: Ditto.
10151
9fb5fd44
JB
101522015-05-28 Julian Brown <julian@codesourcery.com>
10153
10154 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
10155 function comment. Only call gomp_fatal if new argument is true.
10156 (acc_dev_num_out_of_range): New function.
10157 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
10158 acc_dev_num_out_of_range as appropriate.
10159 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
10160 (acc_get_device_num, acc_set_device_num): Update calls to
10161 resolve_device.
9fb5fd44
JB
10162 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
10163 output.
10164
32eaed93
JB
101652015-05-28 Julian Brown <julian@codesourcery.com>
10166
10167 PR libgomp/65742
32eaed93
JB
10168 * oacc-init.c (plugin/plugin-host.h): Include.
10169 (acc_on_device): Check whether we're in an offloaded region for
10170 host_nonshm
10171 plugin. Don't use __builtin_acc_on_device.
10172 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
10173 nonshm_exec flag in thread-local data.
10174 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
10175 data for host_nonshm plugin.
10176 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
10177 for host_nonshm plugin.
10178 * plugin/plugin-host.h: New.
10179
ea023bcf
UB
101802015-05-27 Uros Bizjak <ubizjak@gmail.com>
10181
8ed501f1
UB
10182 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
10183
101842015-05-27 Uros Bizjak <ubizjak@gmail.com>
10185
10186 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
10187 Declare as int.
10188 (FUTEX_PRIVATE_FLAG): Remove L suffix.
10189 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
10190 Declare as int.
10191
101922015-05-27 Uros Bizjak <ubizjak@gmail.com>
10193
bb3caa35 10194 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 10195
1716efeb
CLT
101962015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
10197
10198 * target.c (gomp_map_pointer): New function abstracting out
10199 GOMP_MAP_POINTER handling.
10200 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
10201 gomp_map_pointer().
10202
41b37d5e
JJ
102032015-05-19 Jakub Jelinek <jakub@redhat.com>
10204
10205 PR middle-end/66199
10206 * testsuite/libgomp.c/pr66199-1.c: New test.
10207 * testsuite/libgomp.c/pr66199-2.c: New test.
10208 * testsuite/libgomp.c++/pr66199-1.C: New test.
10209 * testsuite/libgomp.c++/pr66199-2.C: New test.
10210 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
10211 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
10212
c8319826
JB
102132015-05-19 Julian Brown <julian@codesourcery.com>
10214
10215 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
10216 on cuInit failure.
10217
b37dddbc
JJ
102182015-05-13 Jakub Jelinek <jakub@redhat.com>
10219
10220 PR middle-end/66133
10221 * testsuite/libgomp.c/pr66133.c: New test.
10222
55fba601
MH
102232015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
10224
10225 * Makefile.in: Regenerated with automake-1.11.6.
10226 * aclocal.m4: Likewise.
10227 * config.h.in: Likewise.
10228 * configure: Likewise.
10229 * testsuite/Makefile.in: Likewise.
10230
1be0899d
JM
102312015-05-08 Jason Merrill <jason@redhat.com>
10232
10233 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
10234 _Complex.
10235
10236 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
10237
d2463960
JB
102382015-05-06 Julian Brown <julian@codesourcery.com>
10239
10240 * oacc-init.c (acc_device_lock): Add explanatory comment.
10241 (resolve_device): Add comment about locking requirement.
10242 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
10243 gomp_init_device and gomp_fini_device calls.
10244 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
10245 (acc_get_device_num, acc_set_device_num): Add locking around
10246 resolve_device and gomp_init_device calls.
10247
e38fdba4
JB
102482015-05-06 Julian Brown <julian@codesourcery.com>
10249
10250 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
10251 goacc_thread_lock on error paths.
10252 * oacc-mem.c (lookup_host): Remove locking from function. Note
10253 locking requirement for caller in function comment.
10254 (lookup_dev): Likewise.
10255 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
10256 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
10257 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
10258 Add locking.
10259
ae8ffbbb
TS
102602015-05-05 Thomas Schwinge <thomas@codesourcery.com>
10261
10262 PR testsuite/65205
10263 PR libgomp/65993
10264 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
10265 don't expect "0x" prefix for "%p" format specifier, don't expect
10266 "(nil)" for NULL pointer.
10267 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10268 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10269 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10270 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10271 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10272 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10273 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10274 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10275 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10276 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10277 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10278 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10279 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10280 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10281 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10282 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10283 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10284 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10285 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10286 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10287 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10288 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10289 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10290 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10291 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10292 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10293 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10294 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10295 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
10296 accurately specify what we're looking for.
10297 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10298 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10299 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10300 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10301 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10302
1309f1d2
JN
103032015-04-30 James Norris <jnorris@codesourcery.com>
10304
10305 PR testsuite/65205
10306 * testsuite/lib/libgomp.exp
10307 (check_effective_target_openacc_host_selected)
10308 (check_effective_target_openacc_host_nonshm_selected): New
10309 procedures.
10310 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
10311 dg-shouldfail.
10312 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10313 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10314 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10315 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10316 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10317 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10318 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10319 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10320 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10321 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10322 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10323 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10324 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10325 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10326 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10327 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10328 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10329 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10330 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10331 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10332 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10333 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10334 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10335 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10336 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10337 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10338 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10339 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10340 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10341 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10342 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10343 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10344 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10345 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10346 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10347 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10348 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10349 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10350 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10351 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10352 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10353 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10354 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10355
d93bdab5
JB
103562015-04-08 Julian Brown <julian@codesourcery.com>
10357
10358 * libgomp.h (target_mem_desc: Remove mem_map field.
10359 (acc_dispatch_t): Remove open_device_func, close_device_func,
10360 get_device_num_func, set_device_num_func, target_data members.
10361 Change create_thread_data_func argument to device number instead of
10362 generic pointer.
10363 * oacc-async.c (assert.h): Include.
10364 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
10365 (acc_wait_all, acc_wait_all_async): Use current host thread's
10366 active device, not base_dev.
10367 * oacc-cuda.c (acc_get_current_cuda_device)
10368 (acc_get_current_cuda_context, acc_get_cuda_stream)
10369 (acc_set_cuda_stream): Likewise.
10370 * oacc-host.c (host_dispatch): Don't set open_device_func,
10371 close_device_func, get_device_num_func or set_device_num_func.
10372 * oacc-init.c (base_dev, init_key): Remove.
10373 (cached_base_dev): New.
10374 (name_of_acc_device_t): New.
10375 (acc_init_1): Initialise default-numbered device, not zeroth.
10376 (acc_shutdown_1): Close all devices of a given type.
10377 (goacc_destroy_thread): Don't use base_dev.
10378 (lazy_open, lazy_init, lazy_init_and_open): Remove.
10379 (goacc_attach_host_thread_to_device): New.
10380 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
10381 (acc_get_num_devices): Don't use base_dev.
10382 (acc_set_device_type): Reimplement.
10383 (acc_get_device_type): Don't use base_dev.
10384 (acc_get_device_num): Tweak logic.
10385 (acc_set_device_num): Likewise.
10386 (acc_on_device): Use acc_get_device_type.
10387 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
10388 (goacc_lazy_initialize): Reimplement with acc_init and
10389 goacc_attach_host_thread_to_device.
10390 * oacc-int.h (goacc_thread): Add base_dev field.
10391 (base_dev): Remove extern declaration.
10392 (goacc_attach_host_thread_to_device): Add prototype.
10393 * oacc-mem.c (acc_malloc): Use current thread's device instead of
10394 base_dev.
10395 (acc_free): Likewise.
10396 (acc_memcpy_to_device): Likewise.
10397 (acc_memcpy_from_device): Likewise.
10398 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
10399 goacc_lazy_initialize (throughout).
10400 (GOACC_parallel): Use tgt_offset to locate target functions.
10401 * target.c (gomp_map_vars): Don't set tgt->mem_map.
10402 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
10403 (gomp_load_plugin_for_device): Remove open_device, close_device,
10404 get_device_num, set_device_num openacc hook initialisation. Don't set
10405 openacc.target_data.
10406 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
10407 (GOMP_OFFLOAD_openacc_close_device)
10408 (GOMP_OFFLOAD_openacc_get_device_num)
10409 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
10410 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
10411 to int.
10412 * plugin/plugin-nvptx.c (ptx_inited): Remove.
10413 (instantiated_devices, ptx_dev_lock): New.
10414 (struct ptx_image_data): New.
10415 (ptx_devices, ptx_images, ptx_image_lock): New.
10416 (fini_streams_for_device): Reorder cuStreamDestroy call.
10417 (nvptx_get_num_devices): Remove forward declaration.
10418 (nvptx_init): Change return type to bool.
10419 (nvptx_fini): Remove.
10420 (nvptx_attach_host_thread_to_device): New.
10421 (nvptx_open_device): Return struct ptx_device* instead of void*.
10422 (nvptx_close_device): Change argument type to struct ptx_device*,
10423 return type to void.
10424 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
10425 (kernel_target_data, kernel_host_table): Remove static globals.
10426 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
10427 (GOMP_OFFLOAD_init_device): Reimplement.
10428 (GOMP_OFFLOAD_fini_device): Likewise.
10429 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
10430 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
10431 (GOMP_OFFLOAD_host2dev): Use ORD argument.
10432 (GOMP_OFFLOAD_openacc_open_device)
10433 (GOMP_OFFLOAD_openacc_close_device)
10434 (GOMP_OFFLOAD_openacc_set_device_num)
10435 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
10436 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
10437 (device number).
10438
10439 testsuite/
10440 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
10441
a51df54e
IV
104422015-04-06 Ilya Verbin <ilya.verbin@intel.com>
10443
10444 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
10445 * libgomp.h (struct gomp_memory_mapping): Remove.
10446 (struct target_mem_desc): Change type of mem_map from
10447 gomp_memory_mapping * to splay_tree_s *.
10448 (struct gomp_device_descr): Remove register_image_func, get_table_func.
10449 Add load_image_func, unload_image_func.
10450 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
10451 Remove offload_regions_registered.
10452 (gomp_init_tables): Remove.
10453 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
10454 to splay_tree_s *.
10455 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
10456 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
10457 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
10458 offload_regions_registered.
10459 Initialize load_image_func, unload_image_func, mem_map.root.
10460 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
10461 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
10462 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
10463 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
10464 gomp_memory_mapping *. Use dev's lock and splay_tree.
10465 (lookup_dev): Use dev's lock.
10466 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
10467 (acc_is_present): Likewise.
10468 (acc_map_data): Likewise.
10469 (acc_unmap_data): Likewise. Use dev's lock.
10470 (present_create_copy): Likewise.
10471 (delete_copyout): Pass dev to lookup_host instead of mem_map.
10472 (update_dev_host): Likewise.
10473 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
10474 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
10475 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
10476 (GOMP_OFFLOAD_get_table): Remove
10477 (GOMP_OFFLOAD_load_image): New function.
10478 (GOMP_OFFLOAD_unload_image): New function.
10479 * target.c (register_lock): New mutex for offload image registration.
10480 (num_devices): Do not guard with PLUGIN_SUPPORT.
10481 (gomp_realloc_unlock): New static function.
10482 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
10483 before gomp_fatal.
10484 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
10485 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
10486 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
10487 mem_map's.
10488 (gomp_unmap_vars): Likewise.
10489 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
10490 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
10491 (gomp_offload_image_to_device): New static function.
10492 (GOMP_offload_register): Add mutex lock.
10493 Call gomp_offload_image_to_device for all initialized devices.
10494 Replace gomp_realloc with gomp_realloc_unlock.
10495 (GOMP_offload_unregister): New function.
10496 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
10497 get_table_func from the plugin with calls to init_device_func and
10498 gomp_offload_image_to_device.
10499 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
10500 to splay_tree_s *.
10501 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
10502 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
10503 (GOMP_target_data): Do not call gomp_init_tables.
10504 (GOMP_target_update): Likewise. Remove argument from gomp_update.
10505 (gomp_load_plugin_for_device): Replace register_image and get_table
10506 with load_image and unload_image in DLSYM ().
10507 (gomp_register_images_for_device): Remove function.
10508 (gomp_target_init): Do not initialize current_device.mem_map.*,
10509 current_device.offload_regions_registered.
10510 Remove call to gomp_register_images_for_device.
10511 Do not free offload_images and num_offload_images.
10512
6c384511
JJ
105132015-03-30 Jakub Jelinek <jakub@redhat.com>
10514
10515 PR fortran/65597
10516 * testsuite/libgomp.fortran/pr65597.f90: New test.
10517
3e8165a5
TV
105182015-03-27 Tom de Vries <tom@codesourcery.com>
10519
10520 PR testsuite/65594
10521 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
10522 (init, check): New function.
10523 (foo): Change return type to void.
10524 (main): Call init and check.
10525
4d688c9a
TV
105262015-03-27 Tom de Vries <tom@codesourcery.com>
10527
10528 PR testsuite/65594
10529 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
10530 (foo): Use M for non-inner loops to scale down test-case.
10531
01c0b3b0
KT
105322015-03-25 Kai Tietz <ktietz@redhat.com>
10533
10534 PR libgomp/64972
10535 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
10536 (GOACC_data_start): Likewise.
10537 * target.c (gomp_map_vars): Likewise.
10538
844d9a76
JDA
105392015-03-21 John David Anglin <danglin@gcc.gnu.org>
10540
10541 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
10542 hppa*-*-hpux*.
10543
9b65e171
JJ
105442015-03-19 Jakub Jelinek <jakub@redhat.com>
10545
10546 * testsuite/libgomp.c/target-10.c: New test.
10547 * testsuite/libgomp.c++/target-4.C: New test.
10548
db397e2e
IV
105492015-03-13 Ilya Verbin <ilya.verbin@intel.com>
10550
10551 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
10552 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
10553
cd93945d
SH
105542015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
10555
10556 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
10557 * configure.ac (*-*-rtems*): Assume Pthread is supported.
10558 (pthread.h): Check for this header file.
10559 * configure: Regenerate.
10560
05deba9f
TV
105612015-02-25 Tom de Vries <tom@codesourcery.com>
10562
10563 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
10564 (check_reduction_op, check_reduction_macro, max, min):
10565 Declare.
10566 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
10567 function.
10568 (main): Use new functions.
10569
196904d8
IT
105702015-02-18 Ilya Tocar <ilya.tocar@intel.com>
10571
10572 * target.c (gomp_load_plugin_for_device): Use const char * instead of
10573 char * for variables holding dlerror return values.
10574 (DLSYM_OPT): Ditto.
10575
a2818955
TS
105762015-02-17 Thomas Schwinge <thomas@codesourcery.com>
10577
10578 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
10579
26f93312
TS
105802015-02-17 Thomas Schwinge <thomas@codesourcery.com>
10581 Cesar Philippidis <cesar@codesourcery.com>
10582
10583 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
10584 GOACC_ctaid, and GOACC_nctaid routines.
10585
fa01ffcc
JJ
105862015-02-11 Jakub Jelinek <jakub@redhat.com>
10587
10588 PR c/64824
10589 * testsuite/libgomp.c/atomic-18.c: New test.
10590 * testsuite/libgomp.c++/atomic-16.C: New test.
10591
4886ec8e
JJ
105922015-02-04 Jakub Jelinek <jakub@redhat.com>
10593
10594 PR c/64824
10595 PR c/64868
10596 * testsuite/libgomp.c/pr64824.c: New test.
10597 * testsuite/libgomp.c/pr64868.c: New test.
10598 * testsuite/libgomp.c++/pr64824.C: New test.
10599 * testsuite/libgomp.c++/pr64868.C: New test.
10600
02d3e45e
DE
106012015-02-01 David Edelsohn <dje.gcc@gmail.com>
10602
10603 PR libgomp/64635
10604 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
10605 Link with -lpthread.
10606 * config/aix/plugin-suffix.h: Delete.
10607
b5f7a6ca
JH
106082015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
10609
10610 PR libgomp/64635
10611 * configure.tgt (*-*-aix*): Use config_path "aix posix".
10612 (*-*-darwin*): Use config_path "bsd darwin posix".
10613 (*-*-hpux*): Use config_path "hpux posix".
10614 * target.c: Add include of plugin-suffix.h and use
10615 SONAME_SUFFIX macro.
10616 * config/aix/plugin-suffix.h: New file.
10617 * config/darwin/plugin-suffix.h: New file.
10618 * config/hpux/plugin-suffix.h: New file.
10619 * config/posix/plugin-suffix.h: New file.
10620
b8910447
JJ
106212015-01-23 Jakub Jelinek <jakub@redhat.com>
10622
10623 PR middle-end/64734
10624 * libgomp.c/pr64734.c: New test.
10625
a0c88d06
TV
106262015-01-23 Tom de Vries <tom@codesourcery.com>
10627
10628 PR libgomp/64672
10629 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
10630
1506ae0e
TV
106312015-01-23 Tom de Vries <tom@codesourcery.com>
10632
10633 PR libgomp/64707
10634 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
10635 dg-options.
10636
128b26dc
TS
106372015-01-19 Thomas Schwinge <thomas@codesourcery.com>
10638
bed62c21 10639 PR libgomp/64625
128b26dc
TS
10640 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
10641 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
10642 formal parameter. Update all users.
10643 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
10644 Document unused formal parameter.
10645
6e36114c
TS
106462015-01-16 Thomas Schwinge <thomas@codesourcery.com>
10647
10648 * oacc-parallel.c: Don't include <alloca.h>.
10649 (GOACC_parallel): Use gomp_alloca instead of alloca.
10650
973e9808
GP
106512015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
10652
10653 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
10654
41dbbb37
TS
106552015-01-15 Thomas Schwinge <thomas@codesourcery.com>
10656 James Norris <jnorris@codesourcery.com>
10657 Tom de Vries <tom@codesourcery.com>
10658 Julian Brown <julian@codesourcery.com>
10659 Cesar Philippidis <cesar@codesourcery.com>
10660 Nathan Sidwell <nathan@codesourcery.com>
10661 Tobias Burnus <burnus@net-b.de>
10662
10663 * Makefile.am (search_path): Add $(top_srcdir)/../include.
10664 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
10665 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
10666 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
10667 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
10668 Include $(top_srcdir)/plugin/Makefrag.am.
10669 (nodist_libsubinclude_HEADERS): Add openacc.h.
10670 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
10671 openacc.f90, openacc.mod, openacc_kinds.mod.
10672 (omp_lib.mod): Generalize into...
10673 (%.mod): ... this new rule.
10674 (openacc_kinds.mod, openacc.mod): New rules.
10675 * plugin/configfrag.ac: New file.
10676 * configure.ac: Move plugin/offloading support into it. Include
10677 it. Instantiate testsuite/libgomp-test-support.pt.exp.
10678 * plugin/Makefrag.am: New file.
10679 * testsuite/Makefile.am (OFFLOAD_TARGETS)
10680 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
10681 export.
10682 (libgomp-test-support.exp): New rule.
10683 (all-local): Depend on it.
10684 * Makefile.in: Regenerate.
10685 * testsuite/Makefile.in: Regenerate.
10686 * config.h.in: Likewise.
10687 * configure: Likewise.
10688 * configure.tgt: Harden shell syntax.
10689 * env.c: Include "oacc-int.h".
10690 (parse_acc_device_type): New function.
10691 (gomp_debug_var, goacc_device_type, goacc_device_num): New
10692 variables.
10693 (initialize_env): Initialize those. Call
10694 goacc_runtime_initialize.
10695 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
10696 (gomp_fatal): Call gomp_vfatal.
10697 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
10698 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
10699 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
10700 (splay_tree_node, splay_tree, splay_tree_key)
10701 (struct target_mem_desc, struct splay_tree_key_s)
10702 (struct gomp_memory_mapping, struct acc_dispatch_t)
10703 (struct gomp_device_descr, gomp_acc_insert_pointer)
10704 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
10705 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
10706 (gomp_free_memmap, gomp_fini_device): New declarations.
10707 (gomp_vdebug, gomp_debug): New macros.
10708 Include "splay-tree.h".
10709 * libgomp.map (OACC_2.0): New symbol version. Use for
10710 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
10711 acc_set_device_type_h_, acc_get_device_type,
10712 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
10713 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
10714 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
10715 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
10716 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
10717 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
10718 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
10719 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
10720 acc_copyin_array_h_, acc_present_or_copyin,
10721 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
10722 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
10723 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
10724 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
10725 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
10726 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
10727 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
10728 acc_update_device, acc_update_device_32_h_,
10729 acc_update_device_64_h_, acc_update_device_array_h_,
10730 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
10731 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
10732 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
10733 acc_is_present_64_h_, acc_is_present_array_h_,
10734 acc_memcpy_to_device, acc_memcpy_from_device,
10735 acc_get_current_cuda_device, acc_get_current_cuda_context,
10736 acc_get_cuda_stream, acc_set_cuda_stream.
10737 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
10738 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
10739 GOACC_update, GOACC_wait, GOACC_get_thread_num,
10740 GOACC_get_num_threads.
10741 (GOMP_PLUGIN_1.0): New symbol version. Use for
10742 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
10743 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
10744 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
10745 GOMP_PLUGIN_acc_thread.
10746 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
10747 environment variable.
10748 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
10749 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
10750 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
10751 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
10752 (splay_tree_remove): New declarations.
10753 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
10754 (splay_tree_remove, splay_tree_lookup): Move into...
10755 * splay-tree.c: ... this new file.
10756 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
10757 (splay_tree_node, splay_tree, splay_tree_key)
10758 (struct target_mem_desc, struct splay_tree_key_s)
10759 (struct gomp_device_descr): Don't declare.
10760 (num_devices_openmp): New variable.
10761 (gomp_get_num_devices ): Use it.
10762 (gomp_init_targets_once): New function.
10763 (gomp_get_num_devices ): Use it.
10764 (get_kind, gomp_copy_from_async, gomp_free_memmap)
10765 (gomp_fini_device, gomp_register_image_for_device): New functions.
10766 (gomp_map_vars): Add devaddrs parameter.
10767 (gomp_update): Add mm parameter.
10768 (gomp_init_device): Move most of it into...
10769 (gomp_init_tables): ... this new function.
10770 (gomp_register_images_for_device): Remove function.
10771 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
10772 Make them hidden instead of static.
10773 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
10774 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
10775 (GOMP_target_end_data, GOMP_target_update)
10776 (gomp_load_plugin_for_device, gomp_target_init): Update for
10777 OpenACC changes.
10778 * oacc-async.c: New file.
10779 * oacc-cuda.c: Likewise.
10780 * oacc-host.c: Likewise.
10781 * oacc-init.c: Likewise.
10782 * oacc-int.h: Likewise.
10783 * oacc-mem.c: Likewise.
10784 * oacc-parallel.c: Likewise.
10785 * oacc-plugin.c: Likewise.
10786 * oacc-plugin.h: Likewise.
10787 * oacc-ptx.h: Likewise.
10788 * openacc.f90: Likewise.
10789 * openacc.h: Likewise.
10790 * openacc_lib.h: Likewise.
10791 * plugin/plugin-host.c: Likewise.
10792 * plugin/plugin-nvptx.c: Likewise.
10793 * libgomp-plugin.c: Likewise.
10794 * libgomp-plugin.h: Likewise.
10795 * libgomp_target.h: Remove file after merging content into the
10796 former file. Update all users.
10797 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
10798 (offload_targets_s, offload_targets_s_openacc): New variables.
10799 (check_effective_target_openacc_nvidia_accel_present)
10800 (check_effective_target_openacc_nvidia_accel_selected): New
10801 procedures.
10802 (libgomp_init): Update for OpenACC changes.
10803 * testsuite/libgomp-test-support.exp.in: New file.
10804 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
10805 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10806 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10807 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
10808 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
10809 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10810 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
10811 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10812 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
10813 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
10814 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
10815 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10816 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
10817 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10818 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
10819 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
10820 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
10821 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
10822 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
10823 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
10824 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
10825 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10826 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10827 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10828 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10829 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10830 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10831 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10832 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10833 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10834 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10835 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
10836 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
10837 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
10838 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
10839 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10840 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10841 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10842 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
10843 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
10844 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
10845 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
10846 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10847 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10848 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10849 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
10850 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10851 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10852 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10853 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10854 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10855 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
10856 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10857 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10858 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10859 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10860 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10861 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10862 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10863 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
10864 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
10865 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
10866 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10867 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10868 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10869 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
10870 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
10871 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10872 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10873 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10874 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
10875 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10876 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10877 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10878 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
10879 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
10880 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10881 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10882 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
10883 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
10884 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
10885 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
10886 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10887 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10888 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10889 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
10890 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
10891 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10892 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10893 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
10894 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
10895 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
10896 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
10897 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10898 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10899 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10900 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10901 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
10902 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10903 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10904 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
10905 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
10906 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
10907 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10908 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
10909 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
10910 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
10911 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
10912 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
10913 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10914 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
10915 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10916 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10917 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
10918 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
10919 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
10920 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
10921 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10922 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
10923 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
10924 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
10925 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
10926 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10927 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
10928 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
10929 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
10930 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
10931 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
10932 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
10933 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
10934 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
10935 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
10936 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10937 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
10938 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10939 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10940 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10941 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10942 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10943 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
10944 Likewise.
10945 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
10946 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
10947 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
10948 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10949 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
10950 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10951 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10952 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10953 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10954 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10955 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10956 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10957 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10958 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
10959 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
10960 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
10961 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
10962 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
10963 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
10964 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
10965 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
10966 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10967 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10968 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
10969 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
10970 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
10971 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10972 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10973 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10974 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10975 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10976 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10977 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10978 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10979 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
10980 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
10981 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
10982 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
10983 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
10984 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
10985 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
10986 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
10987 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
10988 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
10989 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
10990 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
10991 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
10992 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
10993 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
10994 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10995 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10996 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10997 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10998 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10999 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11000 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11001 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11002 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11003 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11004 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11005
f1f3453e
TS
110062015-01-10 Thomas Schwinge <thomas@codesourcery.com>
11007 Julian Brown <julian@codesourcery.com>
11008 David Malcolm <dmalcolm@redhat.com>
11009
11010 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
11011 to "GNU Offloading and Multi Processing Runtime Library". Change
11012 all users.
11013 * configure: Regenerate.
11014 * libgomp.texi: Update.
11015
f9a0eca4
TS
110162015-01-08 Thomas Schwinge <thomas@codesourcery.com>
11017
b335ef4e
TS
11018 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
11019 "$tgt_dir/lib32".
11020 * configure: Regenerate.
11021
f9a0eca4
TS
11022 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
11023 "intelmic" in $offload_targets.
11024
b67cd4e3
JJ
110252015-01-05 Jakub Jelinek <jakub@redhat.com>
11026
5624e564
JJ
11027 Update copyright years.
11028
b67cd4e3
JJ
11029 * libgomp.texi: Bump @copying's copyright year.
11030
3b41b583
KT
110312014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11032
11033 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 11034 Move load of target-supports.exp earlier.
3b41b583 11035
2354caec
IV
110362014-12-10 Ilya Verbin <ilya.verbin@intel.com>
11037
11038 * testsuite/libgomp.c/target-9.c: New test.
11039
f50eecba
VR
110402014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
11041
11042 * config.h.in: Regenerate.
11043 * configure: Regenerate.
11044 * configure.ac: Add GCC_CHECK_EMUTLS.
11045 * libgomp.h: Add check for USE_EMUTLS: this case
11046 is equal to HAVE_TLS.
11047 * team.c: Likewise.
11048
68bc9270
UB
110492014-12-03 Uros Bizjak <ubizjak@gmail.com>
11050
11051 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
11052
476ff787
AT
110532014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
11054 Ilya Verbin <ilya.verbin@intel.com>
11055
11056 * testsuite/libgomp.c/target-critical-1.c: New test.
11057
31a30e62
JJ
110582014-11-26 Jakub Jelinek <jakub@redhat.com>
11059
11060 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 11061 to dg-options unless expensive testing is on.
31a30e62
JJ
11062 (TESTITERS): Define to N if not defined.
11063 (main): Use TESTITERS instead of N.
11064 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
11065 dg-additional-options depending on whether expensive testing is on.
11066 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
11067 Decrease N to 100000 and CHUNKSZ to 10000.
11068
3f9e8f13
JJ
110692014-11-24 Jakub Jelinek <jakub@redhat.com>
11070
11071 PR fortran/63938
31a30e62
JJ
11072 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
11073 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 11074
c8451a46
SE
110752014-11-21 Steve Ellcey <sellcey@imgtec.com>
11076
11077 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
11078
a699d672
L
110792014-11-21 H.J. Lu <hongjiu.lu@intel.com>
11080
11081 PR bootstrap/63784
11082 * configure: Regenerated.
11083
4a19f719
UB
110842014-11-19 Uros Bizjak <ubizjak@gmail.com>
11085
11086 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
11087 vect_simd_clones effective target.
11088 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
11089
b1bf6c52
JJ
110902014-11-14 Jakub Jelinek <jakub@redhat.com>
11091
11092 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
11093 of 32 as block_size.
11094 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
11095 instead of 32 as block_size.
11096
d64ae614
AT
110972014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
11098 Ilya Verbin <ilya.verbin@intel.com>
11099
11100 * Makefile.in: Regenerate.
11101 * configure: Regenerate.
11102 * configure.ac: Set up offload_additional_options,
11103 offload_additional_lib_paths and offload_targets.
11104 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
11105 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
11106 * testsuite/Makefile.in: Regenerate.
11107 * testsuite/lib/libgomp.exp (libgomp_init): Append
11108 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
11109 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
11110 build directory to LD_LIBRARY_PATH for intelmic offload targets.
11111
122d7303
AT
111122014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
11113 Ilya Verbin <ilya.verbin@intel.com>
11114 Kirill Yukhin <kirill.yukhin@intel.com>
11115 Ilya Tocar <ilya.tocar@intel.com>
11116
11117 * testsuite/lib/libgomp.exp
11118 (check_effective_target_offload_device): New.
11119 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
11120 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
11121 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
11122 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
11123 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
11124 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
11125 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
11126 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
11127 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
11128 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
11129 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
11130 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
11131 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
11132 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
11133 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
11134 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
11135 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
11136 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
11137 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
11138 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
11139 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
11140 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
11141 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
11142 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
11143 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
11144 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
11145 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
11146 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
11147 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
11148 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
11149 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
11150 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
11151 * testsuite/libgomp.c/target-7.c: Fix test.
11152 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
11153 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
11154 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
11155 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
11156 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
11157 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
11158 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
11159 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
11160 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
11161 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
11162 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
11163 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
11164 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
11165 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
11166 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
11167 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
11168 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
11169 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
11170 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
11171 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
11172 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
11173 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
11174 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
11175 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
11176 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
11177 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
11178 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
11179 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
11180 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
11181 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
11182 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
11183
1df3f842
JJ
111842014-11-13 Jakub Jelinek <jakub@redhat.com>
11185 Ilya Verbin <ilya.verbin@intel.com>
11186 Thomas Schwinge <thomas@codesourcery.com>
11187 Andrey Turetskiy <andrey.turetskiy@intel.com>
11188
11189 * libgomp.map (GOMP_4.0.1): New symbol version.
11190 Add GOMP_offload_register.
11191 * libgomp_target.h: New file.
11192 * splay-tree.h: New file.
11193 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
11194 (gomp_target_init): New forward declaration.
11195 (gomp_is_initialized): New static variable.
11196 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
11197 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
11198 New structures.
11199 (offload_images, num_offload_images, devices, num_devices): New static
11200 variables.
11201 (splay_compare): New static function.
11202 (struct gomp_device_descr): New structure.
11203 (gomp_get_num_devices): Call gomp_target_init.
11204 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
11205 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
11206 (GOMP_offload_register): New function.
11207 (GOMP_target): Arrange for host callback to be performed in a separate
11208 initial thread and contention group, inheriting ICVs from
11209 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
11210 Add device initialization and lookup for target function in splay tree.
11211 (GOMP_target_data): Add device initialization and call gomp_map_vars.
11212 (GOMP_target_end_data): Call gomp_unmap_vars.
11213 (GOMP_target_update): Add device initialization and call gomp_update.
11214 (gomp_load_plugin_for_device, gomp_register_images_for_device)
11215 (gomp_target_init): New static functions.
11216
85c64bbe
BS
112172014-11-13 Bernd Schmidt <bernds@codesourcery.com>
11218 Thomas Schwinge <thomas@codesourcery.com>
11219 Ilya Verbin <ilya.verbin@intel.com>
11220 Andrey Turetskiy <andrey.turetskiy@intel.com>
11221
11222 * config.h.in: Regenerate.
11223 * configure: Regenerate.
11224 * configure.ac: Check for libdl, required for plugin support.
11225 (PLUGIN_SUPPORT): Define if plugins are supported.
11226 (enable_offload_targets): Support Intel MIC targets.
11227 (OFFLOAD_TARGETS): List of target names suitable for offloading.
11228
ebf6d33b
FXC
112292014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11230
11231 PR target/63610
11232 * configure: Regenerate.
11233
8c768629
RO
112342014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11235
11236 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
11237
c1d62412
MP
112382014-10-06 Marek Polacek <polacek@redhat.com>
11239
11240 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
11241 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
11242 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
11243 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
11244
44a0c6cb
MP
112452014-10-06 Marek Polacek <polacek@redhat.com>
11246
11247 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
11248 * testsuite/libgomp.c/nqueens-1.c: Likewise.
11249 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11250 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11251 * testsuite/libgomp.c/pr36802-2.c: Likewise.
11252 * testsuite/libgomp.c/pr36802-3.c: Likewise.
11253 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
11254 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
11255 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
11256 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
11257 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
11258 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
11259 * testsuite/libgomp.c/omp-single-1.c: Likewise.
11260 * testsuite/libgomp.c/omp-single-2.c: Likewise.
11261 * testsuite/libgomp.c/omp_matvec.c: Likewise.
11262 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
11263 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
11264 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
11265 declarations.
11266
5771c391
JJ
112672014-10-03 Jakub Jelinek <jakub@redhat.com>
11268
11269 PR libgomp/61200
11270 * testsuite/libgomp.c/pr61200.c: New test.
11271
bce16b88
JJ
112722014-09-18 Jakub Jelinek <jakub@redhat.com>
11273
11274 PR c++/63248
11275 * testsuite/libgomp.c++/pr63248.C: New test.
11276
3696163c
JJ
112772014-08-04 Jakub Jelinek <jakub@redhat.com>
11278
11279 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
11280 is not zero, but taskgroup->children is NULL and there are
11281 any task->children, schedule those instead of waiting.
11282 * testsuite/libgomp.c/depend-6.c: New test.
11283 * testsuite/libgomp.c/depend-7.c: New test.
11284 * testsuite/libgomp.c/depend-8.c: New test.
11285 * testsuite/libgomp.c/depend-9.c: New test.
11286 * testsuite/libgomp.c/depend-10.c: New test.
11287
0494285a
JJ
112882014-08-01 Jakub Jelinek <jakub@redhat.com>
11289
11290 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
11291 (struct gomp_taskwait): New type.
11292 (struct gomp_task): Add taskwait and parent_depends_on, remove
11293 in_taskwait and taskwait_sem fields.
11294 (gomp_finish_task): Don't destroy taskwait_sem.
11295 * task.c (gomp_init_task): Don't init in_taskwait, instead init
11296 taskwait and parent_depends_on.
11297 (GOMP_task): For if (0) tasks with depend clause that depend on
11298 earlier tasks don't defer them, instead call
11299 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
11300 Initialize redundant_out field, for redundant out entries just
11301 move them at the end of linked list instead of removing them
11302 completely, and set redundant_out flag instead of redundant.
11303 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
11304 that task.
11305 (gomp_task_run_post_handle_dependers): If parent is in
11306 gomp_task_maybe_wait_for_dependencies and newly runnable task
11307 is not parent_depends_on, queue it in parent->children linked
11308 list after all runnable tasks with parent_depends_on set.
11309 Adjust for addition of taskwait indirection.
11310 (gomp_task_run_post_remove_parent): If parent is in
11311 gomp_task_maybe_wait_for_dependencies and task to be removed
11312 is parent_depends_on, decrement n_depend and if needed awake
11313 parent. Adjust for addition of taskwait indirection.
11314 (GOMP_taskwait): Adjust for addition of taskwait indirection.
11315 (gomp_task_maybe_wait_for_dependencies): New function.
11316 * testsuite/libgomp.c/depend-5.c: New test.
11317
60ab4b44
TB
113182014-07-13 Tobias Burnus <burnus@net-b.de>
11319
11320 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 11321 with TS 18508/Fortran 2015.
60ab4b44 11322
773ec47f
MP
113232014-07-06 Marek Polacek <polacek@redhat.com>
11324
11325 PR c/6940
11326 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
11327
f707da16
JJ
113282014-07-03 Jakub Jelinek <jakub@redhat.com>
11329
11330 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
11331 matches regex $lang_source_re, add $lang_include_flags to options.
11332 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
11333 * testsuite/libgomp.c++/c++.exp: Likewise.
11334 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
11335 and lang_include_flags instead of adding -fintrinsic-modules-path= to
11336 ALWAYS_CFLAGS.
11337 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
11338
07b6c044
TS
113392014-07-03 Thomas Schwinge <thomas@codesourcery.com>
11340
11341 * testsuite/libgomp.fortran/fortran.exp: Explain
11342 gfortran-dg-runtest usage.
11343
da6f124d
JJ
113442014-06-25 Jakub Jelinek <jakub@redhat.com>
11345
11346 * testsuite/libgomp.fortran/simd5.f90: New test.
11347 * testsuite/libgomp.fortran/simd6.f90: New test.
11348 * testsuite/libgomp.fortran/simd7.f90: New test.
11349
b46ebd6c
JJ
113502014-06-24 Jakub Jelinek <jakub@redhat.com>
11351
56ad0e38
JJ
11352 * testsuite/libgomp.c/for-2.c: Define SC to static for
11353 #pragma omp for simd testing.
11354 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
11355 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
11356 SC macro.
11357 * testsuite/libgomp.c/simd-14.c: New test.
11358 * testsuite/libgomp.c/simd-15.c: New test.
11359 * testsuite/libgomp.c/simd-16.c: New test.
11360 * testsuite/libgomp.c/simd-17.c: New test.
11361 * testsuite/libgomp.c++/for-10.C: Define SC to static for
11362 #pragma omp for simd testing.
11363 * testsuite/libgomp.c++/simd10.C: New test.
11364 * testsuite/libgomp.c++/simd11.C: New test.
11365 * testsuite/libgomp.c++/simd12.C: New test.
11366 * testsuite/libgomp.c++/simd13.C: New test.
11367
b46ebd6c
JJ
11368 * testsuite/libgomp.fortran/aligned1.f03: New test.
11369 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
11370 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
11371 tasks with !$omp parallel !$omp single.
11372 * testsuite/libgomp.fortran/target8.f90: New test.
11373 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
11374 not to use trim in the combiner, instead call elemental function.
11375 (fn): New elemental function.
11376 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
11377 Make elemental.
11378 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
11379 omp_in): Likewise.
11380 * testsuite/libgomp.fortran/udr12.f90: New test.
11381 * testsuite/libgomp.fortran/udr13.f90: New test.
11382 * testsuite/libgomp.fortran/udr14.f90: New test.
11383 * testsuite/libgomp.fortran/udr15.f90: New test.
11384
f014c653
JJ
113852014-06-18 Jakub Jelinek <jakub@redhat.com>
11386
11387 * omp_lib.f90.in (openmp_version): Set to 201307.
11388 * omp_lib.h.in (openmp_version): Likewise.
11389 * testsuite/libgomp.c/target-8.c: New test.
11390 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
11391 and inbranch clauses.
11392 * testsuite/libgomp.fortran/depend-3.f90: New test.
11393 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
11394 openmp_version.
11395 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11396 * testsuite/libgomp.fortran/target1.f90: New test.
11397 * testsuite/libgomp.fortran/target2.f90: New test.
11398 * testsuite/libgomp.fortran/target3.f90: New test.
11399 * testsuite/libgomp.fortran/target4.f90: New test.
11400 * testsuite/libgomp.fortran/target5.f90: New test.
11401 * testsuite/libgomp.fortran/target6.f90: New test.
11402 * testsuite/libgomp.fortran/target7.f90: New test.
11403
92d28cbb
JJ
114042014-06-10 Jakub Jelinek <jakub@redhat.com>
11405
11406 PR fortran/60928
11407 * testsuite/libgomp.fortran/allocatable9.f90: New test.
11408 * testsuite/libgomp.fortran/allocatable10.f90: New test.
11409 * testsuite/libgomp.fortran/allocatable11.f90: New test.
11410 * testsuite/libgomp.fortran/allocatable12.f90: New test.
11411 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
11412 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
11413 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
11414 * testsuite/libgomp.fortran/associate1.f90: New test.
11415 * testsuite/libgomp.fortran/associate2.f90: New test.
11416 * testsuite/libgomp.fortran/procptr1.f90: New test.
11417
5f23671d
JJ
114182014-06-06 Jakub Jelinek <jakub@redhat.com>
11419
11420 * testsuite/libgomp.fortran/simd1.f90: New test.
11421 * testsuite/libgomp.fortran/udr1.f90: New test.
11422 * testsuite/libgomp.fortran/udr2.f90: New test.
11423 * testsuite/libgomp.fortran/udr3.f90: New test.
11424 * testsuite/libgomp.fortran/udr4.f90: New test.
11425 * testsuite/libgomp.fortran/udr5.f90: New test.
11426 * testsuite/libgomp.fortran/udr6.f90: New test.
11427 * testsuite/libgomp.fortran/udr7.f90: New test.
11428 * testsuite/libgomp.fortran/udr8.f90: New test.
11429 * testsuite/libgomp.fortran/udr9.f90: New test.
11430 * testsuite/libgomp.fortran/udr10.f90: New test.
11431 * testsuite/libgomp.fortran/udr11.f90: New test.
11432
0389fbb5
UB
114332014-05-27 Uros Bizjak <ubizjak@gmail.com>
11434
11435 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
11436 vect_simd_clones effective target.
11437 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
11438
decaaec8
JJ
114392014-05-21 Jakub Jelinek <jakub@redhat.com>
11440
11441 PR middle-end/61252
11442 * testsuite/libgomp.c++/simd-9.C: New test.
11443
72832460
UB
114442014-05-18 Uros Bizjak <ubizjak@gmail.com>
11445
11446 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
11447 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
11448 texts according to their @menu entry positions.
11449
dd2fc525
JJ
114502014-05-11 Jakub Jelinek <jakub@redhat.com>
11451
11452 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
11453 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
11454 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
11455 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
11456 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
11457 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
11458 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
11459 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
11460 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
11461 * testsuite/libgomp.fortran/depend-1.f90: New test.
11462 * testsuite/libgomp.fortran/depend-2.f90: New test.
11463 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
11464 * testsuite/libgomp.fortran/simd1.f90: New test.
11465 * testsuite/libgomp.fortran/simd2.f90: New test.
11466 * testsuite/libgomp.fortran/simd3.f90: New test.
11467 * testsuite/libgomp.fortran/simd4.f90: New test.
11468 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
11469
95782571
JJ
114702014-05-02 Jakub Jelinek <jakub@redhat.com>
11471
11472 * testsuite/libgomp.c/simd-10.c: New test.
11473 * testsuite/libgomp.c/simd-11.c: New test.
11474 * testsuite/libgomp.c/simd-12.c: New test.
11475 * testsuite/libgomp.c/simd-13.c: New test.
11476
f7468577
JJ
114772014-04-24 Jakub Jelinek <jakub@redhat.com>
11478
42056eac
JJ
11479 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
11480 atomic type clauses in any order and optional comma in between.
11481 * testsuite/libgomp.c++/atomic-15.C: Likewise.
11482 * testsuite/libgomp.c/atomic-17.c: Likewise.
11483
f7468577
JJ
11484 * testsuite/libgomp.c/simd-7.c: New test.
11485 * testsuite/libgomp.c/simd-8.c: New test.
11486 * testsuite/libgomp.c/simd-9.c: New test.
11487 * testsuite/libgomp.c/loop-16.c: New test.
11488
ab18f2f5
RH
114892014-04-02 Richard Henderson <rth@redhat.com>
11490
11491 * config/linux/futex.h (futex_wait): Get error value from errno.
11492 (futex_wake): Likewise.
11493
8bcc90b0
JJ
114942014-03-25 Jakub Jelinek <jakub@redhat.com>
11495
11496 PR c++/60331
11497 * testsuite/libgomp.c++/udr-11.C: New test.
11498 * testsuite/libgomp.c++/udr-12.C: New test.
11499 * testsuite/libgomp.c++/udr-13.C: New test.
11500 * testsuite/libgomp.c++/udr-14.C: New test.
11501 * testsuite/libgomp.c++/udr-15.C: New test.
11502 * testsuite/libgomp.c++/udr-16.C: New test.
11503 * testsuite/libgomp.c++/udr-17.C: New test.
11504 * testsuite/libgomp.c++/udr-18.C: New test.
11505 * testsuite/libgomp.c++/udr-19.C: New test.
11506
18d73c7f
RS
115072014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11508
11509 Update copyright years
11510
f9030485
RS
115112014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11512
11513 * hashtab.h: Use the standard form for the copyright notice.
11514
98db73df
TB
115152014-01-02 Tobias Burnus <burnus@net-b.de>
11516
11517 * libgomp.texi: Bump @copying's copyright year.
11518
ae246f7f
AT
115192013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
11520
93d90219 11521 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
11522 alloca () with __builtin_alloca ().
11523 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
11524 * testsuite/libgomp.c/lock-3.c: Likewise.
11525 * testsuite/libgomp.c/pr48591.c: Likewise.
11526
fa00a5fe
JJ
115272013-12-17 Jakub Jelinek <jakub@redhat.com>
11528
11529 PR testsuite/59534
11530 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
11531 comparisons.
11532
e9792e1d
JJ
115332013-12-16 Jakub Jelinek <jakub@redhat.com>
11534
11535 PR libgomp/58756
11536 * testsuite/libgomp.c/pr58756.c: New test.
11537
cab37c89
JJ
115382013-12-12 Jakub Jelinek <jakub@redhat.com>
11539
11540 PR libgomp/59467
11541 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
11542 !$omp parallel.
11543
de14871c
TS
115442013-11-07 Thomas Schwinge <thomas@codesourcery.com>
11545
1707a5de
TS
11546 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
11547 ALWAYS_CFLAGS.
11548 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
11549 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
11550 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
11551 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
11552 Likewise.
11553
70f05c43
TS
11554 * libgomp_g.h: Include <stddef.h> for size_t.
11555
de14871c
TS
11556 * libgomp.spec.in: Update comment about libgomp's dependencies.
11557 * configure.ac: Likewise.
11558 * configure: Regenerate.
11559
83fd6c5b
TB
115602013-10-16 Tobias Burnus <burnus@net-b.de>
11561
11562 * libgomp.texi: (Runtime Library Routines): Update references for
11563 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
11564 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
11565 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
11566 (Environment Variables): Update references for OpenMP 4.0. Add
11567 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
11568 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
11569 order.
11570
c8673881
JJ
115712013-10-14 Jakub Jelinek <jakub@redhat.com>
11572
11573 * env.c (parse_bind_var): Initialize value to avoid
11574 (false positive) warning.
11575
f89163fd
JJ
115762013-10-12 Jakub Jelinek <jakub@redhat.com>
11577
11578 PR libgomp/58691
11579 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
11580 to check variable.
11581 (gomp_init_num_threads): Move i variable declaration into
11582 #ifdef CPU_ALLOC_SIZE block.
11583 * config/linux/affinity.c (gomp_affinity_init_level): Test
11584 gomp_places_list_len == 0 rather than gomp_places_list == 0
11585 when checking for topology reading error.
11586 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
11587 * env.c (parse_affinity): Add ignore argument, if true, don't populate
11588 gomp_places_list, only parse env var and always return false.
11589 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
11590 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
11591 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
11592 and either of these variables were parsed correctly into a places
11593 list.
11594
1d340638
TS
115952013-10-11 Thomas Schwinge <thomas@codesourcery.com>
11596 Jakub Jelinek <jakub@redhat.com>
11597
11598 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
11599 of 5 loopfn matches.
11600 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11601 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11602 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11603 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11604 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11605 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11606 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11607 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11608
71a81c21
TS
116092013-10-11 Thomas Schwinge <thomas@codesourcery.com>
11610
bd87f731
TS
11611 * Makefile.am (omp_lib.mod): Streamline rule.
11612 * Makefile.in: Regenerate.
11613
f5745bed
TS
11614 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
11615 exceptions.
11616
b5512c66
TS
11617 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
11618 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11619 * testsuite/libgomp.fortran/lib2.f: Likewise.
11620 * testsuite/libgomp.fortran/lib3.f: Likewise.
11621
451c19c4
TS
11622 * configure.ac: Typo fix.
11623 * configure: Regenerate.
11624
86a6016d
TS
11625 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
11626 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11627
71a81c21
TS
11628 * omp.h.in: Don't touch the user's namespace.
11629
acf0174b
JJ
116302013-10-11 Jakub Jelinek <jakub@redhat.com>
11631 Tobias Burnus <burnus@net-b.de>
11632 Richard Henderson <rth@redhat.com>
11633
11634 * target.c: New file.
11635 * Makefile.am (libgomp_la_SOURCES): Add target.c.
11636 * Makefile.in: Regenerated.
11637 * libgomp_g.h (GOMP_task): Add depend argument.
11638 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
11639 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
11640 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
11641 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
11642 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
11643 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
11644 GOMP_taskgroup_start, GOMP_taskgroup_end,
11645 GOMP_parallel_sections): New prototypes.
11646 * fortran.c (omp_is_initial_device): Add ialias_redirect.
11647 (omp_is_initial_device_): New function.
11648 (ULP, STR1, STR2, ialias_redirect): Removed.
11649 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
11650 omp_set_default_device_8_, omp_get_default_device_,
11651 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
11652 functions.
11653 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
11654 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
11655 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
11656 @@GOMP_4.0.
11657 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
11658 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
11659 omp_set_default_device, omp_set_default_device_,
11660 omp_set_default_device_8_, omp_get_default_device,
11661 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
11662 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
11663 omp_get_team_num_): Export @@OMP_4.0.
11664 * team.c (struct gomp_thread_start_data): Add place field.
11665 (gomp_thread_start): Clear thr->thread_pool and
11666 thr->task before returning. Use gomp_team_barrier_wait_final
11667 instead of gomp_team_barrier_wait. Initialize thr->place.
11668 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
11669 team_cancelled and task_queued_count fields.
11670 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
11671 before calling pthread_exit.
11672 (gomp_free_thread): No longer static. Use
11673 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
11674 (gomp_team_start): Add flags argument. Set
11675 thr->thread_pool->threads_busy to nthreads immediately after creating
11676 new pool. Use gomp_managed_threads_lock instead of
11677 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
11678 (gomp_team_end): Use gomp_managed_threads_lock instead of
11679 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
11680 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 11681 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
11682 rather than thr->ts.work_share.
11683 (initialize_team): Don't call gomp_sem_init here.
11684 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
11685 caller.
11686 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
11687 * env.c (gomp_global_icv): Add default_device_var, target_data and
11688 bind_var initializers.
11689 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
11690 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
11691 gomp_places_list_len): New variables.
11692 (parse_bind_var, parse_one_place, parse_places_var): New functions.
11693 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
11694 sized places.
11695 (gomp_cancel_var): New global variable.
11696 (parse_int): New function.
11697 (handle_omp_display_env): New function.
11698 (initialize_env): Use it. Initialize default_device_var.
11699 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
11700 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
11701 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
11702 been successfully parsed (and call gomp_init_affinity in that case).
11703 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11704 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11705 omp_get_team_num, omp_is_initial_device): New functions.
11706 * libgomp.h: Include stdlib.h.
11707 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
11708 Define.
11709 (struct target_mem_desc): Forward declare.
11710 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
11711 and thread_limit_var fields.
11712 (gomp_get_num_devices): New prototype.
11713 (gomp_cancel_var): New extern decl.
11714 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
11715 team_cancelled and task_queued_count fields. Add comments about
11716 task_{,queued_,running_}count.
11717 (gomp_cancel_kind): New enum.
11718 (gomp_work_share_end_cancel): New prototype.
11719 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
11720 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
11721 and depend fields.
11722 (struct gomp_taskgroup): New type.
11723 (struct gomp_task_depend_entry,
11724 struct gomp_dependers_vec): New types.
11725 (gomp_finish_task): Free depend_hash if non-NULL.
11726 (struct gomp_team_state): Add place_partition_off
11727 and place_partition_len fields.
11728 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
11729 gomp_places_list_len): New extern decls.
11730 (struct gomp_thread): Add place field.
11731 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
11732 (gomp_init_thread_affinity): Add place argument.
11733 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
11734 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
11735 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
11736 gomp_affinity_init_level, gomp_affinity_print_place): New
11737 prototypes.
11738 (gomp_team_start): Add flags argument.
11739 (gomp_thread_limit_var, gomp_remaining_threads_count,
11740 gomp_remaining_threads_lock): Remove.
11741 (gomp_managed_threads_lock): New variable.
11742 (struct gomp_thread_pool): Add threads_busy field.
11743 (gomp_free_thread): New prototype.
11744 * task.c: Include hashtab.h.
11745 (hash_entry_type): New typedef.
11746 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
11747 (gomp_init_task): Clear dependers, depend_hash, depend_count,
11748 copy_ctors_done and taskgroup fields.
11749 (GOMP_task): Add depend argument, handle depend clauses. If
11750 gomp_team_barrier_cancelled or if it's taskgroup has been
11751 cancelled, don't queue or start new tasks. Set copy_ctors_done
11752 field if needed. Initialize taskgroup field. If copy_ctors_done
11753 and already cancelled, don't discard the task. If taskgroup is
11754 non-NULL, enqueue the task into taskgroup queue. Increment
11755 num_children field in taskgroup. Increment task_queued_count.
11756 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
11757 gomp_task_run_post_remove_taskgroup): New inline functions.
11758 (gomp_task_run_post_handle_depend_hash,
11759 gomp_task_run_post_handle_dependers,
11760 gomp_task_run_post_handle_depend): New functions.
11761 (GOMP_taskwait): Use them. If more than one new tasks
11762 have been queued, wake other threads if needed.
11763 (gomp_barrier_handle_tasks): Likewise. If
11764 gomp_team_barrier_cancelled, don't start any new tasks, just free
11765 all tasks.
11766 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
11767 * omp_lib.f90.in
11768 (omp_proc_bind_kind, omp_proc_bind_false,
11769 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
11770 omp_proc_bind_spread): New params.
11771 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11772 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11773 omp_get_team_num, omp_is_initial_device): New interfaces.
11774 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
11775 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
11776 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
11777 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
11778 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
11779 useless use omp_lib_kinds.
11780 * omp.h.in (omp_proc_bind_t): New typedef.
11781 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11782 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11783 omp_get_team_num, omp_is_initial_device): New prototypes.
11784 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
11785 through to gomp_team_start.
11786 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
11787 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
11788 Adjust gomp_parallel_loop_start callers.
11789 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
11790 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
11791 GOMP_loop_end_cancel): New functions.
11792 (GOMP_parallel_end): Add ialias_redirect.
11793 * hashtab.h: New file.
11794 * libgomp.texi (Environment Variables): Minor cleanup,
11795 update section refs to OpenMP 4.0rc2.
11796 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
11797 environment variables.
11798 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
11799 team->work_shares_to_free to thr->ts.work_share before calling
11800 free_work_share.
11801 (gomp_work_share_end_cancel): New function.
11802 * config/linux/proc.c: Include errno.h.
11803 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
11804 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
11805 sizeof (cpu_set_t) to determine number of iterations. Fix up check
11806 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
11807 gomp_cpuset_size is sizeof (cpu_set_t).
11808 (gomp_init_num_threads): Initialize gomp_cpuset_size,
11809 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
11810 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
11811 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
11812 contain any logical CPUs.
11813 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
11814 is NULL. Use gomp_cpusetp instead of &cpuset and pass
11815 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
11816 pthread_getaffinity_np. Check gomp_places_list instead of
11817 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
11818 * config/linux/bar.c (gomp_barrier_wait_end,
11819 gomp_barrier_wait_last): Use BAR_* defines.
11820 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
11821 from state where needed. Set work_share_cancelled to 0 on last
11822 thread.
11823 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
11824 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
11825 functions.
11826 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
11827 Add cpusetsize argument.
11828 (gomp_cpuset_size, gomp_cpusetp): Declare.
11829 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
11830 (affinity_counter): Remove.
11831 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
11832 if CPU_ALLOC_SIZE isn't defined.
11833 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
11834 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
11835 bind current thread to the first place.
11836 (gomp_init_thread_affinity): Rewritten. Add place argument, just
11837 pthread_setaffinity_np to gomp_places_list[place].
11838 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
11839 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
11840 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
11841 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
11842 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
11843 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
11844 (gomp_barrier_t): Add awaited_final field.
11845 (gomp_barrier_init): Initialize awaited_final field.
11846 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
11847 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
11848 prototypes.
11849 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
11850 defines.
11851 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
11852 gomp_team_barrier_cancelled): New inline functions.
11853 (gomp_barrier_last_thread,
11854 gomp_team_barrier_set_task_pending,
11855 gomp_team_barrier_clear_task_pending,
11856 gomp_team_barrier_set_waiting_for_tasks,
11857 gomp_team_barrier_waiting_for_tasks,
11858 gomp_team_barrier_done): Use BAR_* defines.
11859 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
11860 (gomp_barrier_wait_end): Use BAR_* defines.
11861 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
11862 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
11863 Use BAR_* defines.
11864 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
11865 gomp_team_barrier_cancel): New functions.
11866 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
11867 argument.
11868 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
11869 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
11870 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
11871 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
11872 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
11873 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
11874 (gomp_barrier_t): Add cancellable field.
11875 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
11876 gomp_team_barrier_cancel): New prototypes.
11877 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
11878 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
11879 gomp_team_barrier_cancelled): New inline functions.
11880 (gomp_barrier_wait_start, gomp_barrier_last_thread,
11881 gomp_team_barrier_set_task_pending,
11882 gomp_team_barrier_clear_task_pending,
11883 gomp_team_barrier_set_waiting_for_tasks,
11884 gomp_team_barrier_waiting_for_tasks,
11885 gomp_team_barrier_done): Use BAR_* defines.
11886 * barrier.c (GOMP_barrier_cancel): New function.
11887 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
11888 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
11889 omp_proc_bind_spread): New params.
11890 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11891 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11892 omp_get_team_num, omp_is_initial_device): New externals.
11893 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
11894 New functions.
11895 (gomp_resolve_num_threads): Adjust for thread_limit now being in
11896 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
11897 infinity. If not nested, just return minimum of max_num_threads
11898 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
11899 to the returned value. Otherwise, don't update atomically
11900 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
11901 (GOMP_parallel_end): Adjust for thread_limit now being in
11902 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
11903 infinity. Adjust threads_busy in the pool rather than
11904 gomp_remaining_threads_count. Remember team->nthreads and call
11905 gomp_team_end before adjusting threads_busy, if not nested
11906 afterwards, just set it to 1 non-atomically. Add ialias.
11907 (GOMP_parallel_start): Adjust gomp_team_start caller.
11908 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
11909 * testsuite/libgomp.c/affinity-1.c: New test.
11910 * testsuite/libgomp.c/atomic-15.c: New test.
11911 * testsuite/libgomp.c/atomic-16.c: New test.
11912 * testsuite/libgomp.c/atomic-17.c: New test.
11913 * testsuite/libgomp.c/cancel-for-1.c: New test.
11914 * testsuite/libgomp.c/cancel-for-2.c: New test.
11915 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
11916 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
11917 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
11918 * testsuite/libgomp.c/cancel-sections-1.c: New test.
11919 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
11920 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
11921 * testsuite/libgomp.c/depend-1.c: New test.
11922 * testsuite/libgomp.c/depend-2.c: New test.
11923 * testsuite/libgomp.c/depend-3.c: New test.
11924 * testsuite/libgomp.c/depend-4.c: New test.
11925 * testsuite/libgomp.c/for-1.c: New test.
11926 * testsuite/libgomp.c/for-1.h: New file.
11927 * testsuite/libgomp.c/for-2.c: New test.
11928 * testsuite/libgomp.c/for-2.h: New file.
11929 * testsuite/libgomp.c/for-3.c: New test.
11930 * testsuite/libgomp.c/pr58392.c: New test.
11931 * testsuite/libgomp.c/simd-1.c: New test.
11932 * testsuite/libgomp.c/simd-2.c: New test.
11933 * testsuite/libgomp.c/simd-3.c: New test.
11934 * testsuite/libgomp.c/simd-4.c: New test.
11935 * testsuite/libgomp.c/simd-5.c: New test.
11936 * testsuite/libgomp.c/simd-6.c: New test.
11937 * testsuite/libgomp.c/target-1.c: New test.
11938 * testsuite/libgomp.c/target-2.c: New test.
11939 * testsuite/libgomp.c/target-3.c: New test.
11940 * testsuite/libgomp.c/target-4.c: New test.
11941 * testsuite/libgomp.c/target-5.c: New test.
11942 * testsuite/libgomp.c/target-6.c: New test.
11943 * testsuite/libgomp.c/target-7.c: New test.
11944 * testsuite/libgomp.c/taskgroup-1.c: New test.
11945 * testsuite/libgomp.c/thread-limit-1.c: New test.
11946 * testsuite/libgomp.c/thread-limit-2.c: New test.
11947 * testsuite/libgomp.c/thread-limit-3.c: New test.
11948 * testsuite/libgomp.c/udr-1.c: New test.
11949 * testsuite/libgomp.c/udr-2.c: New test.
11950 * testsuite/libgomp.c/udr-3.c: New test.
11951 * testsuite/libgomp.c++/affinity-1.C: New test.
11952 * testsuite/libgomp.c++/atomic-10.C: New test.
11953 * testsuite/libgomp.c++/atomic-11.C: New test.
11954 * testsuite/libgomp.c++/atomic-12.C: New test.
11955 * testsuite/libgomp.c++/atomic-13.C: New test.
11956 * testsuite/libgomp.c++/atomic-14.C: New test.
11957 * testsuite/libgomp.c++/atomic-15.C: New test.
11958 * testsuite/libgomp.c++/cancel-for-1.C: New test.
11959 * testsuite/libgomp.c++/cancel-for-2.C: New test.
11960 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
11961 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
11962 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
11963 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
11964 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
11965 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
11966 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
11967 * testsuite/libgomp.c++/cancel-test.h: New file.
11968 * testsuite/libgomp.c++/for-9.C: New test.
11969 * testsuite/libgomp.c++/for-10.C: New test.
11970 * testsuite/libgomp.c++/for-11.C: New test.
11971 * testsuite/libgomp.c++/simd-1.C: New test.
11972 * testsuite/libgomp.c++/simd-2.C: New test.
11973 * testsuite/libgomp.c++/simd-3.C: New test.
11974 * testsuite/libgomp.c++/simd-4.C: New test.
11975 * testsuite/libgomp.c++/simd-5.C: New test.
11976 * testsuite/libgomp.c++/simd-6.C: New test.
11977 * testsuite/libgomp.c++/simd-7.C: New test.
11978 * testsuite/libgomp.c++/simd-8.C: New test.
11979 * testsuite/libgomp.c++/target-1.C: New test.
11980 * testsuite/libgomp.c++/target-2.C: New test.
11981 * testsuite/libgomp.c++/target-2-aux.cc: New file.
11982 * testsuite/libgomp.c++/target-3.C: New test.
11983 * testsuite/libgomp.c++/taskgroup-1.C: New test.
11984 * testsuite/libgomp.c++/udr-1.C: New test.
11985 * testsuite/libgomp.c++/udr-2.C: New test.
11986 * testsuite/libgomp.c++/udr-3.C: New test.
11987 * testsuite/libgomp.c++/udr-4.C: New test.
11988 * testsuite/libgomp.c++/udr-5.C: New test.
11989 * testsuite/libgomp.c++/udr-6.C: New test.
11990 * testsuite/libgomp.c++/udr-7.C: New test.
11991 * testsuite/libgomp.c++/udr-8.C: New test.
11992 * testsuite/libgomp.c++/udr-9.C: New test.
11993
bd599dea
JJ
119942013-09-20 Jakub Jelinek <jakub@redhat.com>
11995
11996 PR testsuite/57605
11997 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
11998 ALWAYS_CFLAGS.
11999
3cbe17f7
AM
120002013-09-20 Alan Modra <amodra@gmail.com>
12001
12002 * configure: Regenerate.
12003
4befd127
JJ
120042013-09-19 Jakub Jelinek <jakub@redhat.com>
12005
12006 * testsuite/libgomp.c/sections-2.c: New test.
12007
946c8f7b
MS
120082013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
12009
12010 * testsuite/libgomp.fortran/strassen.f90:
12011 Add dg-skip-if aarch64_tiny.
12012
1ef3b58e
IS
120132013-06-20 Iain Sandoe <iain@codesourcery.com>
12014 Cesar Philippidis <cesar@codesourcery.com>
12015
12016 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
12017 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
12018 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
12019 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12020 * testsuite/libgomp.graphite/graphite.exp: Likewise.
12021 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
12022 Use dg-runtest rather than gfortran-dg-runtest.
12023
9275f73a
TS
120242013-06-10 Thomas Schwinge <thomas@codesourcery.com>
12025
12026 * testsuite/libgomp.c/icv-2.c: Extend current handling of
12027 Linux-based x86 systems to cover all GNU systems.
12028 * testsuite/libgomp.c/lock-3.c: Likewise.
12029 * testsuite/libgomp.c/pr48591.c: Likewise.
12030
492992e2
TS
120312013-06-06 Thomas Schwinge <thomas@codesourcery.com>
12032
48df3acb
TS
12033 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
12034 GNU/Hurd, as done for Linux-based systems.
12035
492992e2
TS
12036 * config/posix/ptrlock.h: Fix comment.
12037
4fed6b25
TB
120382013-05-27 Tobias Burnus <burnus@net-b.de>
12039
12040 PR fortran/57423
12041 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
12042 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
12043 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
12044 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
12045 omp_destroy_nest_lock): Correct arguments to match the one in
12046 the OpenMP spec.
12047 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
12048 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
12049 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
12050 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
12051
5a0f4dd3
JJ
120522013-05-16 Jakub Jelinek <jakub@redhat.com>
12053
12054 * testsuite/libgomp.c/loop-13.c: New test.
12055 * testsuite/libgomp.c/loop-14.c: New test.
12056 * testsuite/libgomp.c/loop-15.c: New test.
12057 * testsuite/libgomp.c++/loop-13.C: New test.
12058 * testsuite/libgomp.c++/loop-14.C: New test.
12059 * testsuite/libgomp.c++/loop-15.C: New test.
12060
6d840d99
JJ
120612013-02-06 Jakub Jelinek <jakub@redhat.com>
12062
12063 PR middle-end/56217
12064 * testsuite/libgomp.c++/pr56217.C: New test.
12065
bed8d8a6
AM
120662013-02-01 Alan Modra <amodra@gmail.com>
12067
12068 * task.c (GOMP_task, GOMP_taskwait): Comment.
12069
3b35cd04
DV
120702013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
12071 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
12072
12073 PR libgomp/55561
12074 * config/linux/wait.h (do_spin): Use atomic load for addr.
12075 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
12076 for intptr and ptrlock.
12077 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
12078 for ptrlock.
12079
9a647288
AM
120802013-01-22 Alan Modra <amodra@gmail.com>
12081
12082 PR libgomp/51376
12083 PR libgomp/56073
12084 * task.c (GOMP_task): Revert 2011-12-09 change.
12085 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
12086 barrier to read task->children..
12087 (gomp_barrier_handle_tasks): ..and matching atomic store with
12088 release barrier here when setting parent->children to NULL.
12089
f34dea03
JJ
120902013-01-16 Jakub Jelinek <jakub@redhat.com>
12091 Tobias Burnus <burnus@net-b.de>
12092
12093 PR driver/55884
12094 * testsuite/libgomp.fortran/fortran.exp: Use
12095 -fintrinsic-modules-path= instead of
12096 -fintrinsic-modules-path.
12097
8129609c
RS
120982013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
12099
12100 Update copyright years.
12101
aa86bf1e
TB
121022012-12-19 Tobias Burnus <burnus@net-b.de>
12103
12104 * testsuite/libgomp.fortran/fortran.exp: Set
12105 -fintrinsic-modules-path.
12106
2865ea66
TB
121072012-12-19 Tobias Burnus <burnus@net-b.de>
12108
12109 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
12110 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
12111
4c5ba8d0
JJ
121122012-11-21 Jakub Jelinek <jakub@redhat.com>
12113
12114 PR libgomp/55411
12115 * team.c (gomp_free_thread): Decrease gomp_managed_threads
12116 if pool had any threads_used.
12117
e9f958c2
JH
121182012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
12119
12120 * testsuite/libgomp.c++/pr24455.C: Use
12121 -Wl,-undefined,dynamic_lookup on darwin.
12122
a57d75dc
DE
121232012-11-07 David Edelsohn <dje.gcc@gmail.com>
12124
12125 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
12126
c6c08485
DH
121272012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
12128
12129 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
12130
c1f37c00
IB
121312012-10-23 Ian Bolton <ian.bolton@arm.com>
12132 Jim MacArthur <jim.macarthur@arm.com>
12133 Marcus Shawcroft <marcus.shawcroft@arm.com>
12134 Nigel Stephens <nigel.stephens@arm.com>
12135 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12136 Richard Earnshaw <rearnsha@arm.com>
12137 Sofiane Naci <sofiane.naci@arm.com>
12138 Stephen Thomas <stephen.thomas@arm.com>
12139 Tejas Belagod <tejas.belagod@arm.com>
12140 Yufeng Zhang <yufeng.zhang@arm.com>
12141
12142 * configure.tgt: Add AArch64.
12143
7c424acd
JM
121442012-10-04 Jason Merrill <jason@redhat.com>
12145
12146 * testsuite/libgomp.c++/tls-init1.C: New.
12147
6608378b
DE
121482012-09-14 David Edelsohn <dje.gcc@gmail.com>
12149
12150 * configure: Regenerated.
12151
c24dbebb
CLT
121522012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
12153
12154 * config/linux/mips/futex.h (sys_futex0): Change to static
12155 function with noinline, nomips16 attributes under MIPS16. Adjust
12156 asm statement to place 'li v0,SYS_futex' immediately before
12157 syscall insn.
12158
3d3949df
SL
121592012-07-04 Sandra Loosemore <sandra@codesourcery.com>
12160
12161 * libgomp.texi (Library Index): Renamed from "Index" to prevent
12162 conflict with index.html on case-insensitive file systems.
12163
68a12ef3
UB
121642012-07-03 Uros Bizjak <ubizjak@gmail.com>
12165
12166 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
12167 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
12168
33ad93b9 121692012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
12170 Michael Matz <matz@suse.de>
12171 Tobias Grosser <tobias@grosser.es>
12172 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
12173
12174 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
12175 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12176 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12177 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12178
e6fdc918
AS
121792012-06-28 Andreas Schwab <schwab@linux-m68k.org>
12180
12181 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
12182
62e0a1ed
RG
121832012-06-22 Richard Guenther <rguenther@suse.de>
12184
12185 Merge from graphite branch
12186 2012-01-13 Tobias Grosser <tobias@grosser.es>
12187
12188 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
12189 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12190
26127932
JJ
121912012-06-07 Jakub Jelinek <jakub@redhat.com>
12192
12193 PR middle-end/53580
12194 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
12195 use GOMP_barrier () call instead.
12196 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12197 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12198 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
12199 call GOMP_barrier instead.
12200 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12201
43fa5db5
JJ
122022012-06-06 Jakub Jelinek <jakub@redhat.com>
12203
12204 PR libgomp/52993
12205 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
12206 argument to memset call.
12207
e6d5f8c9
L
122082012-05-16 H.J. Lu <hongjiu.lu@intel.com>
12209
12210 * configure: Regenerated.
12211
559d990c
MLI
122122012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
12213
12214 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
12215
b9c23a61
L
122162012-03-31 H.J. Lu <hongjiu.lu@intel.com>
12217
12218 PR bootstrap/52812
12219 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
12220
c140ddf3
JJ
122212012-03-22 Jakub Jelinek <jakub@redhat.com>
12222
12223 PR middle-end/52547
12224 * testsuite/libgomp.c/pr52547.c: New test.
12225
6a26a74d
BRF
122262012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12227
12228 * testsuite/lib/libgomp.exp: load fortran-modules.exp
12229
b24513a1
RO
122302012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12231
12232 * configure.tgt (mips-sgi-irix6*): Remove.
12233
5c30094f
RO
122342012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12235
12236 * configure.tgt (alpha*-dec-osf*): Remove.
12237
12238 * config/osf/sem.h: Remove.
12239 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
12240
a339c9d6
EB
122412012-02-29 Eric Botcazou <ebotcazou@adacore.com>
12242
12243 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
12244
cc2de92d
RO
122452012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12246
12247 PR libstdc++/52188
12248 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
12249 Remove ENABLE_SYMVERS_SOL2.
12250 * configure: Regenerate.
12251 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
12252 (PREPROCESS): New variable.
12253 (libgomp.ver): New target.
12254 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
12255 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
12256 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
12257 Use libgomp.ver.
12258 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
12259 * Makefile.in: Regenerate.
12260
dd552284
WL
122612012-02-14 Walter Lee <walt@tilera.com>
12262
12263 * configure.tgt: Handle tilegx and tilepro.
12264 * config/linux/tile/futex.h: New file.
12265
31432e21
RG
122662012-02-08 Richard Guenther <rguenther@suse.de>
12267
12268 PR tree-optimization/46886
12269 * testsuite/libgomp.c/pr46886.c: New testcase.
12270
b9264b5f
MK
122712012-01-25 Matthias Klose <doko@ubuntu.com>
12272
12273 * config/linux/arm: Remove empty directory.
12274 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
12275
fbf7be80
AM
122762011-12-09 Alan Modra <amodra@gmail.com>
12277
12278 PR libgomp/51376
12279 * task.c (GOMP_taskwait): Don't access task->children outside of
12280 task_lock mutex region.
12281 (GOMP_task): Likewise.
12282
5de62d00
JJ
122832011-12-06 Jakub Jelinek <jakub@redhat.com>
12284
12285 PR libgomp/51132
12286 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
12287 to file scope.
12288 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12289 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12290 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12291 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12292 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12293
45608a43
AM
122942011-12-02 Alan Modra <amodra@gmail.com>
12295
12296 * config/linux/affinity.c: Use atomic rather than sync builtin.
12297 * config/linux/lock.c: Likewise.
12298 * config/linux/ptrlock.h: Likewise.
12299 * config/linux/ptrlock.c: Likewise.
12300 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
12301 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
12302 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
12303 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
12304 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
12305 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
12306 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
12307 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
12308 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
12309 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
12310
ab6dd406
AM
123112011-11-30 Alan Modra <amodra@gmail.com>
12312
12313 PR libgomp/51298
12314 * config/linux/bar.h: Use atomic rather than sync builtins.
12315 * config/linux/bar.c: Likewise. Add missing acquire
12316 synchronisation on generation field.
12317 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
12318 double unlock.
12319
b40c885f
AM
123202011-11-30 Alan Modra <amodra@gmail.com>
12321
12322 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
12323 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
12324 * config/linux/mutex.h: Use atomic rather than sync builtins.
12325 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
12326 * config/linux/omp-lock.h: Comment fix.
12327 * config/linux/arm/mutex.h: Delete.
12328 * config/linux/powerpc/mutex.h: Delete.
12329 * config/linux/ia64/mutex.h: Delete.
12330 * config/linux/mips/mutex.h: Delete.
12331
3e348fcc
AM
123322011-11-30 Alan Modra <amodra@gmail.com>
12333
12334 PR libgomp/51249
12335 * config/linux/sem.h: Rewrite.
12336 * config/linux/sem.c: Rewrite.
12337
cef86eb2
RH
123382011-11-28 Richard Henderson <rth@redhat.com>
12339
12340 * libgomp.h (enum memmodel): New.
12341
c6084f68
AT
123422011-11-21 Andreas Tobler <andreast@fgznet.ch>
12343
12344 * configure: Regenerate.
12345
06fe026c
MK
123462011-10-10 Matthias Klose <doko@ubuntu.com>
12347
12348 * config/posix95: Remove empty directory.
12349
a6c975bd
JJ
123502011-08-26 Jakub Jelinek <jakub@redhat.com>
12351
12352 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
12353
c26dffff
JJ
123542011-08-19 Jakub Jelinek <jakub@redhat.com>
12355
12356 PR fortran/49792
12357 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
12358 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
12359
ddaad3c8
RO
123602011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12361
12362 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
12363
98d03683
RO
123642011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12365
12366 PR libgomp/49965
12367 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
12368
e0b23d9f
UB
123692011-08-03 Uros Bizjak <ubizjak@gmail.com>
12370
12371 * config/linux/proc.h: New.
12372 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
12373 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
12374 (gomp_init_num_threads): Update call to cpuset_popcount.
12375 (get_num_procs): Ditto.
12376 * config/linux/affinity.c (gomp_init_affinity): Call
12377 gomp_cpuset_popcount.
12378
20906c66
JJ
123792011-08-02 Jakub Jelinek <jakub@redhat.com>
12380
12381 PR fortran/42041
12382 PR fortran/46752
12383 * omp.h.in (omp_in_final): New prototype.
12384 * omp_lib.f90.in (omp_in_final): New interface.
12385 (omp_integer_kind, omp_logical_kind): Remove
12386 and replace all its uses in the module with 4.
12387 (openmp_version): Change to 201107.
12388 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
12389 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
12390 kind for the parameters.
12391 (omp_in_final): New external.
12392 (openmp_version): Change to 201107.
12393 * task.c (omp_in_final): New function.
12394 (gomp_init_task): Initialize final_task.
12395 (GOMP_task): Remove unused attribute from flags. Handle final
12396 tasks.
12397 (GOMP_taskyield): New function.
12398 (omp_in_final): Return true if if (false) or final (true) task
12399 or descendant of final (true).
12400 * fortran.c (omp_in_final_): New function.
12401 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
12402 (GOMP_3.0): Export GOMP_taskyield.
12403 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
12404 variables.
12405 (parse_unsigned_long_list): New function.
12406 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
12407 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
12408 even if parse_affinity returned false.
12409 * config/linux/affinity.c (gomp_init_affinity): Handle
12410 gomp_cpu_affinity_len == 0.
12411 * libgomp_g.h (GOMP_taskyield): New prototype.
12412 * libgomp.h (struct gomp_task): Add final_task field.
12413 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
12414 * team.c (gomp_team_start): Override new task's nthreads_var icv
12415 if list form OMP_NUM_THREADS has been used and it has value for
12416 the new nesting level.
12417
12418 * testsuite/libgomp.c/atomic-11.c: New test.
12419 * testsuite/libgomp.c/atomic-12.c: New test.
12420 * testsuite/libgomp.c/atomic-13.c: New test.
12421 * testsuite/libgomp.c/atomic-14.c: New test.
12422 * testsuite/libgomp.c/reduction-6.c: New test.
12423 * testsuite/libgomp.c/task-5.c: New test.
12424 * testsuite/libgomp.c++/atomic-2.C: New test.
12425 * testsuite/libgomp.c++/atomic-3.C: New test.
12426 * testsuite/libgomp.c++/atomic-4.C: New test.
12427 * testsuite/libgomp.c++/atomic-5.C: New test.
12428 * testsuite/libgomp.c++/atomic-6.C: New test.
12429 * testsuite/libgomp.c++/atomic-7.C: New test.
12430 * testsuite/libgomp.c++/atomic-8.C: New test.
12431 * testsuite/libgomp.c++/atomic-9.C: New test.
12432 * testsuite/libgomp.c++/task-8.C: New test.
12433 * testsuite/libgomp.c++/reduction-4.C: New test.
12434 * testsuite/libgomp.fortran/allocatable7.f90: New test.
12435 * testsuite/libgomp.fortran/allocatable8.f90: New test.
12436 * testsuite/libgomp.fortran/crayptr3.f90: New test.
12437 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
12438 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
12439 * testsuite/libgomp.fortran/pointer1.f90: New test.
12440 * testsuite/libgomp.fortran/pointer2.f90: New test.
12441 * testsuite/libgomp.fortran/task4.f90: New test.
12442
124432011-08-02 Tobias Burnus <burnus@net-b.de>
12444
12445 * libgomp.texi: Update OpenMP spec references to 3.1.
12446 (omp_in_final,OMP_PROC_BIND): New sections.
12447 (OMP_NUM_THREADS): Document that the value can be now a list.
12448 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
12449
c01ecafc
L
124502011-08-02 H.J. Lu <hongjiu.lu@intel.com>
12451
12452 * config/linux/x86/futex.h: Check __x86_64__ instead of
12453 __LP64__.
12454
25142650
JJ
124552011-07-29 Jakub Jelinek <jakub@redhat.com>
12456
12457 PR middle-end/49897
12458 PR middle-end/49898
12459 * testsuite/libgomp.c/pr49897-1.c: New test.
12460 * testsuite/libgomp.c/pr49897-2.c: New test.
12461 * testsuite/libgomp.c/pr49898-1.c: New test.
12462 * testsuite/libgomp.c/pr49898-2.c: New test.
12463
f53d712f
L
124642011-07-28 H.J. Lu <hongjiu.lu@intel.com>
12465
12466 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
12467 for ia32 instead of ilp32.
12468
12469 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
12470 * testsuite/libgomp.c/atomic-6.c: Likewise.
12471
3689198d
SP
124722011-07-23 Sebastian Pop <sebastian.pop@amd.com>
12473
12474 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
12475 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
12476
1a79cb73
RO
124772011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12478
12479 PR libgomp/45351
12480 * config/osf/sem.h: New file.
12481 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
12482
c1f51484
RO
124832011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12484
12485 PR target/49541
12486 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
12487 ldflags.
12488
bfee0724
JJ
124892011-07-15 Jakub Jelinek <jakub@redhat.com>
12490
12491 * config/linux/wait.h (do_spin): New inline, largely copied
12492 from do_wait, just don't do futex_wait here, instead return true if
12493 it should be done.
12494 (do_wait): Implement using do_spin.
12495 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
12496 to prototype.
12497 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
12498 __sync_bool_compare_and_swap, pass the oldval to
12499 gomp_mutex_lock_slow.
12500 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
12501 If all mutex contenders are just spinning and not sleeping, don't
12502 change state to 2 unnecessarily. Optimize the loop when state has
12503 already become 2 to use just one atomic operation per loop instead
12504 of two.
12505 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
12506 to prototype.
12507 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
12508 __sync_bool_compare_and_swap, pass the oldval to
12509 gomp_mutex_lock_slow.
12510
fb79f500
JJ
125112011-06-22 Jakub Jelinek <jakub@redhat.com>
12512
12513 PR libgomp/49490
12514 * iter.c (gomp_iter_static_next): For chunk size 0
12515 only use n ceil/ nthreads size for the first
12516 n % nthreads threads in the team instead of
12517 all threads except for the last few ones which
12518 get less work or none at all.
12519 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
12520 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
12521 chunk argument, set run_sched_modifier to 0 for static
12522 resp. 1 for other kinds. If chunk argument is 0
12523 and not static, set value to 1.
12524
4577f730
JJ
125252011-05-19 Jakub Jelinek <jakub@redhat.com>
12526
ea93a47b
JJ
12527 PR c++/49043
12528 * testsuite/libgomp.c++/pr49043.C: New test.
12529
4577f730
JJ
12530 PR c++/48869
12531 * testsuite/libgomp.c++/pr48869.C: New test.
12532
e7385332
JJ
125332011-05-06 Jakub Jelinek <jakub@redhat.com>
12534
12535 PR fortran/48894
12536 * fortran.c: Include limits.h.
12537 (TO_INT): Define.
12538 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
12539 *set.
12540 (omp_set_num_threads_8_, omp_set_schedule_8_,
12541 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
12542 omp_get_team_size_8_): Use TO_INT macro.
12543 * testsuite/libgomp.fortran/pr48894.f90: New test.
12544
20790697
JJ
125452011-04-13 Jakub Jelinek <jakub@redhat.com>
12546
12547 PR middle-end/48591
12548 * testsuite/libgomp.c/pr48591.c: New test.
12549
bf382f5f
RO
125502011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12551
12552 PR bootstrap/48135
12553 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
12554 * configure: Regenerate.
12555
113a53c1
JJ
125562011-02-27 Jakub Jelinek <jakub@redhat.com>
12557
12558 PR fortran/47886
12559 * testsuite/libgomp.fortran/task3.f90: New test.
12560
0024f1af
TB
125612011-02-24 Tobias Burnus <burnus@net-b.de>
12562
12563 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
12564
21e1e594
JJ
125652011-02-23 Jakub Jelinek <jakub@redhat.com>
12566
12567 PR libgomp/47854
12568 * libgomp.texi (omp_get_wtime): Don't say time in the past
12569 must be Unix Epoch.
12570
67962076
JJ
125712011-02-18 Jakub Jelinek <jakub@redhat.com>
12572
12573 PR libgomp/47804
12574 * testsuite/libgomp.fortran/fortran.exp: Check for both
12575 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
12576 but $blddir != "", still append ${blddir}/${lang_library_path}
12577 to ld_library_path.
12578
3808007c
TB
125792011-02-16 Tobias Burnus <burnus@net-b.de>
12580
12581 PR libgomp/47758
12582 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
12583 of libquadmath.a before adding its libpath to ldflags.
12584
53b4d41d
JJ
125852011-02-14 Jakub Jelinek <jakub@redhat.com>
12586
12587 PR libgomp/47731
12588 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
12589 to FUTEX_WAIT futex syscall.
12590 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
12591
029c8f3e
RW
125922011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12593
12594 * configure: Regenerate.
12595
bddd6626
BK
125962011-01-20 Benjamin Kosnik <bkoz@redhat.com>
12597
12598 PR libstdc++/36104
12599 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
12600
f1d4ab26
GP
126012011-01-16 Gerald Pfeifer
12602
12603 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
12604
2b503136
JJ
126052010-12-14 Jakub Jelinek <jakub@redhat.com>
12606
12607 PR fortran/46874
12608 * libgomp.fortran/allocatable6.f90: New test.
12609
c0f9d583
RO
126102010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12611
12612 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
12613 * configure: Regenerate.
12614
7de6ba7a
DK
126152010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
12616
12617 PR target/40125
12618 PR lto/46695
12619 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
12620 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
12621 * aclocal.m4: Regenerate.
12622 * configure: Regenerate.
12623 * Makefile.in: Regenerate.
12624 * testsuite/Makefile.in: Regenerate.
12625
b7516041
JJ
126262010-12-02 Jakub Jelinek <jakub@redhat.com>
12627
edaadf74
JJ
12628 PR fortran/46753
12629 * libgomp.fortran/pr46753.f90: New test.
12630
4c698cf8
JJ
12631 PR libgomp/43706
12632 * env.c (initialize_env): Default to spin count 300000
12633 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
12634 is specified.
12635
b7516041
JJ
12636 PR libgomp/45240
12637 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
12638 at the end if sync builtins aren't supported.
12639
6b43a34c
RO
126402010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12641
12642 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
12643
950691fa
RO
126442010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12645
12646 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
12647
fb9041ea
IS
126482010-11-24 Iain Sandoe <iains@gcc.gnu.org>
12649
12650 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
12651
1ec601bf
FXC
126522010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12653 Tobias Burnus <burnus@net-b.de>
12654
12655 PR fortran/32049
3e348fcc 12656 * configure.ac:
1ec601bf
FXC
12657 * configure: Regenerate.
12658
d213e92e
MS
126592010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
12660
12661 * config/linux/futex.h: New.
12662 * config/linux/arm/mutex.h: New.
12663 * configure.tgt (arm*-*-linux*): Add config path.
12664
89d5c66f
SP
126652010-09-30 Sebastian Pop <sebastian.pop@amd.com>
12666
12667 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
12668
87350d4a
TB
126692010-09-23 Tobias Burnus <burnus@net-b.de>
12670
12671 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
12672 Change Fortran datatype to LOGICAL.
12673 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
12674 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
12675
75bc9e5e
RW
126762010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12677
12678 * configure: Regenerate.
12679
acb5c916
JJ
126802010-07-26 Jakub Jelinek <jakub@redhat.com>
12681
12682 * libgomp.texi: Add function keyword to a couple of Fortran
12683 interfaces, use integer instead of int for Fortran.
12684
6a2ba183
AH
126852010-07-26 Aldy Hernandez <aldyh@redhat.com>
12686
12687 * libgomp.texi: Fix spelling and pasto problems throughout.
12688 Adjust prototypes to match code.
12689
df161b69
TB
126902010-07-24 Tobias Burnus <burnus@net-b.de>
12691
12692 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
12693 silence -fwhole-file warning.
12694
16c9d3b1
RO
126952010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12696
12697 * configure.tgt (*-*-solaris2.[56]*): Removed.
12698
6d28b933
RO
126992010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12700
12701 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
12702 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
12703 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
12704 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
12705 targetting solaris2*.
12706 * configure: Regenerate.
12707 * config.h.in: Regenerate.
12708
12709 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
12710 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
12711 Add libgomp_version_dep.
12712 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
12713 versioning.
12714 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
12715 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
12716 * Makefile.in: Regenerate.
12717
12718 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
12719 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
12720 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
12721 to common block, protected by
12722 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
12723
07a67d6a
GP
127242010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
12725
12726 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
12727
dbd34b89
IS
127282010-06-09 Iain Sandoe <iains@gcc.gnu.org>
12729
12730 PR bootstrap/43170
12731 * configure: Regenerate.
12732
13917ae3
RW
127332010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12734
12735 PR other/43620
12736 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
12737 * configure: Regenerate.
12738 * Makefile.in: Regenerate.
12739 * testsuite/Makefile.in: Regenerate.
12740
b83a701b
JJ
127412010-04-26 Jakub Jelinek <jakub@redhat.com>
12742
12743 PR c/43893
12744 * testsuite/libgomp.c/pr43893.c: New test.
12745 * testsuite/libgomp.c++/pr43893.C: New test.
12746
78db7d92
JJ
127472010-04-21 Jakub Jelinek <jakub@redhat.com>
12748
12749 PR middle-end/43570
12750 * testsuite/libgomp.fortran/vla8.f90: New test.
12751
5221d7a9
JJ
127522010-04-20 Jakub Jelinek <jakub@redhat.com>
12753
e4ba7a60
JJ
12754 PR libgomp/43706
12755 * config/linux/affinity.c (gomp_init_affinity): Decrease
12756 gomp_available_cpus if affinity mask confines the process to fewer
12757 CPUs.
12758 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
12759 non-NULL, just return gomp_available_cpus.
12760
5221d7a9
JJ
12761 PR libgomp/43569
12762 * sections.c (gomp_sections_init): Initialize ws->mode.
12763
289a9f86
UB
127642010-04-14 Uros Bizjak <ubizjak@gmail.com>
12765
12766 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
12767 not unused bar variable.
12768 * configure: Regenerate.
12769
4d9e8446
RW
127702010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12771
12772 * Makefile.in: Regenerate.
12773 * aclocal.m4: Regenerate.
12774 * testsuite/Makefile.in: Regenerate.
12775
80f046cc
JJ
127762010-03-22 Jakub Jelinek <jakub@redhat.com>
12777
12778 PR libgomp/42942
12779 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
12780 (initialize_env): Adjust callers.
12781 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
12782 when the argument is 0.
12783
12784 * testsuite/libgomp.c/pr42942.c: New test.
12785
b58543c3
SP
127862010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
12787
12788 PR middle-end/42644
12789 PR middle-end/42130
12790 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
12791 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
12792
41d1138f
RO
127932010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12794
12795 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
12796 * testsuite/libgomp.c++/task-6.C: Likewise.
12797
6684eb28
SE
127982010-01-28 Steve Ellcey <sje@cup.hp.com>
12799
12800 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
12801
2122aa97
PB
128022010-01-26 Paolo Bonzini <bonzini@gnu.org>
12803
12804 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
12805 * configure: Regenerate.
12806
057dd91d
JJ
128072010-01-26 Jakub Jelinek <jakub@redhat.com>
12808
12809 PR fortran/42866
12810 * testsuite/libgomp.fortran/allocatable5.f90: New test.
12811
d0709b6a
PB
128122010-01-20 Paolo Bonzini <bonzini@gnu.org>
12813
12814 * configure.ac: Test for executability of GFORTRAN.
12815 * configure: Regenerate.
12816
b9497ab5
RO
128172010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12818
12819 * configure: Regenerate.
12820
45de5648
L
128212010-01-04 H.J. Lu <hongjiu.lu@intel.com>
12822
12823 PR libgomp/42602
12824 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
12825
e74003a1
RG
128262010-01-03 Richard Guenther <rguenther@suse.de>
12827
12828 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
12829
1b3abda8
SP
128302009-12-23 Sebastian Pop <sebpop@gmail.com>
12831
12832 * testsuite/libgomp.graphite/pr4118.c: New.
12833
e19977d3
IS
128342009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
12835
12836 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
12837 for darwin, protect the test with require-effective-target tls_runtime.
12838 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
12839
1d32a772
IS
128402009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
12841
12842 PR target/41605
12843 * testsuite/lib/libgomp.exp: Provide -B options to allow for
12844 link spec %s substitutions for static libraries.
12845
deb109b2
JH
128462009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
12847
12848 PR testsuite/42135
12849 * libgomp.graphite/force-parallel-2.c: Reduce array size.
12850
43e02a8a
RW
128512009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12852
12853 * Makefile.in: Regenerate.
12854 * configure: Regenerate.
12855 * testsuite/Makefile.in: Regenerate.
12856
17f35e23
DK
128572009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
12858
12859 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
12860 settings for LC_ALL and LANG.
12861
281e33e1
JJ
128622009-11-25 Jakub Jelinek <jakub@redhat.com>
12863
12864 PR fortran/42162
12865 * testsuite/libgomp.fortran/pr42162.f90: New test.
12866
2b32c27d
JJ
128672009-11-13 Jakub Jelinek <jakub@redhat.com>
12868
12869 PR middle-end/42029
281e33e1 12870 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 12871
89c74f4a
JJ
128722009-10-26 Jakub Jelinek <jakub@redhat.com>
12873
12874 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
12875 *s. Accept ld version without text in ()s.
12876 * configure: Regenerated.
12877
7e06c3d6
EB
128782009-10-22 Razya Ladelsky <razya@il.ibm.com>
12879
12880 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
12881
0046b1a7
RW
128822009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12883
12884 PR libgomp/41418
12885 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
12886 or a hyphen (happens with fortran language disabled).
12887 * configure: Regenerate.
12888
c82852f7
RW
128892009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12890
12891 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
12892 use sed script portable to Solaris /bin/sed for extracting ld
12893 version.
12894 * configure: Regenerate.
12895
98f3eb1f
AM
128962009-09-17 Alexander Monakov <amonakov@ispras.ru>
12897
12898 * testsuite/libgomp.graphite/bounds.c: New test.
12899
878f62e5
RW
129002009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12901
12902 * Makefile.am (libgomp_la_LINK): New.
12903 * Makefile.in: Regenerate.
12904
df58e648
RW
129052009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12906
12907 * configure.ac (AC_PREREQ): Bump to 2.64.
12908
5213506e
RW
129092009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12910
70fa0efa
RW
12911 * Makefile.am (install-html, install-pdf): Remove.
12912 * Makefile.in: Regenerate.
12913
5213506e
RW
12914 * Makefile.in: Regenerate.
12915 * aclocal.m4: Regenerate.
12916 * config.h.in: Regenerate.
12917 * configure: Regenerate.
12918 * testsuite/Makefile.in: Regenerate.
12919
84fec8a5
RW
129202009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12921
12922 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
12923 * Makefile.in: Regenerate.
12924
197c68cc
DK
129252009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
12926
12927 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
12928 * Makefile.in: Regenerate.
12929
693d54f2
TB
129302009-08-19 Tobias Burnus <burnus@net-b.de>
12931
12932 PR fortran/41102
12933 omp_lib.h.in: Fix -std=f95 errors.
12934
8cac884c
DE
129352009-08-14 David Edelsohn <edelsohn@gnu.org>
12936
12937 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
12938 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
12939 * testsuite/libgomp.graphite/graphite.exp: New.
12940
78729ee2
AT
129412009-08-05 Andreas Tobler <a.tobler@schweiz.org>
12942
12943 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
12944 only build.
12945
b13b7f39
DD
129462009-08-04 David Daney <ddaney@caviumnetworks.com>
12947
12948 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
12949 needed memory barrier semantics.
12950 * config/linux/mips/mutex.h: New file.
12951
1b3b24c2
RW
129522009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12953
12954 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
12955
396b7fa4
JM
129562009-07-16 Joseph Myers <joseph@codesourcery.com>
12957
12958 * configure: Regenerate.
12959
33cde516
RS
129602009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
12961
12962 PR testsuite/40699
12963 PR testsuite/40707
12964 PR testsuite/40709
12965 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
12966 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
12967 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
12968
bc21bfa5
RS
129692009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
12970
12971 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
12972 options when choosing a multilib.
12973
b30bfd40
RS
129742009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
12975
12976 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
12977 ld_library_path. Use add_path. Add just find_libgcc_s to
12978 ld_library_path, not every libgcc multilib directory.
12979 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
12980 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
12981 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
12982 Use add_path.
12983 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
12984
479c15c2
NF
129852009-06-09 Nathan Froyd <froydnj@codesourcery.com>
12986
12987 * Makefile.am (LTLDFLAGS): Define.
12988 (LINK): Define.
12989 * Makefile.in: Regenerate.
12990
667e6f89
JB
129912009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
12992
12993 PR fortran/39718
12994 * testsuite/libgomp.fortran/fortran.exp: Don't link with
12995 libgfortranbegin, check existence of libgfortran.a instead of
12996 libgfortranbegin.a.
12997
6dea8e99
JJ
129982009-05-20 Jakub Jelinek <jakub@redhat.com>
12999
13000 PR libgomp/40174
13001 * team.c (gomp_thread_start): Destroy thr->release semaphore.
13002 (gomp_free_pool_helper): Likewise.
13003
34d01e1d
VL
130042009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
13005 Jakub Jelinek <jakub@redhat.com>
13006
13007 PR fortran/35423
13008 * testsuite/libgomp.fortran/workshare2.f90: New test.
13009
748086b7
JJ
130102009-04-09 Nick Clifton <nickc@redhat.com>
13011
13012 * iter.c: Change copyright header to refer to version 3 of the
13013 GNU General Public License with version 3.1 of the GCC Runtime
13014 Library Exception and to point readers at the COPYING3 and
13015 COPYING3.RUNTIME files and the FSF's license web page.
13016 * alloc.c: Likewise.
13017 * barrier.c: Likewise.
13018 * config/bsd/proc.c: Likewise.
13019 * config/linux/affinity.c: Likewise.
13020 * config/linux/alpha/futex.h: Likewise.
13021 * config/linux/bar.c: Likewise.
13022 * config/linux/bar.h: Likewise.
13023 * config/linux/ia64/futex.h: Likewise.
13024 * config/linux/ia64/mutex.h: Likewise.
13025 * config/linux/lock.c: Likewise.
13026 * config/linux/mips/futex.h: Likewise.
13027 * config/linux/mutex.c: Likewise.
13028 * config/linux/mutex.h: Likewise.
13029 * config/linux/powerpc/futex.h: Likewise.
13030 * config/linux/proc.c: Likewise.
13031 * config/linux/ptrlock.c: Likewise.
13032 * config/linux/ptrlock.h: Likewise.
13033 * config/linux/s390/futex.h: Likewise.
13034 * config/linux/sem.c: Likewise.
13035 * config/linux/sem.h: Likewise.
13036 * config/linux/sparc/futex.h: Likewise.
13037 * config/linux/wait.h: Likewise.
13038 * config/linux/x86/futex.h: Likewise.
13039 * config/mingw32/proc.c: Likewise.
13040 * config/mingw32/time.c: Likewise.
13041 * config/posix/affinity.c: Likewise.
13042 * config/posix/bar.c: Likewise.
13043 * config/posix/bar.h: Likewise.
13044 * config/posix/lock.c: Likewise.
13045 * config/posix/mutex.h: Likewise.
13046 * config/posix/proc.c: Likewise.
13047 * config/posix/ptrlock.h: Likewise.
13048 * config/posix/sem.c: Likewise.
13049 * config/posix/sem.h: Likewise.
13050 * config/posix/time.c: Likewise.
13051 * config/posix95/lock.c: Likewise.
13052 * critical.c: Likewise.
13053 * env.c: Likewise.
13054 * error.c: Likewise.
13055 * fortran.c: Likewise.
13056 * iter_ull.c: Likewise.
13057 * libgomp.h: Likewise.
13058 * libgomp_f.h.in: Likewise.
13059 * libgomp_g.h: Likewise.
13060 * loop.c: Likewise.
13061 * loop_ull.c: Likewise.
13062 * omp.h.in: Likewise.
13063 * omp_lib.f90.in: Likewise.
13064 * omp_lib.h.in: Likewise.
13065 * ordered.c: Likewise.
13066 * parallel.c: Likewise.
13067 * sections.c: Likewise.
13068 * single.c: Likewise.
13069 * task.c: Likewise.
13070 * team.c: Likewise.
13071 * work.c: Likewise.
13072
130732009-04-09 Jakub Jelinek <jakub@redhat.com>
13074
13075 * testsuite/config/default.exp: Change copyright header to refer to
13076 version 3 of the GNU General Public License and to point readers
13077 at the COPYING3 file and the FSF's license web page.
13078
4f0ae266
JJ
130792009-04-08 Jakub Jelinek <jakub@redhat.com>
13080
13081 PR middle-end/39573
13082 * libgomp.c++/pr39573.C: New test.
13083
03742a9b
JJ
130842009-04-01 Jakub Jelinek <jakub@redhat.com>
13085
13086 PR other/39591
13087 * testsuite/libgomp.c/pr39591-1.c: New test.
13088 * testsuite/libgomp.c/pr39591-2.c: New test.
13089 * testsuite/libgomp.c/pr39591-3.c: New test.
13090
e50ea10b
UB
130912009-03-25 Uros Bizjak <ubizjak@gmail.com>
13092
13093 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
13094 * testsuite/libgomp.c/atomic-6.c: Ditto.
13095
c5cdb03f
JJ
130962009-03-23 Jakub Jelinek <jakub@redhat.com>
13097
13098 PR c/39495
13099 * testsuite/libgomp.c/loop-12.c: New test.
13100 * testsuite/libgomp.c/loop-11.c: New test.
13101 * testsuite/libgomp.c++/loop-11.C: New test.
13102 * testsuite/libgomp.c++/loop-12.C: New test.
13103 * testsuite/libgomp.c++/for-8.C: New test.
13104
7a9d3fe8
RW
131052009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13106
13107 * configure: Regenerate.
13108
3ad6b266
JJ
131092009-02-11 Jakub Jelinek <jakub@redhat.com>
13110
13111 PR middle-end/39154
13112 * testsuite/libgomp.c/pr39154.c: New test.
13113
b39dea08
ILT
131142009-01-30 Ian Lance Taylor <iant@google.com>
13115
13116 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
13117 libgomp_ld_is_gold. Get gold version number.
13118 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
13119 * configure: Rebuild.
13120
72c66596
IS
131212009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13122
e50ea10b 13123 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
13124 use libgfortran.a%s in their specs.
13125
876080ff
JJ
131262009-01-07 Jakub Jelinek <jakub@redhat.com>
13127
13128 PR libgomp/38086
13129 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
13130 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
13131 HAVE_AS_SYMVER_DIRECTIVE is not defined.
13132 * configure: Regenerated.
13133 * config.h.in: Likewise.
13134
e4ebaef3
JJ
131352008-12-28 Jakub Jelinek <jakub@redhat.com>
13136
13137 PR c++/38650
13138 * testsuite/libgomp.c/pr38650.c: New test.
13139 * testsuite/libgomp.c++/pr38650.C: New test.
13140
382017a6
JJ
131412008-12-27 Jakub Jelinek <jakub@redhat.com>
13142
13143 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
13144
79644b27
UB
131452008-12-26 Uros Bizjak <ubizjak@gmail.com>
13146
13147 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
13148
baafc534
RW
131492008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13150
13151 * configure: Regenerate.
13152
d9c194cb
JJ
131532008-12-08 Jakub Jelinek <jakub@redhat.com>
13154
13155 PR middle-end/36802
13156 * testsuite/libgomp.c/pr36802-1.c: New test.
13157 * testsuite/libgomp.c/pr36802-2.c: New test.
13158 * testsuite/libgomp.c/pr36802-3.c: New test.
13159
86a182bf
JJ
131602008-12-01 Janis Johnson <janis187@us.ibm.com>
13161
13162 PR libgomp/38270
13163 * config/linux/powerpc/mutex.h: New.
13164
956adfaf
JJ
131652008-12-01 Jakub Jelinek <jakub@redhat.com>
13166
a2d4cdc9
JJ
13167 PR c++/38257
13168 * testsuite/libgomp.c++/for-7.C: New test.
13169
956adfaf
JJ
13170 PR c++/38348
13171 * testsuite/libgomp.c++/for-6.C: New test.
13172
d4038ca2
JJ
131732008-11-26 Janis Johnson <janis187@us.ibm.com>
13174
13175 PR testsuite/28870
13176 * testsuite/lib/libgomp.exp: Include new timeout library files.
13177 (libgomp_target_compile): Set timeout value from new proc.
13178
8b159eea
SE
131792008-11-13 Steve Ellcey <sje@cup.hp.com>
13180
13181 PR libgomp/37938
13182 * config/linux/ia64/mutex.h: New.
13183
5c6ed53a
TB
131842008-11-04 Tobias Burnus <burnus@net-b.de>
13185
13186 PR libgomp/37935
13187 * libgomp.texi (Runtime library routines, environment variables):
13188 Update for OpenMP version 3.0.
13189
6b4a97ed
PG
131902008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
13191 Steve Ellcey <sje@cup.hp.com>
13192
13193 * configure: Regenerate for new libtool.
13194 * Makefile.in: Ditto.
13195 * testsuite/Makefile.in: Ditto.
13196
e2b34106
JJ
131972008-09-19 Jakub Jelinek <jakub@redhat.com>
13198 Andreas Tobler <a.tobler@schweiz.org>
13199
13200 * config/bsd/proc.c: New file.
8c3b3600 13201 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
13202 * configure.ac: Check for header <sys/sysctl.h>
13203 * configure: Regenerate.
13204 * config.h.in: Likewise.
13205
3606b8bf
JJ
132062008-09-05 Janis Johnson <janis187@us.ibm.com>
13207
13208 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
13209
6528b88d
AL
132102008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
13211
13212 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
13213 * Makefile.in: Regenerated.
13214 * testsuite/Makefile.in: Regenerated.
13215
d9b14b12 132162008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 13217
a16b68bb 13218 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
13219 depend on blddir if blddir exists.
13220 (libgomp_target_compile): Likewise.
13221 * testsuite/libgomp.c++/c++.exp: Likewise.
13222 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13223
70b1e376
RW
132242008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13225
13226 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
13227 Do not list GPL as Invariant Section.
13228
318e8c3f
IG
132292008-07-28 Ilie Garbacea <ilie@mips.com>
13230 Chao-ying Fu <fu@mips.com>
13231
13232 * configure.tgt: Enable futex for MIPS.
13233 * config/linux/mips/futex.h: New file.
13234
4db72361
JJ
132352008-07-16 Jakub Jelinek <jakub@redhat.com>
13236
13237 * team.c (gomp_team_end): Free team immediately if it has
13238 just one thread.
13239
87bd23b8
DE
132402008-07-08 David Edelsohn <edelsohn@gnu.org>
13241
13242 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
13243 * testsuite/libgomp.fortran/fortran.exp: Same.
13244 * testsuite/libgomp.c/c.exp: Same.
13245 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
13246 directory to library path first.
13247
323ff903
KW
132482008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
13249
13250 * env.c (parse_stacksize): Add cast to avoid warning.
13251 (parse_spincount): Likewise.
13252
b357f682
JJ
132532008-06-27 Jakub Jelinek <jakub@redhat.com>
13254
ca2b1311
JJ
13255 * testsuite/libgomp.c/loop-10.c: New test.
13256 * libgomp.c/loop-3.c (main): Add lastprivate clause.
13257 * libgomp.c++/loop-6.C (main): Likewise.
13258
b357f682
JJ
13259 PR debug/36617
13260 * testsuite/libgomp.c/debug-1.c: New test.
13261
09a46078
JJ
132622008-06-19 Jakub Jelinek <jakub@redhat.com>
13263
13264 * testsuite/libgomp.c/nqueens-1.c: New test.
13265
2368a460
JJ
13266 PR c++/36523
13267 * testsuite/libgomp.c++/task-7.C: New function.
13268
18c04407
RW
132692008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13270
13271 * configure: Regenerate.
13272
9c4e59e0
JDA
132732008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13274
13275 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
13276 mutex when HAVE_SYNC_BUILTINS isn't defined.
13277
6ccde948
RW
132782008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13279
13280 * libgomp.texi (omp_test_lock): Fix typo.
13281
b896f9fd
TB
132822008-06-12 Tobias Burnus <burnus@net-b.de>
13283
13284 * omp_lib.f90.in: Add "implicit none".
13285
c34938a8
JJ
132862008-06-12 Jakub Jelinek <jakub@redhat.com>
13287
13288 PR middle-end/36506
13289 * testsuite/libgomp.c/reduction-5.c: New test.
13290
976e44e3
JJ
132912008-06-11 Jakub Jelinek <jakub@redhat.com>
13292
5f836cbb
JJ
13293 * libgomp.h (struct gomp_task): Add in_tied_task field.
13294 * task.c (gomp_init_task): Initialize it.
13295 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
13296 unconditionally. Don't call gomp_team_barrier_wake if
13297 current task is implicit or if(0) from implicit and number of
13298 running tasks is equal to nthreads - 1.
13299
01501fc8
JJ
13300 PR libgomp/36471
13301 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
13302 omp_get_team_size_8): Fix pastos.
13303
976e44e3
JJ
13304 PR libgomp/36469
13305 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
13306 * configure: Regenerated.
13307 * config.h.in: Regenerated.
13308 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
13309 defined.
13310
e919209b
AT
133112008-06-06 Andreas Tobler <a.tobler@schweiz.org>
13312
13313 PR bootstrap/36452
13314 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
13315 (GOMP_loop_ull_dynamic_start): Likewise.
13316 (GOMP_loop_ull_guided_start): Likewise.
13317 (GOMP_loop_ull_ordered_static_start): Likewise.
13318 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
13319 (GOMP_loop_ull_ordered_guided_start): Likewise.
13320
a68ab351
JJ
133212008-06-06 Jakub Jelinek <jakub@redhat.com>
13322 Richard Henderson <rth@redhat.com>
13323 Ulrich Drepper <drepper@redhat.com>
13324 Jakob Blomer <jakob.blomer@ira.uka.de>
13325
13326 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
13327 Substitute also OMP_*LOCK_25*.
13328 * configure: Regenerated.
13329 * config.h.in: Regenerated.
13330 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
13331 ptrlock.c and task.c.
13332 * Makefile.in: Regenerated.
13333 * testsuite/Makefile.in: Regenerated.
13334 * task.c: New file.
13335 * loop_ull.c: New file.
13336 * iter_ull.c: New file.
13337 * libgomp.h: Include ptrlock.h.
13338 (enum gomp_task_kind): New type.
13339 (struct gomp_team): Add task_lock, task_queue, task_count,
13340 task_running_count, single_count fields. Add
13341 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
13342 Remove work_share_lock, generation_mask,
13343 oldest_live_gen, num_live_gen and init_work_shares fields, add
13344 work work_share_list_alloc, work_share_list_free and work_share_chunk
13345 fields. Change work_shares from pointer to pointers into an array.
13346 Change ordered_release field into gomp_sem_t ** from flexible array
13347 member. Add implicit_task and initial_work_shares fields.
13348 Move close to the end of the struct.
13349 (struct gomp_team_state): Add single_count, last_work_share,
13350 active_level and level fields, remove work_share_generation.
13351 (gomp_barrier_handle_tasks): New prototype.
13352 (gomp_finish_task): New inline function.
13353 (struct gomp_work_share): Move chunk_size, end, incr into
13354 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
13355 next_ll fields. Reshuffle fields. Add next_alloc,
13356 next_ws, next_free and inline_ordered_team_ids fields, change
13357 ordered_team_ids into pointer from flexible array member.
13358 Add mode field. Put lock and next into a different cache line
13359 from most of the write-once fields.
13360 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
13361 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
13362 gomp_iter_ull_guided_next): New prototypes.
13363 (gomp_new_icv): New prototype.
13364 (struct gomp_thread): Add thread_pool and task fields.
13365 (struct gomp_thread_pool): New type.
13366 (gomp_new_team): New prototype.
13367 (gomp_team_start): Change type of last argument.
13368 (gomp_new_work_share): Removed.
13369 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
13370 (gomp_work_share_init_done): New static inline.
13371 (gomp_throttled_spin_count_var, gomp_available_cpus,
13372 gomp_managed_threads): New extern decls.
13373 (gomp_init_task): New prototype.
13374 (gomp_spin_count_var): New extern var decl.
13375 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
13376 or no alias support, or if not PIC.
13377 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
13378 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
13379 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
13380 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
13381 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
13382 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
13383 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
13384 gomp_test_nest_lock_25): New prototypes.
13385 (omp_lock_symver, strong_alias): Define.
13386 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
13387 decls.
13388 (gomp_end_task): New.
13389 (struct gomp_task_icv, gomp_global_icv): New.
13390 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
13391 (struct gomp_task): New.
13392 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
13393 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
13394 (gomp_icv): New.
13395 (gomp_schedule_type): Reorder enum to match
13396 omp_sched_t.
13397 * team.c (struct gomp_thread_start_data): Add thread_pool and task
13398 fields.
13399 (gomp_thread_start): Add gomp_team_barrier_wait call.
13400 For non-nested case remove clearing of docked thread thr fields.
13401 Use pool fields instead of global gomp_* variables. Use
13402 gomp_barrier_wait_last when needed. Initialize ts.active_level.
13403 Create tasks for each member thread.
13404 (free_team): Only destroy team barrier, task_lock here and free it.
13405 (gomp_free_thread): Free last_team if non-NULL.
13406 (gomp_team_end): Call gomp_team_barrier_wait instead of
13407 gomp_barrier_wait. For nested case call one extra
13408 gomp_barrier_wait. Move here some destruction from free_team.
13409 Call free_team on pool->last_team if any, rather than freeing
13410 current team. Destroy work_share_list_free_lock ifndef
13411 HAVE_SYNC_BUILTINS.
13412 (gomp_new_icv): New function.
13413 (gomp_threads, gomp_threads_size, gomp_threads_used,
13414 gomp_threads_dock): Removed.
13415 (gomp_thread_destructor): New variable.
13416 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
13417 functions.
13418 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 13419 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
13420 Initialize thread_pool field for new threads. Clear single_count.
13421 Change last argument from ws to team, don't create
13422 new team, set ts.work_share to &team->work_shares[0] and clear
13423 ts.last_work_share. Don't clear ts.work_share_generation.
13424 If number of threads changed, adjust atomically gomp_managed_threads.
13425 Use gomp_init_task instead of gomp_new_task,
13426 set thr->task to the corresponding implicit_task array entry.
13427 Create tasks for each member thread. Initialize ts.level.
13428 (initialize_team): Call pthread_key_create on
13429 gomp_thread_destructor.
13430 (team_destructor): New function.
13431 (new_team): Removed.
13432 (gomp_new_team): New function.
13433 (free_team): Free gomp_work_share blocks chained through next_alloc,
13434 instead of freeing work_shares and destroying work_share_lock.
13435 (gomp_team_end): Call gomp_fini_work_share. If number of threads
13436 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
13437 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
13438 of gomp_barrier_wait.
13439 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
13440 instead of gomp_barrier_wait. Call gomp_work_share_init_done
13441 if gomp_work_share_start returned true. Don't unlock ws->lock.
13442 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
13443 of gomp_barrier_wait.
13444 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
13445 gomp_work_share_init_done if gomp_work_share_start returned true.
13446 Don't unlock ws->lock.
13447 * work.c: Include stddef.h.
13448 (free_work_share): Use work_share_list_free_lock instead
13449 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
13450 Call gomp_fini_work_share and then either free ws if orphaned, or
13451 put it into work_share_list_free list of the current team.
13452 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
13453 functions.
13454 (gomp_work_share_start, gomp_work_share_end,
13455 gomp_work_share_end_nowait): Rewritten.
13456 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
13457 (openmp_version): Set to 200805.
13458 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
13459 omp_sched_guided, omp_sched_auto): New parameters.
13460 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
13461 omp_set_max_active_levels, omp_get_max_active_levels,
13462 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
13463 omp_get_active_level): New interfaces.
13464 * omp_lib.h.in (openmp_version): Set to 200805.
13465 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
13466 omp_sched_guided, omp_sched_auto): New parameters.
13467 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
13468 omp_set_max_active_levels, omp_get_max_active_levels,
13469 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
13470 omp_get_active_level): New externals.
13471 * loop.c: Include limits.h.
13472 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
13473 GFS_AUTO.
13474 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
13475 Likewise. Use gomp_icv.
13476 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
13477 ts.static_trip here.
13478 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
13479 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
13480 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
13481 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
13482 don't unlock ws->lock, otherwise lock it.
13483 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
13484 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
13485 (gomp_parallel_loop_start): Call gomp_new_team instead of
13486 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
13487 Adjust gomp_team_start caller. Pass 0 as second argument to
13488 gomp_resolve_num_threads.
13489 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
13490 If adding ws->chunk_size nthreads + 1 times after end won't
13491 overflow, set ws->mode to 1.
13492 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
13493 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
13494 GOMP_loop_ull_ordered_static_start,
13495 GOMP_loop_ull_ordered_dynamic_start,
13496 GOMP_loop_ull_ordered_guided_start,
13497 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
13498 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
13499 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
13500 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
13501 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
13502 prototypes.
13503 * libgomp.map: Export lock routines also @@OMP_2.0.
13504 (GOMP_loop_ordered_dynamic_first,
13505 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
13506 GOMP_loop_ordered_static_first): Remove.
13507 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
13508 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
13509 GOMP_loop_ull_ordered_dynamic_next,
13510 GOMP_loop_ull_ordered_dynamic_start,
13511 GOMP_loop_ull_ordered_guided_next,
13512 GOMP_loop_ull_ordered_guided_start,
13513 GOMP_loop_ull_ordered_runtime_next,
13514 GOMP_loop_ull_ordered_runtime_start,
13515 GOMP_loop_ull_ordered_static_next,
13516 GOMP_loop_ull_ordered_static_start,
13517 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
13518 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
13519 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
13520 (omp_set_schedule, omp_get_schedule,
13521 omp_get_thread_limit, omp_set_max_active_levels,
13522 omp_get_max_active_levels, omp_get_level,
13523 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
13524 omp_set_schedule_, omp_set_schedule_8_,
13525 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
13526 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
13527 omp_get_max_active_levels_, omp_get_level_,
13528 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
13529 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
13530 New exports @@OMP_3.0.
13531 * omp.h.in (omp_sched_t): New type.
13532 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
13533 omp_set_max_active_levels, omp_get_max_active_levels,
13534 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
13535 omp_get_active_level): New prototypes.
13536 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
13537 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
13538 gomp_thread_limit_var, gomp_remaining_threads_count,
13539 gomp_remaining_threads_lock): New variables.
13540 (parse_spincount): New function.
13541 (initialize_env): Call gomp_init_num_threads unconditionally.
13542 Initialize gomp_available_cpus. Call parse_spincount,
13543 initialize gomp_{,throttled_}spin_count_var
13544 depending on presence and value of OMP_WAIT_POLICY and
13545 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
13546 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
13547 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
13548 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
13549 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
13550 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
13551 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
13552 (gomp_global_icv): New.
13553 (parse_schedule): Use it. Parse "auto".
13554 (omp_set_num_threads): Use gomp_icv.
13555 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
13556 Likewise.
13557 (omp_get_max_threads): Move from parallel.c.
13558 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
13559 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
13560 add ialias.
13561 (parse_stacksize, parse_wait_policy): New functions.
13562 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
13563 both wrappers for compatibility and new locks.
13564 (omp_set_schedule, omp_get_schedule,
13565 omp_get_thread_limit, omp_set_max_active_levels,
13566 omp_get_max_active_levels, omp_get_level,
13567 omp_get_ancestor_thread_num, omp_get_team_size,
13568 omp_get_active_level): New ialias_redirect.
13569 (omp_set_schedule_, omp_set_schedule_8_,
13570 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
13571 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
13572 omp_get_max_active_levels_, omp_get_level_,
13573 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
13574 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
13575 New functions.
13576 * parallel.c: Include limits.h.
13577 (gomp_resolve_num_threads): Add count argument. Rewritten.
13578 (GOMP_parallel_start): Call gomp_new_team and pass that as last
13579 argument to gomp_team_start. Pass 0 as second argument to
13580 gomp_resolve_num_threads.
13581 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
13582 if gomp_thread_limit_var != ULONG_MAX.
13583 (omp_in_parallel): Implement using ts.active_level.
13584 (omp_get_max_threads): Move to env.c.
13585 (omp_get_level, omp_get_ancestor_thread_num,
13586 omp_get_team_size, omp_get_active_level): New functions,
13587 add ialias.
13588 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
13589 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
13590 gomp_iter_dynamic_next instead of the _locked variant and don't take
13591 lock around it, otherwise acquire it before calling
13592 gomp_iter_dynamic_next_locked.
13593 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
13594 gomp_iter_dynamic_next instead of the _locked variant and don't take
13595 lock around it.
13596 (GOMP_parallel_sections_start): Call gomp_new_team instead of
13597 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
13598 Adjust gomp_team_start caller. Pass count as second argument to
13599 gomp_resolve_num_threads, don't adjust num_threads after the call.
13600 Use gomp_icv.
13601 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
13602 ws->chunk_size by incr.
13603 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
13604 code.
13605 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
13606 types.
13607 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
13608 (omp_check_defines): Check even the compat defines.
13609 * config/linux/ptrlock.c: New file.
13610 * config/linux/ptrlock.h: New file.
13611 * config/linux/wait.h: New file.
13612 * config/posix/ptrlock.c: New file.
13613 * config/posix/ptrlock.h: New file.
13614 * config/linux/bar.h (gomp_team_barrier_wait,
13615 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
13616 (gomp_team_barrier_set_task_pending,
13617 gomp_team_barrier_clear_task_pending,
13618 gomp_team_barrier_set_waiting_for_tasks,
13619 gomp_team_barrier_waiting_for_tasks,
13620 gomp_team_barrier_done): New inlines.
13621 (gomp_barrier_t): Rewritten.
13622 (gomp_barrier_state_t): New typedef.
13623 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
13624 gomp_barrier_wait_start): Rewritten.
13625 (gomp_barrier_wait_end): Change second argument to
13626 gomp_barrier_state_t.
13627 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
13628 inlines.
13629 * config/linux/bar.c: Include wait.h instead of libgomp.h and
13630 futex.h.
13631 (gomp_barrier_wait_end): Rewritten.
13632 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
13633 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
13634 * config/posix/bar.h (gomp_barrier_t): Add generation field.
13635 (gomp_barrier_state_t): New typedef.
13636 (gomp_team_barrier_wait,
13637 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
13638 (gomp_barrier_wait_start): Or all but low 2 bits from generation
13639 into the return value. Return gomp_barrier_state_t.
13640 (gomp_team_barrier_set_task_pending,
13641 gomp_team_barrier_clear_task_pending,
13642 gomp_team_barrier_set_waiting_for_tasks,
13643 gomp_team_barrier_waiting_for_tasks,
13644 gomp_team_barrier_done): New inlines.
13645 (gomp_barrier_wait_end): Change second argument to
13646 gomp_barrier_state_t.
13647 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
13648 inlines.
13649 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
13650 (gomp_barrier_wait_end): Change second argument to
3e348fcc 13651 gomp_barrier_state_t.
a68ab351
JJ
13652 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
13653 gomp_team_barrier_wake): New functions.
13654 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
13655 futex.h.
13656 (gomp_futex_wake, gomp_futex_wait): New variables.
13657 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
13658 * config/linux/lock.c: Rewrite to make locks task owned,
13659 for backwards compatibility provide the old entrypoints
13660 if symbol versioning. Include wait.h instead of libgomp.h and
13661 futex.h.
13662 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
13663 * config/posix95/lock.c: Rewrite to make locks task owned,
13664 for backwards compatibility provide the old entrypoints
13665 if symbol versioning.
13666 * config/posix/lock.c: Rewrite to make locks task owned,
13667 for backwards compatibility provide the old entrypoints
13668 if symbol versioning.
13669 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
13670 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
13671 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
13672 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13673 (sys_futex0): Return error code.
13674 (futex_wake, futex_wait): If ENOSYS was returned, clear
13675 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13676 (cpu_relax, atomic_write_barrier): New static inlines.
13677 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13678 (futex_wake, futex_wait): If ENOSYS was returned, clear
13679 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13680 (cpu_relax, atomic_write_barrier): New static inlines.
13681 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13682 (sys_futex0): Return error code.
13683 (futex_wake, futex_wait): If ENOSYS was returned, clear
13684 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13685 (cpu_relax, atomic_write_barrier): New static inlines.
13686 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13687 (sys_futex0): Return error code.
13688 (futex_wake, futex_wait): If ENOSYS was returned, clear
13689 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13690 (cpu_relax, atomic_write_barrier): New static inlines.
13691 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13692 (sys_futex0): Return error code.
13693 (futex_wake, futex_wait): If ENOSYS was returned, clear
13694 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13695 (cpu_relax, atomic_write_barrier): New static inlines.
13696 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13697 (sys_futex0): Return error code.
13698 (futex_wake, futex_wait): If ENOSYS was returned, clear
13699 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13700 (cpu_relax, atomic_write_barrier): New static inlines.
13701 * config/linux/sem.c: Include wait.h instead of libgomp.h and
13702 futex.h.
13703 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
13704 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
13705 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
13706 types.
13707 (omp_nest_lock_t): Change owner into void *, add lock field.
13708 * config/posix95/omp-lock.h: Include semaphore.h.
13709 (omp_lock_25_t, omp_nest_lock_25_t): New types.
13710 (omp_lock_t): Use sem_t instead of mutex if semaphores
13711 aren't broken.
13712 (omp_nest_lock_t): Likewise. Change owner to void *.
13713 * config/posix/omp-lock.h: Include semaphore.h.
13714 (omp_lock_25_t, omp_nest_lock_25_t): New types.
13715 (omp_lock_t): Use sem_t instead of mutex if semaphores
13716 aren't broken.
13717 (omp_nest_lock_t): Likewise. Add owner field.
13718
137192008-06-06 Jakub Jelinek <jakub@redhat.com>
13720
13721 * testsuite/libgomp.c/collapse-1.c: New test.
13722 * testsuite/libgomp.c/collapse-2.c: New test.
13723 * testsuite/libgomp.c/collapse-3.c: New test.
13724 * testsuite/libgomp.c/icv-1.c: New test.
13725 * testsuite/libgomp.c/icv-2.c: New test.
13726 * testsuite/libgomp.c/lib-2.c: New test.
13727 * testsuite/libgomp.c/lock-1.c: New test.
13728 * testsuite/libgomp.c/lock-2.c: New test.
13729 * testsuite/libgomp.c/lock-3.c: New test.
13730 * testsuite/libgomp.c/loop-4.c: New test.
13731 * testsuite/libgomp.c/loop-5.c: New test.
13732 * testsuite/libgomp.c/loop-6.c: New test.
13733 * testsuite/libgomp.c/loop-7.c: New test.
13734 * testsuite/libgomp.c/loop-8.c: New test.
13735 * testsuite/libgomp.c/loop-9.c: New test.
13736 * testsuite/libgomp.c/nested-3.c: New test.
13737 * testsuite/libgomp.c/nestedfn-6.c: New test.
13738 * testsuite/libgomp.c/sort-1.c: New test.
13739 * testsuite/libgomp.c/task-1.c: New test.
13740 * testsuite/libgomp.c/task-2.c: New test.
13741 * testsuite/libgomp.c/task-3.c: New test.
13742 * testsuite/libgomp.c/task-4.c: New test.
13743 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
13744 to C++ testsuite default compiler options.
13745 * testsuite/libgomp.c++/collapse-1.C: New test.
13746 * testsuite/libgomp.c++/collapse-2.C: New test.
13747 * testsuite/libgomp.c++/ctor-10.C: New test.
13748 * testsuite/libgomp.c++/for-1.C: New test.
13749 * testsuite/libgomp.c++/for-2.C: New test.
13750 * testsuite/libgomp.c++/for-3.C: New test.
13751 * testsuite/libgomp.c++/for-4.C: New test.
13752 * testsuite/libgomp.c++/for-5.C: New test.
13753 * testsuite/libgomp.c++/loop-8.C: New test.
13754 * testsuite/libgomp.c++/loop-9.C: New test.
13755 * testsuite/libgomp.c++/loop-10.C: New test.
13756 * testsuite/libgomp.c++/task-1.C: New test.
13757 * testsuite/libgomp.c++/task-2.C: New test.
13758 * testsuite/libgomp.c++/task-3.C: New test.
13759 * testsuite/libgomp.c++/task-4.C: New test.
13760 * testsuite/libgomp.c++/task-5.C: New test.
13761 * testsuite/libgomp.c++/task-6.C: New test.
13762 * testsuite/libgomp.fortran/allocatable1.f90: New test.
13763 * testsuite/libgomp.fortran/allocatable2.f90: New test.
13764 * testsuite/libgomp.fortran/allocatable3.f90: New test.
13765 * testsuite/libgomp.fortran/allocatable4.f90: New test.
13766 * testsuite/libgomp.fortran/collapse1.f90: New test.
13767 * testsuite/libgomp.fortran/collapse2.f90: New test.
13768 * testsuite/libgomp.fortran/collapse3.f90: New test.
13769 * testsuite/libgomp.fortran/collapse4.f90: New test.
13770 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
13771 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
13772 * testsuite/libgomp.fortran/lib4.f90: New test.
13773 * testsuite/libgomp.fortran/lock-1.f90: New test.
13774 * testsuite/libgomp.fortran/lock-2.f90: New test.
13775 * testsuite/libgomp.fortran/nested1.f90: New test.
13776 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
13777 * testsuite/libgomp.fortran/strassen.f90: New test.
13778 * testsuite/libgomp.fortran/tabs1.f90: New test.
13779 * testsuite/libgomp.fortran/tabs2.f: New test.
13780 * testsuite/libgomp.fortran/task1.f90: New test.
13781 * testsuite/libgomp.fortran/task2.f90: New test.
13782 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
13783 * testsuite/libgomp.fortran/vla5.f90: Likewise.
13784 * testsuite/libgomp.c/pr26943-2.c: Likewise.
13785 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13786 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13787
7a0112e7
JJ
137882008-05-23 Jakub Jelinek <jakub@redhat.com>
13789
13790 PR c++/36308
13791 * testsuite/libgomp.c++/ctor-11.C: New test.
13792 * testsuite/libgomp.c++/ctor-12.C: New test.
13793
91a5b394
JJ
137942008-05-15 Janis Johnson <janis187@us.ibm.com>
13795
13796 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
13797
c18c98c0
JJ
137982008-05-07 Jakub Jelinek <jakub@redhat.com>
13799
13800 PR middle-end/36106
13801 * testsuite/libgomp.c/atomic-5.c: New test.
13802 * testsuite/libgomp.c/atomic-6.c: New test.
13803 * testsuite/libgomp.c/autopar-1.c: New test.
13804
6d26724a
RW
138052008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13806
13807 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
13808 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
13809 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
13810 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
13811 * configure: Regenerate.
13812 * Makefile.in, testsuite/Makefile.in: Likewise.
13813
deb984e6
PB
138142008-04-18 Paolo Bonzini <bonzini@gnu.org>
13815
13816 PR bootstrap/35457
13817 * aclocal.m4: Regenerate.
13818 * configure: Regenerate.
13819
9e775963
JJ
138202008-03-18 Jakub Jelinek <jakub@redhat.com>
13821
8119fc93
JJ
13822 PR middle-end/35611
13823 * testsuite/libgomp.c/atomic-4.c: New test.
13824
9e775963
JJ
13825 PR libgomp/35625
13826 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
13827 (gomp_iter_guided_next): Likewise.
13828 * testsuite/libgomp.c/pr35625.c: New test.
13829
38d24731
RW
138302008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13831
13832 * aclocal.m4: Regenerate.
13833 * configure: Likewise.
13834 * Makefile.in: Likewise.
13835 * testsuite/Makefile.in: Likewise.
13836
d0fb20be
JJ
138372008-03-13 Jakub Jelinek <jakub@redhat.com>
13838
13839 PR middle-end/35185
13840 * testsuite/libgomp.c++/pr35185.C: New test.
13841
7c8f7639
JJ
138422008-03-12 Jakub Jelinek <jakub@redhat.com>
13843
13844 PR middle-end/35549
13845 * testsuite/libgomp.c/pr35549.c: New test.
13846
251923f5
JJ
138472008-03-06 Jakub Jelinek <jakub@redhat.com>
13848
13849 * testsuite/libgomp.c/atomic-3.c: New test.
13850
f489fba1
FXC
138512008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13852
13853 PR fortran/33197
251923f5 13854 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
13855 .F08 file suffixes.
13856
a1b25e49
PG
138572008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
13858
13859 PR libgomp/33131
13860 * configure.ac: Add ACX_HEADER_STRING.
13861 * env.c: Include strings.h.
13862 * aclocal.m4: Regenerate.
13863 * config.h.in: Regenerate.
13864 * configure: Regenerate.
13865 * Makefile.in: Regenerate.
13866 * testsuite/Makefile.in: Regenerate.
13867
6837b3b8
JJ
138682008-02-15 Jakub Jelinek <jakub@redhat.com>
13869
ac84c062
JJ
13870 PR middle-end/35196
13871 * testsuite/libgomp.c/pr35196.c: New test.
13872
6837b3b8
JJ
13873 PR middle-end/35130
13874 * testsuite/libgomp.fortran/pr35130.f90: New test.
13875 * testsuite/libgomp.c/pr35130.c: New test.
13876
c256730c
JJ
138772008-01-25 Jakub Jelinek <jakub@redhat.com>
13878
13879 PR middle-end/33880
13880 * testsuite/libgomp.c/pr33880.c: New test.
13881 * testsuite/libgomp.fortran/pr33880.f90: New test.
13882
c8e95542 138832008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
13884
13885 * configure: Regenerate.
13886
0f3e711e
JJ
138872008-01-08 Jakub Jelinek <jakub@redhat.com>
13888
13889 * configure.ac: Move futex checking into ../config/futex.m4.
13890 * configure: Rebuilt.
13891 * aclocal.m4: Rebuilt.
13892 * Makefile.in: Rebuilt.
13893
13894 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
13895 2007-10-15 ../config/tls.m4 change.
13896
5259c813
JJ
138972007-12-19 Jakub Jelinek <jakub@redhat.com>
13898
13899 PR c++/34513
13900 * testsuite/libgomp.c/pr34513.c: New test.
13901 * testsuite/libgomp.c++/pr34513.C: New test.
13902
ae8d8879
JH
139032007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
13904
13905 PR target/32765
13906 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
13907
2b4cf991
JJ
139082007-12-04 Jakub Jelinek <jakub@redhat.com>
13909
13910 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
13911
d2dda7fe
JJ
139122007-12-03 Jakub Jelinek <jakub@redhat.com>
13913
13914 * testsuite/libgomp.c/private-1.c: New test.
13915
d683ec81
PB
139162007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
13917 Paolo Bonzini <bonzini@gnu.org>
13918
13919 * Makefile.am: Use space as vpath separator. Use 'vpath %'
13920 instead of 'VPATH ='.
13921 * Makefile.in: Regenerate.
13922
a7415017
MK
139232007-11-23 Matthias Klose <doko@ubuntu.com>
13924
13925 * configure.ac: Adjust makeinfo version check.
13926 * configure: Regenerate.
13927
78e47463
JJ
139282007-11-10 Jakub Jelinek <jakub@redhat.com>
13929
13930 PR fortran/34020
13931 * testsuite/libgomp.fortran/pr34020.f90: New test.
13932
239371f9
JJ
139332007-11-06 Jakub Jelinek <jakub@redhat.com>
13934
13935 PR c++/33894
13936 * testsuite/libgomp.c++/atomic-1.C: New test.
13937
98a5fa94
JJ
139382007-10-25 Jakub Jelinek <jakub@redhat.com>
13939
13940 PR libgomp/33275
13941 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
13942 Make x and y integers rather than (implicit) reals. Add private (j)
13943 clause to the last omp parallel.
13944
3afcaaf4
MR
139452007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
13946
13947 * configure: Regenerate following changes to ../config/tls.m4.
13948
bd69daef
JJ
139492007-09-28 Jakub Jelinek <jakub@redhat.com>
13950
13951 * testsuite/libgomp.fortran/stack.f90: New test.
13952
1d0bd356
DS
139532007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
13954
13955 * config/mingw32/proc.c: New file.
13956
b3172cab
UB
139572007-09-05 Uros Bizjak <ubizjak@gmail.com>
13958
13959 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
13960 (main): Use __get_cpuid to get i386 target fetaures.
13961 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
13962 (main): Use __get_cpuid to get x86_64 target fetaures.
13963
6da17392
JH
139642007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
13965
13966 PR target/32765
13967 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
13968 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
13969
e1c82219
JJ
139702007-07-12 Jakub Jelinek <jakub@redhat.com>
13971
13972 PR fortran/32550
13973 * testsuite/libgomp.fortran/pr32550.f90: New test.
13974 * testsuite/libgomp.fortran/crayptr2.f90: New test.
13975
12a27363
L
139762007-07-05 H.J. Lu <hongjiu.lu@intel.com>
13977
13978 * aclocal.m4: Regenerated.
13979
5349080d
TB
139802007-07-05 Tobias Burnus <burnus@net-b.de>
13981
13982 PR fortran/32359
13983 * testsuite/libgomp.fortran/pr32359.f90: New.
13984
4f9c450c
JJ
139852007-07-02 Jakub Jelinek <jakub@redhat.com>
13986
13987 PR libgomp/32468
13988 * sections.c (GOMP_parallel_sections_start): Only decrease
13989 number of threads to COUNT if dyn_var is true.
13990 * testsuite/libgomp.c/pr32468.c: New test.
13991
28c67ed7
RO
139922007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13993
13994 PR libgomp/26308
13995 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
13996
64964499
JJ
139972007-06-21 Jakub Jelinek <jakub@redhat.com>
13998
13999 PR middle-end/32362
14000 * testsuite/libgomp.c/pr32362-1.c: New test.
14001 * testsuite/libgomp.c/pr32362-2.c: New test.
14002 * testsuite/libgomp.c/pr32362-3.c: New test.
14003
46d8fbd1
JJ
140042007-06-07 Jakub Jelinek <jakub@redhat.com>
14005
14006 * team.c (gomp_team_start): Fix setting up thread_attr
14007 stack size.
14008
82a6cadf
PB
140092007-06-02 Paolo Bonzini <bonzini@gnu.org>
14010
14011 * configure: Regenerate.
14012
1cf3d07d
SE
140132007-05-23 Steve Ellcey <sje@cup.hp.com>
14014
14015 * Makefile.in: Regenerate.
14016 * configure: Regenerate.
14017 * aclocal.m4: Regenerate.
14018 * testsuite/Makefile.in: Regenerate.
14019
12aac30b
JJ
140202007-05-04 Jakub Jelinek <jakub@redhat.com>
14021
14022 * config/linux/proc.c: New file.
14023
f1028b02
JJ
14024 PR libgomp/28482
14025 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
14026
06785a48
DF
140272007-04-19 Daniel Franke <franke.daniel@gmail.com>
14028
14029 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
14030
b3b08ba0
MK
140312007-04-16 Matthias Klose <doko@debian.org>
14032
14033 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
14034 flags if not building with -m64.
14035 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
14036 flag for i?86-*-* targets, if current target matches -m64.
14037
6b2c5ce0
SE
140382007-04-14 Steve Ellcey <sje@cup.hp.com>
14039
14040 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
14041 * Makefile.in: Regenerate.
14042
dd56fe7c
JDA
140432007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14044
14045 PR testsuite/31369
14046 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
14047 ld_library_path.
14048 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14049
a0884cf0
JJ
140502007-04-04 Jakub Jelinek <jakub@redhat.com>
14051
14052 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
14053 decls.
14054 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
14055 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
14056 (parse_affinity): New function.
14057 (initialize_env): Call it and gomp_init_affinity.
14058 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
14059 create new pthread_attr_t and call gomp_init_thread_affinity
14060 on it for each thread before passing the attribute to pthread_create.
14061 * config/linux/affinity.c: New file.
14062 * config/posix/affinity.c: New file.
14063 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
14064 * configure: Rebuilt.
14065 * config.h.in: Rebuilt.
14066 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
14067 * Makefile.in: Rebuilt.
14068
1850744b
AT
140692007-03-23 Andreas Tobler <a.tobler@schweiz.org>
14070
14071 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
14072 *-*-darwin*.
14073 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
14074 and use it if found.
14075
516f1ed8
UB
140762007-03-18 Uros Bizjak <ubizjak@gmail.com>
14077
14078 * testsuite/config/default.exp: New file.
14079 * testsuite/lib/libgomp.exp: New file.
14080 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
14081 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
14082 load_lib *, load_gcc_lib *): Move to libgomp.exp.
14083 (libgomp_load): Remove.
14084 * testsuite/lib/libgomp.exp (libgomp_init): Compute
14085 always_ld_library_path, not ld_library_path. Set additional_flags
14086 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
14087 (target_compile): Do not call libgomp_init. Append lang_library_path
14088 and lang_link_flags to options.
14089 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
14090 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
14091 here.
14092 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
14093 always_ld_library_path. Set LD_LIBRARY_PATH here.
14094 * testsuite/libgomp.fortran/fortran.exp: Ditto.
14095 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
14096 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
14097 CX8 flag.
14098 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
14099 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
14100 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
14101 * testsuite/libgomp.c/pr29947-1.c: Ditto.
14102 * testsuite/libgomp.c/atomic-10.c: Ditto.
14103
2ada56f5
JJ
141042007-03-21 Jakub Jelinek <jakub@redhat.com>
14105
14106 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
14107 dg-final cleanup-modules line.
14108 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
14109 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
14110 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
14111 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
14112 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
14113 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
14114 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
14115
f210f1cd
AS
141162007-03-18 Andreas Schwab <schwab@suse.de>
14117
14118 * acinclude.m4: Adjust regular expression for ld version
14119 extraction.
14120 * configure: Regenerate.
14121
c4dc950d
BM
141222007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
14123
14124 * Makefile.am: Add install-pdf target as copied from
14125 automake v1.10 rules.
14126 * Makefile.in: Regenerate
14127
e02a048f
JJ
141282007-02-07 Jakub Jelinek <jakub@redhat.com>
14129
78e075d4
JJ
14130 PR libgomp/28486
14131 * configure: Regenerate.
14132
e02a048f
JJ
14133 PR c++/30703
14134 * testsuite/libgomp.c++/pr30703.C: New test.
14135
60def7ed
JJ
141362007-02-02 Jakub Jelinek <jakub@redhat.com>
14137
14138 Revert:
14139 2006-07-05 Eric Christopher <echristo@apple.com>
14140 * configure.ac: Depend addition of -pthread on host OS.
14141 * configure: Regenerate.
14142
f1b0882e
RW
141432007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14144
14145 * libgomp.texi: Fix spacing after abbreviations.
14146
748b9d7c
DF
141472007-01-31 Daniel Franke <franke.daniel@gmail.com>
14148
14149 PR libgomp/30546
14150 * configure.ac: Add check for makeinfo
14151 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 14152 if an appropriate version of makeinfo is found.
748b9d7c
DF
14153 * aclocal.m4: Regenerated.
14154 * configure: Regenerated.
14155 * Makefile.in: Regenerated.
14156 * testsuite/Makefile.in: Regenerated.
14157
14734fc7
DF
141582007-01-29 Daniel Franke <franke.daniel@gmail.com>
14159
14160 PR libgomp/30540
14161 * libgomp.texi: More about implementation-dependent settings.
14162
7befd5d2
TB
141632007-01-26 Tobias Burnus <burnus@net-b.de>
14164
14165 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
14166
4288fea2
JJ
141672007-01-24 Jakub Jelinek <jakub@redhat.com>
14168
14169 PR middle-end/30494
14170 * testsuite/libgomp.c/pr30494.c: New test.
14171
627ab4b8
TT
141722007-01-15 Tom Tromey <tromey@redhat.com>
14173
14174 * configure: Rebuilt.
14175 * configure.ac: Fixed comment.
14176
7c2b7f45
DF
141772007-01-14 Daniel Franke <franke.daniel@gmail.com>
14178
14179 * libgomp.texi: Document implementation specific default values of
14180 environment variables.
14181
3721b9e1
DF
141822006-12-21 Daniel Franke <franke.daniel@gmail.com>
14183
14184 PR libgomp/28209
14185 * libgomp.texi: New file.
14186 * configure.ac: Add --enable-generated-files-in-srcdir option.
14187 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
14188 files to srcdir.
14189 * Makefile.in: Regenerated.
14190 * config.h.in: Regenerated.
14191 * testsuite/Makefile.in: Regenerated.
14192 * NOTES: Removed.
14193
62bd6216
DF
141942006-12-04 Daniel Franke <franke.daniel@gmail.com>
14195
14196 PR libgomp/29949
14197 * env.c (omp_set_num_threads): Set illegal thread count to 1.
14198
aad741f4
EB
141992006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
14200
14201 * configure: Regenerate.
14202
22568cc6
JJ
142032006-12-04 Jakub Jelinek <jakub@redhat.com>
14204
14205 PR libgomp/29947
14206 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
14207 start if there shouldn't be any loop iterations.
14208 (gomp_loop_ordered_static_start): Remove start == end test.
14209 * testsuite/libgomp.c/pr29947-1.c: New test.
14210 * testsuite/libgomp.c/pr29947-2.c: New test.
14211
a9690009
EB
142122006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
14213
14214 * configure.tgt: Force initial-exec TLS model on Linux only.
14215
597c25e6
DJ
142162006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
14217
14218 * configure: Regenerated.
14219
6acf0b38
UB
142202006-11-09 Uros Bizjak <ubizjak@gmail.com>
14221
14222 * env.c (parse_schedule): Reject out of range values.
14223 (parse_unsigned_long): Reject out of range, negative or zero values.
14224
a7a53ca5
JJ
142252006-10-29 Jakub Jelinek <jakub@redhat.com>
14226
14227 PR fortran/29629
14228 * testsuite/libgomp.fortran/pr29629.f90: New test.
14229
6d4d216a
EB
142302006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
14231
14232 PR libgomp/29494
14233 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
14234 * config/posix95: New directory.
14235 * config/posix95/omp-lock.h: New file.
14236 * config/posix95/lock.c: Likewise.
14237
5b043f08
GK
142382006-10-14 Geoffrey Keating <geoffk@apple.com>
14239
14240 * aclocal.m4: Regenerate.
14241 * configure: Regenerate.
14242
b50019f0
DS
142432006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
14244
14245 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
14246 '<' to '<='.
14247
8887708e
DS
142482006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
14249
14250 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
14251 test.
14252 * configure: Regenerate.
14253 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
14254
9b9e4cd6
JJ
142552006-09-26 Jakub Jelinek <jakub@redhat.com>
14256
a70ad3bb
JJ
14257 PR middle-end/25261
14258 PR middle-end/28790
14259 * testsuite/libgomp.c/nestedfn-4.c: New test.
14260 * testsuite/libgomp.c/nestedfn-5.c: New test.
14261 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
14262
9b9e4cd6
JJ
14263 PR fortran/29097
14264 * testsuite/libgomp.fortran/condinc1.f: New test.
14265 * testsuite/libgomp.fortran/condinc2.f: New test.
14266 * testsuite/libgomp.fortran/condinc3.f90: New test.
14267 * testsuite/libgomp.fortran/condinc4.f90: New test.
14268 * testsuite/libgomp.fortran/condinc1.inc: New file.
14269
2fb31455
TT
142702006-09-18 Tom Tromey <tromey@redhat.com>
14271
14272 * configure: Rebuilt.
14273
c663e301
JM
142742006-09-13 Joseph S. Myers <joseph@codesourcery.com>
14275
14276 PR c/28768
14277 PR preprocessor/14634
14278 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
14279 to AC_DEFINE.
14280 * configure: Regenerate.
14281
38371be9
SK
142822006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
14283
14284 * testsuite/libgomp.fortran/reduction3.f90: Change
14285 -2147483648 to -huge(i)-1 to avoid overflow.
14286 * testsuite/libgomp.fortran/reduction4.f90: Change
14287 Z'ffffffff' to not(0) to avoid overflow.
14288
571d5ac5
JM
142892006-08-26 Joseph S. Myers <joseph@codesourcery.com>
14290
14291 PR libgomp/25938
14292 * Makefile.am (libsubincludedir): New.
14293 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
14294 * Makefile.in: Regenerate.
14295
89b3e3cd
JJ
142962006-08-17 Jakub Jelinek <jakub@redhat.com>
14297
14298 PR libgomp/28725
14299 * env.c: Include ctype.h.
14300 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
14301 leading and/or trailing whitespace and compare strings case
14302 insensitively.
14303
742fae05
JJ
143042006-07-16 Jakub Jelinek <jakub@redhat.com>
14305
14306 PR fortran/28390
14307 * testsuite/libgomp.fortran/pr28390.f: New test.
14308
a1daed2d
EC
143092006-07-05 Eric Christopher <echristo@apple.com>
14310
14311 * configure.ac: Depend addition of -pthread on host OS.
14312 * configure: Regenerate.
14313
5d7b5199
JJ
143142006-06-21 Jakub Jelinek <jakub@redhat.com>
14315
14316 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
14317 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
14318 defined.
14319
fe5568e9
JJ
143202006-06-20 Jakub Jelinek <jakub@redhat.com>
14321
14322 PR libgomp/26175
14323 PR libgomp/26477
14324 * configure.ac: If neither --enable-linux-futex nor
14325 --disable-linux-futex is passed, determine the default by checking
14326 for compiling and/or running against NPTL. With --enable-linux-futex,
14327 check if SYS_gettid and SYS_futex are defined.
14328 * configure: Rebuilt.
14329
c3b11a40
RH
143302006-06-14 Richard Henderson <rth@redhat.com>
14331
14332 PR libgomp/28008
14333 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
14334 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
14335
d0d1b24d
RH
143362006-06-09 Richard Henderson <rth@redhat.com>
14337
14338 * env.c (gomp_nthreads_var): Change to unsigned long.
14339 (gomp_run_sched_chunk): Likewise.
14340 (parse_unsigned_long): Rename from parse_num_threads and generalize.
14341 (initialize_env): Initialize gomp_thread_attr.
14342 * libgomp.h (gomp_nthreads_var): Update decl.
14343 (gomp_run_sched_chunk): Likewise.
14344 (gomp_thread_attr): Declare.
14345 * team.c (gomp_thread_attr): Export.
14346 (initialize_team): Don't initialize it.
14347
cd75853e
JJ
143482006-06-09 Jakub Jelinek <jakub@redhat.com>
14349
14350 PR fortran/27916
14351 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
14352 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
14353
33815e0c
FXC
143542006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
14355
14356 * config/mingw32/time.c: New file.
14357 * configure.tgt: Use it.
14358
6667de0d
CD
143592006-05-23 Carlos O'Donell <carlos@codesourcery.com>
14360
14361 * Makefile.am: Add install-html target. Add install-html to .PHONY
14362 * Makefile.in: Regenerate.
14363
e962c46b
JDA
143642006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14365
14366 PR libgomp/27612
14367 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
14368 * testsuite/libgomp.c/critical-1.c: Likewise.
14369 * testsuite/libgomp.c/loop-1.c: Likewise.
14370 * testsuite/libgomp.c/loop-2.c: Likewise.
14371 * testsuite/libgomp.c/single-1.c: Likewise.
14372 * testsuite/libgomp.c/ordered-1.c: Likewise.
14373 * testsuite/libgomp.c/ordered-2.c: Likewise.
14374
eeb1d9e0
JJ
143752006-05-15 Jakub Jelinek <jakub@redhat.com>
14376
14377 PR middle-end/27416
14378 * libgomp.fortran/pr27416-1.f90: New test.
14379
693d710f
JJ
143802006-05-03 Jakub Jelinek <jakub@redhat.com>
14381
14382 PR fortran/27395
14383 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
14384 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
14385
8ca5b2a2
JJ
143862006-05-02 Jakub Jelinek <jakub@redhat.com>
14387
14388 PR c++/26943
14389 * testsuite/libgomp.c/pr26943-1.c: New test.
14390 * testsuite/libgomp.c/pr26943-2.c: New test.
14391 * testsuite/libgomp.c/pr26943-3.c: New test.
14392 * testsuite/libgomp.c/pr26943-4.c: New test.
14393 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
14394 * testsuite/libgomp.c++/pr26943.C: New test.
14395
077b0dfb
JJ
143962006-05-02 Jakub Jelinek <jakub@redhat.com>
14397
14398 PR middle-end/27337
14399 * testsuite/libgomp.c++/pr27337.C: New test.
14400
91b6c26d
JJ
144012006-04-26 Jakub Jelinek <jakub@redhat.com>
14402
14403 PR c/26171
14404 * testsuite/libgomp.c/pr26171.c: New test.
14405
60e1758f
RH
144062006-04-25 Richard Henderson <rth@redhat.com>
14407
14408 PR libgomp/25865
14409 * configure.ac: Use GCC_CHECK_TLS.
14410 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
14411 * Makefile.in, aclocal.m4, configure: Regenerate.
14412
615baed7
MK
144132006-04-10 Matthias Klose <doko@debian.org>
14414
14415 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
14416 directory names containing underscores.
14417
fae2b46b
JJ
144182006-03-21 Jakub Jelinek <jakub@redhat.com>
14419
14420 PR c++/26691
14421 * testsuite/libgomp.c++/pr26691.C: New test.
14422
11a5f608
JJ
144232006-03-13 Jakub Jelinek <jakub@redhat.com>
14424
14425 * testsuite/libgomp.fortran/retval2.f90: New test.
14426
1799e5d5
RH
144272006-03-09 Diego Novillo <dnovillo@redhat.com>
14428
14429 * testsuite/libgomp.c++: New directory.
14430
d349482e
AT
144312006-02-25 Shantonu Sen <ssen@opendarwin.org>
14432
14433 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
14434 * config/posix/sem.c: Implement the above.
14435
144362006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
14437
14438 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
14439 define HAVE_BROKEN_POSIX_SEMAPHORES.
14440 * configure: Rebuilt.
14441 * config.h.in: Rebuilt.
14442
124452c9
FXC
144432006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
14444
14445 PR bootstrap/26161
14446 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
14447 for the other pthread check.
14448 * configure: Regenerate.
14449 * config.h.in: Regenerate.
14450
dd8d6dfe
JJ
144512006-02-15 Jakub Jelinek <jakub@redhat.com>
14452
14453 PR libgomp/25938
14454 PR libgomp/25984
14455 * Makefile.am (fincludedir): New variable.
14456 (nodist_include_HEADERS): Remove Fortran files.
14457 (nodist_finclude_HEADERS): New variable.
14458 * Makefile.in: Regenerated.
14459
6c7a4dfd
JJ
144602006-02-13 Jakub Jelinek <jakub@redhat.com>
14461
14462 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
14463 Remove tests for returning assumed character length arrays.
14464
5142e08b
RS
144652006-02-12 Roger Sayle <roger@eyesopen.com>
14466 John David Anglin <dave@hiauly1.hia.nrc.ca>
14467
14468 PR libgomp/25936
14469 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 14470
5821fba8
UW
144712006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
14472
14473 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
14474
cb2bbc67
EB
144752006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
14476
14477 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
14478 part of LD_LIBRARY_PATH manually.
14479
f05ee80c
L
144802006-02-03 H.J. Lu <hongjiu.lu@intel.com>
14481
14482 PR libgomp/25852
14483 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
14484 libgomp_init.
14485
03b8fe49
PB
144862005-01-25 Paolo Bonzini <bonzini@gnu.org>
14487
14488 PR libgomp/25884
f05ee80c
L
14489 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
14490 * configure.ac (PERL): Don't set.
14491 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
14492 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
14493 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
14494 * omp.h.in: Wrap the new configure substitutions with @ characters.
14495 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
14496 * aclocal.m4, configure, Makefile.in: Regenerate.
14497 * mkomp_h.pl: Delete.
03b8fe49 14498
18cbfd85
PB
144992005-01-24 Paolo Bonzini <bonzini@gnu.org>
14500
14501 PR libgomp/25259
14502 * configure.ac: Use GCC_HEADER_STDINT.
14503 * libgomp.h: Include gstdint.h.
14504 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
14505 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
14506
c41303c6
RH
145072006-01-24 Richard Henderson <rth@redhat.com>
14508
14509 PR libgomp/25942
14510 * configure.ac: Add AM_MAINTAINER_MODE.
14511 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
14512
149b9553
DN
145132006-01-24 Diego Novillo <dnovillo@redhat.com>
14514
14515 * Makefile.in: Regenerate.
14516 * testsuite/Makefile.in: Regenerate.
14517 * aclocal.m4: Regenerate.
14518
192a50ad
AT
145192006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
14520
14521 * config/posix/proc.c: Conditional include of sys/loadavg.h for
14522 Solaris.
14523 * configure.ac: Add check for loadavg.h.
14524 (link_gomp): Adjust comment.
14525 * configure: Regenerate.
14526 * config.h.in: Regenerate.
14527
a55b8e18
SE
145282006-01-21 Steve Ellcey <sje@cup.hp.com>
14529
14530 PR libgomp/25877
14531 * configure.ac: Remove check for alloca.h.
14532 * configure: Regenerate.
14533 * config.h.in: Regenerate.
14534 * libgomp.h: define gomp_alloca to be __builtin_alloca.
14535 * team.c: Remove use of alloca.h.
14536 Call gomp_alloca instead of alloca.
14537
692eeb34
SE
145382006-01-20 Steve Ellcey <sje@cup.hp.com>
14539
14540 PR libgomp/25877
14541 * team.c: Add include of alloca.h.
14542 * configure.ac: Add check for alloca.h.
14543 * configure: Regenerate.
14544 * config.h.in: Regenerate.
14545
953ff289
DN
145462006-01-17 Jakub Jelinek <jakub@redhat.com>
14547
14548 PR fortran/25219
14549 * testsuite/libgomp.fortran/pr25219.f90: New test.
14550
145512005-12-05 Uros Bizjak <uros@kss-loka.si>
14552
14553 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
14554 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
14555 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
14556 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
14557 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
14558 testsuite/libgomp.fortran/threadprivate1.f90,
14559 testsuite/libgomp.fortran/threadprivate2.f90,
14560 testsuite/libgomp.fortran/threadprivate3.f90,
14561 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
14562 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
14563 testsuite/libgomp.fortran/omp_parse3.f90: Change required
14564 effective-target to TLS runtime.
14565
14566 * testsuite/libgomp.fortran/pr25162.f: Require
14567 effective-target TLS runtime.
14568
145692005-12-01 Jakub Jelinek <jakub@redhat.com>
14570
14571 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
14572 * testsuite/libgomp.c/nestedfn-3.c: New test.
14573
145742005-11-30 Jakub Jelinek <jakub@redhat.com>
14575
14576 PR fortran/25162
14577 * testsuite/libgomp.fortran/pr25162.f: New test.
14578
145792005-11-28 Jakub Jelinek <jakub@redhat.com>
14580
14581 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
14582 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
14583
145842005-11-25 Jakub Jelinek <jakub@redhat.com>
14585
14586 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
14587 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
14588 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
14589 single.c, team.c, work.c, config/linux/alpha/futex.h,
14590 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
14591 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
14592 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
14593 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
14594 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
14595 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
14596 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
14597 FSF address.
14598
145992005-11-18 Jakub Jelinek <jakub@redhat.com>
14600
14601 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
14602 to nodist_noinst_HEADERS.
14603 * Makefile.in: Rebuilt.
14604
14605 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
14606 add integer count field.
14607 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
14608 omp_nest_lock_t type change.
14609 (omp_init_nest_lock): Likewise. Initialize count to 0.
14610 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
14611 Increment count.
14612 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
14613 Decrement count.
14614 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
14615 Increment count if successful and return the new nesting level.
14616 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
14617 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
14618 * testsuite/libgomp.c/lib-1.c: New test.
14619 * testsuite/libgomp.fortran/lib1.f90: New test.
14620 * testsuite/libgomp.fortran/lib2.f: New test.
14621 * testsuite/libgomp.fortran/lib3.f: New test.
14622
146232005-11-17 Richard Henderson <rth@redhat.com>
14624
14625 PR 24845
14626 * Makefile.am (nodist_toolexeclib_HEADERS): New.
14627 * configure.ac (link_gomp): New. Substitute it.
14628 (AC_CONFIG_FILES): Add libgomp.spec.
14629 * libgomp.spec.in: New file.
14630 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
14631 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
14632
146332005-11-18 Jakub Jelinek <jakub@redhat.com>
14634
14635 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
14636 reduction(-:var) behaving the same as reduction(+:var).
14637 * testsuite/libgomp.c/reduction-4.c: New test.
14638
146392005-11-15 Uros Bizjak <uros@kss-loka.si>
14640
14641 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
14642 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
14643 testsuite/libgomp.c/copyin-3.c,
14644 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
14645 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
14646 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
14647 testsuite/libgomp.c++/pr24455.C,
14648 testsuite/libgomp.fortran/threadprivate1.f90,
14649 testsuite/libgomp.fortran/threadprivate2.f90,
14650 testsuite/libgomp.fortran/threadprivate3.f90,
14651 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
14652 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
14653 testsuite/libgomp.fortran/omp_parse3.f90: Require
14654 effective-target TLS.
14655
146562005-11-14 Diego Novillo <dnovillo@redhat.com>
14657
14658 * HEADER: Remove.
14659
146602005-11-13 Jakub Jelinek <jakub@redhat.com>
14661
14662 PR libgomp/24797
14663 * team.c (initialize_team): Pass NULL rather than free as
14664 pthread_key_create destructor. Initialize thread specific data
14665 pointer in initial thread to a static local variable rather than
14666 malloced memory.
14667
146682005-11-11 Uros Bizjak <uros@kss-loka.si>
14669
14670 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
14671 its location to ld_library_path.
14672
146732005-11-10 Diego Novillo <dnovillo@redhat.com>
14674
14675 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
14676
146772005-11-10 Diego Novillo <dnovillo@redhat.com>
14678
14679 * testsuite/libgomp.c: Rename from libgomp.dg.
14680
146812005-11-09 Diego Novillo <dnovillo@redhat.com>
14682
14683 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
14684 threadprivate variable 'i'.
14685
146862005-11-09 Jakub Jelinek <jakub@redhat.com>
14687
14688 * config/linux/s390/futex.h: New file.
14689 * configure.tgt: Use it.
14690
14691 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
14692 before the parallel.
14693
146942005-11-08 Jakub Jelinek <jakub@redhat.com>
14695
14696 PR c++/24734
14697 * testsuite/libgomp.c++/master-1.C: New test.
14698
146992005-11-07 Jakub Jelinek <jakub@redhat.com>
14700
14701 * testsuite/libgomp.dg/copyin-3.c: New test.
14702
147032005-11-07 Jakub Jelinek <jakub@redhat.com>
14704
14705 * testsuite/libgomp.fortran/retval1.f90: New test.
14706 * testsuite/libgomp.fortran/vla7.f90: New test.
14707
147082005-11-06 Jakub Jelinek <jakub@redhat.com>
14709
14710 * testsuite/libgomp.fortran/vla2.f90: New test.
14711 * testsuite/libgomp.fortran/vla3.f90: New test.
14712 * testsuite/libgomp.fortran/vla4.f90: New test.
14713 * testsuite/libgomp.fortran/vla5.f90: New test.
14714 * testsuite/libgomp.fortran/vla6.f90: New test.
14715
147162005-11-01 Jakub Jelinek <jakub@redhat.com>
14717
14718 * config/linux/sparc/futex.h: New file.
14719 * configure.tgt: Use it.
14720 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
14721
14722 * critical.c: Include stdlib.h.
14723 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
14724 ignoring return value.
14725 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
14726 LIBGOMP_CHECK_SYNC_BUILTINS check.
14727 * configure: Rebuilt.
14728
147292005-10-31 Jakub Jelinek <jakub@redhat.com>
14730
14731 * testsuite/libgomp.fortran/vla1.f90: New test.
14732
147332005-10-31 Richard Henderson <rth@redhat.com>
14734
14735 * testsuite/libgomp.fortran/character2.f90: Fix race condition
14736 setting 's' in different threads.
14737
147382005-10-31 Jakub Jelinek <jakub@redhat.com>
14739
14740 * libgomp.h (attribute_hidden, ialias): Define.
14741 * config/posix/proc.c (omp_get_num_procs): Add ialias.
14742 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
14743 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
14744 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
14745 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
14746 omp_test_lock, omp_test_nest_lock): Likewise.
14747 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
14748 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
14749 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
14750 omp_test_lock, omp_test_nest_lock): Likewise.
14751 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
14752 omp_get_dynamic, omp_get_nested): Likewise.
14753 * parallel.c (omp_get_num_threads, omp_get_max_threads,
14754 omp_get_thread_num, omp_in_parallel): Likewise.
14755 * fortran.c (ialias_redirect): Define.
14756 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
14757 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
14758 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
14759 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
14760 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
14761 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
14762 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
14763 omp_get_wtime): Add ialias_redirect.
14764
147652005-10-30 Jakub Jelinek <jakub@redhat.com>
14766
14767 * fortran.c: Include stdlib.h.
14768
147692005-10-29 Jakub Jelinek <jakub@redhat.com>
14770
14771 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
14772 * Makefile.in: Regenerated.
14773
147742005-10-28 Jakub Jelinek <jakub@redhat.com>
14775
14776 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
14777 * libgomp_f.h.in (omp_check_defines): New function.
14778 * env.c: Include libgomp_f.h.
14779 (initialize_env): Call omp_check_defines.
14780
14781 * testsuite/libgomp.dg/copyin-2.c: New test.
14782 * testsuite/libgomp.c++/copyin-2.C: New test.
14783 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
14784
14785 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
14786 * testsuite/libgomp.fortran/sharing2.f90: New test.
14787
14788 * testsuite/libgomp.dg/copyin-1.c: New test.
14789 * testsuite/libgomp.c++/copyin-1.C: New test.
14790
147912005-10-26 Jakub Jelinek <jakub@redhat.com>
14792
14793 * testsuite/libgomp.fortran/crayptr1.f90: New test.
14794
14795 * testsuite/libgomp.fortran/workshare1.f90: New test.
14796
14797 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
14798 only test.
14799 * libgomp.fortran/sharing1.f90: New test.
14800
148012005-10-24 Jakub Jelinek <jakub@redhat.com>
14802
14803 PR c++/24502
14804 * testsuite/libgomp.c++/loop-7.C: New test.
14805
14806 * testsuite/libgomp.dg/nestedfn-2.c: New test.
14807
14808 * testsuite/libgomp.dg/nestedfn-1.c: New test.
14809 * testsuite/libgomp.fortran/reduction6.f90: New test.
14810 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
14811
148122005-10-23 Richard Henderson <rth@redhat.com>
14813
14814 * testsuite/libgomp.c++/ctor-1.C: New.
14815 * testsuite/libgomp.c++/ctor-2.C: New.
14816 * testsuite/libgomp.c++/ctor-3.C: New.
14817 * testsuite/libgomp.c++/ctor-4.C: New.
14818 * testsuite/libgomp.c++/ctor-5.C: New.
14819 * testsuite/libgomp.c++/ctor-6.C: New.
14820 * testsuite/libgomp.c++/ctor-7.C: New.
14821 * testsuite/libgomp.c++/ctor-8.C: New.
14822 * testsuite/libgomp.c++/ctor-9.C: New.
14823
148242005-10-21 Diego Novillo <dnovillo@redhat.com>
14825
14826 PR 24455
14827 * testsuite/libgomp.c++/pr24455-1.C: New test.
14828 * testsuite/libgomp.c++/pr24455.C: New test.
14829 * testsuite/libgomp.dg/pr24455-1.c: New test.
14830 * testsuite/libgomp.dg/pr24455.c: New test.
14831
148322005-10-20 Richard Henderson <rth@redhat.com>
14833
14834 * testsuite/libgomp.c++/loop-6.C: New.
14835 * testsuite/libgomp.dg/loop-3.c: New.
14836
148372005-10-20 Jakub Jelinek <jakub@redhat.com>
14838
14839 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
14840 explicitly private.
14841 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
14842 explicitly shared.
14843
148442005-10-19 Diego Novillo <dnovillo@redhat.com>
14845
14846 * testsuite/libgomp.fortran/jacobi.f: New test.
14847
148482005-10-19 Richard Henderson <rth@redhat.com>
14849
14850 * configure.tgt (i?86-linux): Default to with_arch instead of
14851 CFLAGS. Add -mtune to match target_cpu.
14852 (x86_64-linux): Tune to i686.
14853
14854 * fortran.c (omp_test_nest_lock_): Fix typo.
14855
148562005-10-19 Jakub Jelinek <jakub@redhat.com>
14857
14858 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14859 gomp_ordered_sync): Do nothing if team->nthreads == 1.
14860 * testsuite/libgomp.dg/ordered-3.c: New test.
14861
14862 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
14863 Remove volatile keyword.
14864
14865 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
14866 in COMMON block to avoid warnings on 64-bit targets.
14867
148682005-10-18 Diego Novillo <dnovillo@redhat.com>
14869
14870 * testsuite/libgomp.dg/shared-3.c: New test.
14871
148722005-10-18 Jakub Jelinek <jakub@redhat.com>
14873
14874 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
14875 * testsuite/libgomp.fortran/reduction5.f90: New test.
14876
148772005-10-18 Jakub Jelinek <jakub@redhat.com>
14878
14879 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
14880 dg-options.
14881 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
14882 flush loop now that __sync_synchronize has proper memory barrier.
14883 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
14884 Add -ffixed-form to dg-options.
14885
148862005-10-17 Diego Novillo <dnovillo@redhat.com>
14887
14888 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
14889 from subdirectories.
14890 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
14891 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
14892 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
14893 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
14894 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
14895 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
14896 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
14897 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
14898 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
14899 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
14900 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
14901 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
14902 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
14903 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
14904 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
14905 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
14906 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
14907 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
14908 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
14909 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
14910 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
14911 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
14912 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
14913 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
14914 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
14915
149162005-10-17 Jakub Jelinek <jakub@redhat.com>
14917
14918 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
14919 lang_library_path exists. Use find instead of glob to gather tests.
14920 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
14921
149222005-10-17 Diego Novillo <dnovillo@redhat.com>
14923
14924 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
14925 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
14926 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
14927 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
14928 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
14929 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
14930 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
14931 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
14932 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
14933 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
14934 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
14935 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
14936 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
14937
149382005-10-15 Jakub Jelinek <jakub@redhat.com>
14939
14940 * testsuite/libgomp.dg/vla-1.c: New test.
14941
14942 * testsuite/libgomp.fortran/reference2.f90: New test.
14943
14944 * testsuite/libgomp.fortran/character2.f90: Remove explicit
14945 declaration of omp_get_thread_num.
14946 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
14947 use omp_lib.
14948
14949 * testsuite/libgomp.fortran/reduction1.f90: New test.
14950 * testsuite/libgomp.fortran/reduction2.f90: New test.
14951 * testsuite/libgomp.fortran/reduction3.f90: New test.
14952 * testsuite/libgomp.fortran/reduction4.f90: New test.
14953
149542005-10-13 Richard Henderson <rth@redhat.com>
14955
14956 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
14957 * Makefile.in: Regenerate.
14958 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
14959 * libgomp.h: Include bar.h.
14960 (struct gomp_barrier): Remove.
14961 (struct gomp_team): Add barrier. Replace master_barrier with
14962 master_release. Replace threads with ordered_release.
14963 (struct gomp_thread): Replace barrier with release.
14964 * ordered.c (gomp_ordered_first): Update for ordered_release change.
14965 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
14966 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
14967 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
14968 (GOMP_single_copy_end): Likewise.
14969 * team.c (gomp_threads_dock): New.
14970 (gomp_barrier_init, gomp_barrier_destroy): Remove.
14971 (gomp_thread_start): Use gomp_barrier_wait.
14972 (new_team, free_team): Update for gomp_team changes.
14973 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
14974 (gomp_team_end): Use gomp_barrier_wait.
14975 (initialize_team): Update for gomp_thread changes.
14976 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
14977 (gomp_work_share_end_nowait): Use atomic ops when available.
14978 * config/linux/bar.c, config/linux/bar.h: New files.
14979 * config/posix/bar.c, config/posix/bar.h: New files.
14980
149812005-10-13 Jakub Jelinek <jakub@redhat.com>
14982
14983 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
14984 * testsuite/libgomp.dg/single-2.c: New test.
14985
14986 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
14987 lang_link_flags): Unset, so that they aren't inherited from previously
14988 sourced *.exp.
14989
14990 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
14991
149922005-10-12 Richard Henderson <rth@redhat.com>
14993
14994 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
14995 (libgomp_init): Use lang_test_file, lang_library_path, and
14996 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
14997
14998 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
14999 (lang_test_file, lang_link_flags): New.
15000 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
15001
15002 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
15003 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
15004 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
15005 testsuite/libgomp.c++/parallel-1.C,
15006 testsuite/libgomp.c++/reduction-1.C,
15007 testsuite/libgomp.c++/reduction-2.C,
15008 testsuite/libgomp.c++/reduction-3.C,
15009 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
15010 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
15011 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
15012 New files, largely cribbed from the C testsuite.
15013
150142005-10-12 Jakub Jelinek <jakub@redhat.com>
15015
15016 * testsuite/libgomp.fortran/character1.f90: New test.
15017 * testsuite/libgomp.fortran/character2.f90: New test.
15018
15019 * testsuite/libgomp.dg/nested-1.c: New test.
15020 * testsuite/libgomp.dg/nested-2.c: New test.
15021 * testsuite/libgomp.fortran/do1.f90: New test.
15022 * testsuite/libgomp.fortran/do2.f90: New test.
15023
15024 * testsuite/libgomp.fortran/reference1.f90: New test.
15025
150262005-10-11 Jakub Jelinek <jakub@redhat.com>
15027
15028 * testsuite/libgomp.dg/reduction-1.c: New test.
15029 * testsuite/libgomp.dg/reduction-2.c: New test.
15030 * testsuite/libgomp.dg/reduction-3.c: New test.
15031
150322005-10-10 Jakub Jelinek <jakub@redhat.com>
15033
15034 * testsuite/libgomp.dg/atomic-1.c: New test.
15035 * testsuite/libgomp.dg/atomic-2.c: New test.
15036
150372005-10-09 Richard Henderson <rth@redhat.com>
15038
15039 * critical.c (atomic_lock): New.
15040 (initialize_critical): Initialize it.
15041 (GOMP_atomic_start, GOMP_atomic_end): New.
15042 * libgomp.map: Export them.
15043 * libgomp_g.h: Declare them.
15044
15045 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
15046
150472005-10-02 Richard Henderson <rth@redhat.com>
15048
15049 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
15050 to XCFLAGS instead of CFLAGS.
15051
150522005-09-30 Richard Henderson <rth@redhat.com>
15053
15054 * configure.ac: Determine whether -pthread or -lpthread is needed.
15055 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 15056 * Makefile.in, configure: Rebuild.
953ff289
DN
15057
150582005-09-28 Richard Henderson <rth@redhat.com>
15059
15060 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
15061 * testsuite/libgomp.dg/omp-single-3.c: New test.
15062
150632005-09-28 Diego Novillo <dnovillo@redhat.com>
15064
15065 * testsuite/libgomp.dg/omp-single-2.c: New test.
15066 * testsuite/libgomp.dg/shared-2.c: Fix return code.
15067
150682005-09-27 Richard Henderson <rth@redhat.com>
15069
15070 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
15071 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
15072
150732005-09-27 Jakub Jelinek <jakub@redhat.com>
15074
15075 * testsuite/libgomp.dg/omp-loop03.c: New test.
15076
150772005-09-27 Diego Novillo <dnovillo@redhat.com>
15078
15079 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
15080
150812005-09-27 Diego Novillo <dnovillo@redhat.com>
15082
15083 * testsuite/libgomp.dg/omp-single-1.c: New test.
15084 * testsuite/libgomp.dg/shared-1.c: Return 0.
15085 Add prototype for abort.
15086 * testsuite/libgomp.dg/shared-2.c: Likewise.
15087
150882005-09-26 Jakub Jelinek <jakub@redhat.com>
15089
15090 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
15091 constructs.
15092
150932005-09-26 Diego Novillo <dnovillo@redhat.com>
15094
15095 * testsuite/libgomp.dg/shared-1.c: New test.
15096 * testsuite/libgomp.dg/shared-2.c: New test.
15097
150982005-09-24 Richard Henderson <rth@redhat.com>
15099
15100 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
15101
151022005-09-24 Richard Henderson <rth@redhat.com>
15103
15104 * iter.c (gomp_iter_static_next): Round up when computing number
15105 of iterations. Don't bother distributing a remainder equally.
15106
15107 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
15108 Don't call srand. Zero b before testing.
15109 (main): New.
15110
151112005-09-24 Jakub Jelinek <jakub@redhat.com>
15112
15113 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
15114 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
15115
151162005-09-23 Jakub Jelinek <jakub@redhat.com>
15117
15118 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
15119 without !$omp end do, followed immediately by subroutine end.
15120
151212005-09-23 Diego Novillo <dnovillo@redhat.com>
15122
15123 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
15124
151252005-09-22 Richard Henderson <rth@redhat.com>
15126
15127 * critical.c (GOMP_critical_name_start): Change argument to void**.
15128 Reuse the pointer space if the mutex fits.
15129 (GOMP_critical_name_end): Likewise.
15130 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
15131 * libgomp_g.h (GOMP_critical_name_start): Update decl.
15132 (GOMP_critical_name_end): Likewise.
15133 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
15134 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
15135
151362005-09-20 Richard Henderson <rth@redhat.com>
15137
15138 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
15139 (create_lock_lock): New.
15140 (initialize_critical): Initialize it.
15141 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
15142 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
15143
151442005-09-20 Diego Novillo <dnovillo@redhat.com>
15145
15146 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
15147
151482005-09-20 Diego Novillo <dnovillo@redhat.com>
15149
15150 * testsuite/libgomp.dg/omp-loop01.c: New test.
15151 * testsuite/libgomp.dg/omp-loop02.c: New test.
15152
151532005-09-20 Jakub Jelinek <jakub@redhat.com>
15154
15155 * configure.ac (AC_PROG_FC): Add.
15156 (USE_FORTRAN): New automake conditional.
15157 * configure: Rebuilt.
15158 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
15159 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
15160 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
15161 Add rules to build them.
15162 * Makefile.in: Rebuilt.
15163 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
15164 OMP_NEST_LOCK_KIND.
15165 * libgomp.map: Add Fortran wrappers.
15166 * libgomp_f.h.in: New file.
15167 * omp_lib.h.in: New file.
15168 * omp_lib.f90.in: New file.
15169 * fortran.c: New file.
15170 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
15171 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
15172 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
15173 libgfortran has been built.
15174 * testsuite/libgomp.fortran/fortran.exp: New file.
15175 * testsuite/libgomp.fortran/omp_cond1.f: New test.
15176 * testsuite/libgomp.fortran/omp_cond2.f: New test.
15177 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
15178 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
15179 * testsuite/libgomp.fortran/omp_hello.f: New test.
15180 * testsuite/libgomp.fortran/omp_orphan.f: New test.
15181 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
15182 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
15183 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
15184 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
15185 * testsuite/libgomp.fortran/omp_reduction.f: New test.
15186 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
15187 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
15188
151892005-08-30 Richard Henderson <rth@redhat.com>
15190
15191 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
15192 function for when aliases are not usable.
15193 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
15194 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
15195 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
15196 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
15197 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
15198 GOMP_loop_ordered_guided_next): Likewise.
15199 * ordered.c (GOMP_ordered_start): Likewise.
15200
152012005-08-01 Diego Novillo <dnovillo@redhat.com>
15202
15203 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
15204 * testsuite/libgomp.dg/omp_hello.c: Fix return code
15205 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
15206 * testsuite/libgomp.dg/omp_orphan.c: Likewise
15207 * testsuite/libgomp.dg/omp_reduction.c: Likewise
15208 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
15209 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
15210 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
15211 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
15212
152132005-07-07 Eric Christopher <echristo@redhat.com>
15214 Diego Novillo <dnovillo@redhat.com>
15215
15216 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
15217 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
15218 up code.
15219 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
15220 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
15221 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
15222 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
15223 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
15224 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
15225 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
15226
152272005-06-13 Diego Novillo <dnovillo@redhat.com>
15228
15229 * TOPLEVEL.patch: Remove.
15230
152312005-05-16 Richard Henderson <rth@redhat.com>
15232
15233 * configure.ac: Test for clock_gettime.
15234 * config.h.in, configure: Rebuild.
15235 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
15236 (omp_get_wtime): Use clock_gettime if available.
15237 (omp_get_wtick): Use clock_getres if available.
15238
152392005-05-11 Richard Henderson <rth@redhat.com>
15240
15241 * config/linux/ia64/futex.h: New file.
15242 * configure.tgt: Use it.
15243
15244 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
15245
152462005-05-07 Richard Henderson <rth@redhat.com>
15247
15248 * config/linux/powerpc/futex.h: New file.
15249 * configure.tgt: Use it.
15250
15251 * config/linux/i486/futex.h: Merge ...
15252 * config/linux/x86_64/futex.h: ... into ...
15253 * config/linux/x86/futex.h: ... here.
15254 * configure.tgt: Update to match.
15255
152562005-05-06 Richard Henderson <rth@redhat.com>
15257
15258 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
15259 * config/linux/i486/futex.h: Likewise.
15260 * config/linux/x86_64/futex.h: Likewise.
15261
15262 * config/linux/lock.c: New file.
15263 * config/linux/omp-lock.h: New file.
15264
15265 * critical.c, env.h: Don't include omp.h
15266 * config/posix/lock.c: Include libgomp.h instead of omp.h.
15267 * config/posix/time.c: Likewise.
15268 * config/posix/omp-lock.h: New file.
15269 * libgomp.h: Include omp-lock.h and omp.h.
15270 * Makefile.am (nodist_include_HEADERS): New.
15271 (omp.h): New rule.
15272 * configure.ac (PERL): New.
15273 * mkomp_h.pl: New file.
15274 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
15275 with templates.
15276 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
15277
15278 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
15279 build directory. Re-add -march=i486 hack.
15280
15281 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
15282 (libgomp_link_flags): Remove.
15283 (libgomp_initialized): Remove.
15284 (libgomp_init): Don't protect from reinitialization. Copy code
15285 from libstdc++ for getting the multilib set correctly.
15286
152872005-05-05 Richard Henderson <rth@redhat.com>
15288
15289 * config/linux/alpha/futex.h: New file.
15290 * configure.tgt (alpha*-*-linux*): Use it.
15291
15292 * config/posix/mutex.c: New file.
15293 * config/posix/sem.c: Use libgomp.h.
15294
15295 * configure.tgt (x86_64-linux): Also test CC for -m32.
15296 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
15297
a1daed2d 15298 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
15299 after $gccpath.
15300
15301 * Makefile.am (SUBDIRS): New.
15302 (libgomp_la_LDFLAGS): Add -lpthread.
15303 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
15304 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
15305
15306 * libgomp_g.h: New file.
15307 * libgomp.h: Split out all public declarations to libgomp_g.h.
15308 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
15309 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
15310 * config/linux/sem.h: Likewise.
15311 * config/posix/sem.h: Likewise.
15312
15313 * Makefile.am (AM_LDFLAGS): New.
15314 (libgomp_version_script): Split out from ...
15315 (libgomp_la_LDFLAGS): ... here.
15316 (libgomp_version_info): New.
15317 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
15318 (LIBGOMP_ENABLE): New.
15319 (LIBGOMP_CHECK_LINKER_FEATURES): New.
15320 (LIBGOMP_ENABLE_SYMVERS): New.
15321 * configure.ac (AC_INIT): Version 1.0.
15322 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
15323 (enable-linux-futex): Likewise. Rename from enable-futex.
15324 (libtool_VERSION): New.
15325 (LIBGOMP_ENABLE_SYMVERS): Use it.
15326 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
15327 * Makefile.in, aclocal.m4, configure: Rebuild.
15328
15329 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
15330 (gomp_mutex_unlock_slow): Fix typo.
15331 * config/linux/sem.c: Similarly.
15332 (gomp_sem_post_slow): Fix typo.
15333 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
15334 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
15335 [__PIC__] (sys_futex0): Don't use tmp output in asm.
15336
15337 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
15338 (libgomp_la_LDFLAGS): Add top_srcdir to path.
15339 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
15340 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
15341 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
15342 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
15343 LDFLAGS. Pull enable_futex check to top-level.
15344 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
15345 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
15346
15347 First attempt at real configury.
15348 * Makefile, config.h: Remove file.
15349 * Makefile.am, Makefile.in: New file.
15350 * acinclude.m4 aclocal.m4: New file.
15351 * configure.ac, configure.tgt, configure: New file.
15352
15353 * config/posix/lock.c: Rename from sys-lock.c.
15354 * config/posix/mutex.h: Rename from sys-mutex.h.
15355 * config/posix/sem.c: Rename from sys-sem.c.
15356 * config/posix/sem.h: Rename from sys-sem.h.
15357 * config/posix/proc.c: Rename from sys-proc.c.
15358 * config/posix/time.c: Rename from sys-proc.c.
15359
15360 * config/linux/mutex.c: New file.
15361 * config/linux/mutex.h: New file.
15362 * config/linux/sem.c: New file.
15363 * config/linux/sem.h: New file.
15364 * config/linux/i486/futex.h: New file.
15365 * config/linux/x86_64/futex.h: New file.
15366
153672005-05-04 Richard Henderson <rth@redhat.com>
15368
15369 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
15370 * libgomp.h: Declare them.
15371 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
15372 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
15373
153742005-05-04 Richard Henderson <rth@redhat.com>
15375
15376 * libgomp-1 code drop
15377
153782005-05-04 Richard Henderson <rth@redhat.com>
15379
15380 * iter.c (gomp_iter_static_next): Return tri-state on 0.
15381 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
15382 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
15383 (gomp_iter_static_next): Update.
15384 (gomp_ordered_static_next): Update.
15385 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
15386 (gomp_loop_ordered_static_start): Likewise. Exit early for a
15387 totally empty range.
15388 (gomp_loop_ordered_static_next): Refine test for calling
15389 gomp_ordered_static_next.
15390 * testsuite/ordered-1.c: Add case for more threads than iterations.
15391
15392 * iter.c (gomp_iter_runtime_next_locked): Remove.
15393 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 15394 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
15395 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
15396 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
15397 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
15398 gomp_loop_ordered_guided_next): Downcase name, make static, add
15399 an external alias with the old name.
15400 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
15401 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
15402 switch and call one of the above static functions.
15403 * libgomp.h: Update.
15404
15405 * work.c (gomp_work_share_start): Lock the mutex for !first too.
15406 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
15407 GOMP_loop_guided_start, GOMP_loop_runtime_start,
15408 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
15409 GOMP_loop_ordered_guided_start): Update to match.
15410 * sections.c (GOMP_sections_start): Likewise.
15411 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
15412
15413 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
15414 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
15415 Use bounds check instead of modulus.
15416 (gomp_ordered_sync): Split out of GOMP_ordered_start.
15417 (gomp_ordered_last): Don't sync with ordered_owner here.
15418 (gomp_ordered_next): Likewise.
15419 (gomp_ordered_static_loop_next): Likewise.
15420 * loop.c, libgomp.h: Update to match.
15421
15422 * libgomp.h (GOMP_barrier): Declare.
15423
15424 * testsuite/barrier-1.c: New file.
15425 * testsuite/critical-1.c: New file.
15426 * testsuite/ordered-2.c: New file.
15427 * testsuite/ordered-1.c: New file.
15428 * testsuite/sections-1.c: New file.
15429 * testsuite/single-1.c: New file.
15430 * testsuite/Makefile (TESTS): Add them.
15431
154322005-05-04 Richard Henderson <rth@redhat.com>
15433
15434 * libgomp.h (struct gomp_work_share): Add ordered_owner.
15435 * loop.c (GOMP_loop_static_start): If not the startup thread,
15436 acquire the mutex to wait for initialization complete.
15437 (GOMP_loop_ordered_static_start): Likewise.
15438 (GOMP_loop_ordered_runtime_start): Likewise.
15439 (GOMP_loop_ordered_static_first): Remove.
15440 (GOMP_loop_ordered_dynamic_first): Remove.
15441 (GOMP_loop_ordered_guided_first): Remove.
15442 (GOMP_loop_ordered_runtime_first): Remove.
15443 * ordered.c (gomp_ordered_loop_first): Post to own release when
15444 we're the first thread.
15445 (gomp_ordered_loop_last): Wait on release if not owner.
15446 (gomp_ordered_loop_next): Likewise.
15447 (gomp_ordered_static_loop_init): New.
15448 (gomp_ordered_static_loop_next): Use ordered_owner.
15449 (GOMP_ordered_start): Likewise.
15450 * work.c (gomp_new_work_share): Initialize ordered_owner.
15451
154522005-05-03 Richard Henderson <rth@redhat.com>
15453
15454 * Makefile (OPT): New.
15455 (CFLAGS): Use it.
15456
15457 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
15458 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
15459 * libgomp.h, libgomp.map, NOTES: Update to match.
15460
15461 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
15462 Add initialized and thr members.
15463 (gomp_thread_start): Pause when initially spawned to wait for
15464 the whole team to be created.
15465 (gomp_team_start): Release team members at the end.
15466
15467 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
15468 (f_foo_1): Use GOMP_loop_end.
15469 (f_foo_2): Use GOMP_loop_end_nowait.
15470
15471 * testsuite/loop-2.c: New file.
15472 * testsuite/Makefile (TESTS): Add it.
15473
154742005-05-03 Richard Henderson <rth@redhat.com>
15475
15476 * iter.c (gomp_iter_static_next): Fix overflow check typo.
15477 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
15478 * team.c (new_team): Initialize oldest_live_gen to 1 if no
15479 initial work_share.
15480
15481 * testsuite/Makefile: New file.
15482 * testsuite/loop-1.c: New file.
15483
154842005-05-03 Richard Henderson <rth@redhat.com>
15485
15486 Initial implementation and checkin.
21fa2a29 15487\f
c48514be 15488Copyright (C) 2005-2021 Free Software Foundation, Inc.
21fa2a29
JJ
15489
15490Copying and distribution of this file, with or without modification,
15491are permitted in any medium without royalty provided the copyright
15492notice and this notice are preserved.