01da5efb8aecea3916d40f34e61c20b1c429e281
[platform/upstream/gcc.git] / libgomp / ChangeLog
1 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
2
3         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4         adding a common-block test case.
5
6 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
7
8         PR c++/60228
9         * testsuite/libgomp.c++/udr-20.C: New test.
10         * testsuite/libgomp.c++/udr-21.C: New test.
11
12 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
13
14         * testsuite/lib/libgomp.exp
15         (check_effective_target_offload_target_nvptx): New proc.
16         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
17         'dg-skip-if'.
18         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
19         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
20         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
21
22 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
23
24         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
25         * testsuite/libgomp.c/pr39591-2.c: Likewise.
26         * testsuite/libgomp.c/pr39591-3.c: Likewise.
27         * testsuite/libgomp.c/private-1.c: Likewise.
28         * testsuite/libgomp.c/task-1.c: Likewise.
29         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
30
31 2019-11-20  Julian Brown  <julian@codesourcery.com>
32
33         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
34         aq->mutex here.
35         (queue_push_launch): Lock aq->mutex before calling
36         wait_for_queue_nonfull.
37         (queue_push_callback): Likewise.
38         (queue_push_asyncwait): Likewise.
39         (queue_push_placeholder): Likewise.
40
41 2019-11-20  Julian Brown  <julian@codesourcery.com>
42
43         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
44         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
45         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
46         return code.
47
48 2019-11-20  Julian Brown  <julian@codesourcery.com>
49
50         PR libgomp/92511
51
52         * oacc-mem.c (present_create_copy): Fix device pointer return value in
53         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
54         in non-present/create case.
55         (delete_copyout): Change error condition to fail only on copies outside
56         of mapped block.  Adjust error message accordingly.
57         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
58         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
59         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
60         message.
61         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
62         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
63         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
64
65 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
66
67         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
68         libatomic in build-tree testing.
69
70 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
71
72         * testsuite/Makefile.in: Regenerate.
73
74 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
75
76         * testsuite/libgomp.c/target-print-1.c: New file.
77         * testsuite/libgomp.fortran/target-print-1.f90: New file.
78         * testsuite/libgomp.oacc-c/print-1.c: New file.
79         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
80
81 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
82             Kwok Cheung Yeung  <kcy@codesourcery.com>
83             Julian Brown  <julian@codesourcery.com>
84             Tom de Vries  <tom@codesourcery.com>
85
86         * plugin/Makefrag.am: Add amdgcn plugin support.
87         * plugin/configfrag.ac: Likewise.
88         * plugin/plugin-gcn.c: New file.
89         * configure: Regenerate.
90         * Makefile.in: Regenerate.
91         * testsuite/Makefile.in: Regenerate.
92
93 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
94
95         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
96         and use team_malloc variants.
97         (gomp_gcn_exit_kernel): Use team_free.
98         * libgomp.h (TEAM_ARENA_SIZE): Define.
99         (TEAM_ARENA_START): Define.
100         (TEAM_ARENA_FREE): Define.
101         (TEAM_ARENA_END): Define.
102         (team_malloc): New function.
103         (team_malloc_cleared): New function.
104         (team_free): New function.
105         * team.c (gomp_new_team): Initialize and use team_malloc.
106         (free_team): Use team_free.
107         (gomp_free_thread): Use team_free.
108         (gomp_pause_host): Use team_free.
109         * work.c (gomp_init_work_share): Use team_malloc.
110         (gomp_fini_work_share): Use team_free.
111
112 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
113             Kwok Cheung Yeung  <kcy@codesourcery.com>
114             Julian Brown  <julian@codesourcery.com>
115             Tom de Vries  <tom@codesourcery.com>
116
117         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
118         * Makefile.in: Regenerate.
119         * config.h.in (PLUGIN_GCN): Add new undef.
120         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
121         * config/gcn/affinity-fmt.c: New file.
122         * config/gcn/bar.c: New file.
123         * config/gcn/bar.h: New file.
124         * config/gcn/doacross.h: New file.
125         * config/gcn/icv-device.c: New file.
126         * config/gcn/oacc-target.c: New file.
127         * config/gcn/simple-bar.h: New file.
128         * config/gcn/target.c: New file.
129         * config/gcn/task.c: New file.
130         * config/gcn/team.c: New file.
131         * config/gcn/time.c: New file.
132         * configure.ac: Add amdgcn*-*-*.
133         * configure: Regenerate.
134         * configure.tgt: Add amdgcn*-*-*.
135         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
136         * libgomp.h (gcn_thrs): Add amdgcn variant.
137         (set_gcn_thrs): Likewise.
138         (gomp_thread): Likewise.
139         * oacc-int.h (goacc_thread): Likewise.
140         * oacc-target.c: New file.
141         * openacc.f90 (acc_device_gcn): New parameter.
142         * openacc.h (acc_device_t): Add acc_device_gcn.
143         * team.c (gomp_free_pool_helper): Add amdgcn support.
144
145 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
146             Julian Brown  <julian@codesourcery.com>
147
148         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
149         parameter.
150         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
151         queue constructor.
152         * oacc-host.c (host_openacc_async_construct): Add device parameter.
153         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
154         device parameter.
155
156 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
157
158         * configure.tgt (nvptx*-*-*): Add "accel" directory.
159         * config/nvptx/libgomp-plugin.c: Move ...
160         * config/accel/libgomp-plugin.c: ... to here.
161         * config/nvptx/lock.c: Move ...
162         * config/accel/lock.c: ... to here.
163         * config/nvptx/mutex.c: Move ...
164         * config/accel/mutex.c: ... to here.
165         * config/nvptx/mutex.h: Move ...
166         * config/accel/mutex.h: ... to here.
167         * config/nvptx/oacc-async.c: Move ...
168         * config/accel/oacc-async.c: ... to here.
169         * config/nvptx/oacc-cuda.c: Move ...
170         * config/accel/oacc-cuda.c: ... to here.
171         * config/nvptx/oacc-host.c: Move ...
172         * config/accel/oacc-host.c: ... to here.
173         * config/nvptx/oacc-init.c: Move ...
174         * config/accel/oacc-init.c: ... to here.
175         * config/nvptx/oacc-mem.c: Move ...
176         * config/accel/oacc-mem.c: ... to here.
177         * config/nvptx/oacc-plugin.c: Move ...
178         * config/accel/oacc-plugin.c: ... to here.
179         * config/nvptx/omp-lock.h: Move ...
180         * config/accel/omp-lock.h: ... to here.
181         * config/nvptx/openacc.f90: Move ...
182         * config/accel/openacc.f90: ... to here.
183         * config/nvptx/pool.h: Move ...
184         * config/accel/pool.h: ... to here.
185         * config/nvptx/proc.c: Move ...
186         * config/accel/proc.c: ... to here.
187         * config/nvptx/ptrlock.c: Move ...
188         * config/accel/ptrlock.c: ... to here.
189         * config/nvptx/ptrlock.h: Move ...
190         * config/accel/ptrlock.h: ... to here.
191         * config/nvptx/sem.c: Move ...
192         * config/accel/sem.c: ... to here.
193         * config/nvptx/sem.h: Move ...
194         * config/accel/sem.h: ... to here.
195         * config/nvptx/thread-stacksize.h: Move ...
196         * config/accel/thread-stacksize.h: ... to here.
197
198 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
199             Tobias Burnus  <tobias@codesourcery.com>
200             Frederik Harwath  <frederik@codesourcery.com>
201             Thomas Schwinge  <thomas@codesourcery.com>
202
203         libgomp/
204         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
205         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
206         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
207
208 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
209             Kwok Cheung Yeung  <kcy@codesourcery.com>
210
211         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
212         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
213
214 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
215
216         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
217
218         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
219         run'.
220         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
221         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
222
223 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
224
225         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
226         Add expected warnings about missing reduction clauses.
227         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
228         Likewise.
229         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
230         Likewise.
231         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
232         Likewise.
233
234 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
235
236         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
237         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
238         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
239         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
240         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
241         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
242
243 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
244
245         PR fortran/92305
246         * testsuite/libgomp.fortran/allocatable2.f90: Use
247         unique numbers with 'stop'.
248         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
249         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
250         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
251         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
252         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
253
254 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
255
256         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
257         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
258         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
259         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
260         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
261         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
262
263 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
264
265         * testsuite/libgomp.fortran/target9.f90: New.
266
267 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
268
269         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
270         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
271         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
272         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
273         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
274         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
275         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
276         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
277         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
278         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
279         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
280         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
281         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
282         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
283         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
284         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
285         * testsuite/libgomp.fortran/associate1.f90: Ditto.
286         * testsuite/libgomp.fortran/associate2.f90: Ditto.
287         * testsuite/libgomp.fortran/associate3.f90: Ditto.
288         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
289         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
290         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
291         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
292         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
293         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
294         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
295         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
296         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
297         * testsuite/libgomp.fortran/character1.f90: Ditto.
298         * testsuite/libgomp.fortran/character2.f90: Ditto.
299         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
300         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
301         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
302         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
303         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
304         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
305         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
306         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
307         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
308         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
309         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
310         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
311         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
312         * testsuite/libgomp.fortran/do1.f90: Ditto.
313         * testsuite/libgomp.fortran/do2.f90: Ditto.
314         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
315         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
316         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
317         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
318         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
319         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
320         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
321         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
322         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
323         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
324         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
325         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
326         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
327         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
328         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
329         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
330         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
331         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
332         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
333         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
334         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
335         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
336         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
337         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
338         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
339         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
340         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
341         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
342         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
343         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
344         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
345         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
346         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
347         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
348         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
349         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
350         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
351         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
352         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
353         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
354         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
355         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
356         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
357         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
358         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
359         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
360         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
361         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
362         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
363         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
364         * testsuite/libgomp.fortran/lib1.f90: Ditto.
365         * testsuite/libgomp.fortran/lib4.f90: Ditto.
366         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
367         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
368         * testsuite/libgomp.fortran/nested1.f90: Ditto.
369         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
370         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
371         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
372         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
373         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
374         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
375         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
376         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
377         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
378         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
379         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
380         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
381         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
382         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
383         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
384         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
385         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
386         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
387         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
388         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
389         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
390         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
391         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
392         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
393         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
394         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
395         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
396         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
397         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
398         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
399         * testsuite/libgomp.fortran/pr28390.f: Ditto.
400         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
401         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
402         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
403         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
404         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
405         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
406         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
407         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
408         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
409         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
410         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
411         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
412         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
413         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
414         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
415         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
416         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
417         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
418         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
419         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
420         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
421         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
422         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
423         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
424         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
425         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
426         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
427         * testsuite/libgomp.fortran/reference1.f90: Ditto.
428         * testsuite/libgomp.fortran/reference2.f90: Ditto.
429         * testsuite/libgomp.fortran/retval1.f90: Ditto.
430         * testsuite/libgomp.fortran/retval2.f90: Ditto.
431         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
432         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
433         * testsuite/libgomp.fortran/simd1.f90: Ditto.
434         * testsuite/libgomp.fortran/simd2.f90: Ditto.
435         * testsuite/libgomp.fortran/simd3.f90: Ditto.
436         * testsuite/libgomp.fortran/simd4.f90: Ditto.
437         * testsuite/libgomp.fortran/simd5.f90: Ditto.
438         * testsuite/libgomp.fortran/simd6.f90: Ditto.
439         * testsuite/libgomp.fortran/simd7.f90: Ditto.
440         * testsuite/libgomp.fortran/stack.f90: Ditto.
441         * testsuite/libgomp.fortran/strassen.f90: Ditto.
442         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
443         * testsuite/libgomp.fortran/tabs2.f: Ditto.
444         * testsuite/libgomp.fortran/target1.f90: Ditto.
445         * testsuite/libgomp.fortran/target2.f90: Ditto.
446         * testsuite/libgomp.fortran/target3.f90: Ditto.
447         * testsuite/libgomp.fortran/target4.f90: Ditto.
448         * testsuite/libgomp.fortran/target5.f90: Ditto.
449         * testsuite/libgomp.fortran/target6.f90: Ditto.
450         * testsuite/libgomp.fortran/target7.f90: Ditto.
451         * testsuite/libgomp.fortran/target8.f90: Ditto.
452         * testsuite/libgomp.fortran/task1.f90: Ditto.
453         * testsuite/libgomp.fortran/task2.f90: Ditto.
454         * testsuite/libgomp.fortran/task3.f90: Ditto.
455         * testsuite/libgomp.fortran/task4.f90: Ditto.
456         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
457         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
458         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
459         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
460         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
461         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
462         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
463         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
464         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
465         * testsuite/libgomp.fortran/udr1.f90: Ditto.
466         * testsuite/libgomp.fortran/udr10.f90: Ditto.
467         * testsuite/libgomp.fortran/udr11.f90: Ditto.
468         * testsuite/libgomp.fortran/udr12.f90: Ditto.
469         * testsuite/libgomp.fortran/udr13.f90: Ditto.
470         * testsuite/libgomp.fortran/udr14.f90: Ditto.
471         * testsuite/libgomp.fortran/udr15.f90: Ditto.
472         * testsuite/libgomp.fortran/udr2.f90: Ditto.
473         * testsuite/libgomp.fortran/udr3.f90: Ditto.
474         * testsuite/libgomp.fortran/udr4.f90: Ditto.
475         * testsuite/libgomp.fortran/udr5.f90: Ditto.
476         * testsuite/libgomp.fortran/udr6.f90: Ditto.
477         * testsuite/libgomp.fortran/udr7.f90: Ditto.
478         * testsuite/libgomp.fortran/udr8.f90: Ditto.
479         * testsuite/libgomp.fortran/udr9.f90: Ditto.
480         * testsuite/libgomp.fortran/vla1.f90: Ditto.
481         * testsuite/libgomp.fortran/vla2.f90: Ditto.
482         * testsuite/libgomp.fortran/vla3.f90: Ditto.
483         * testsuite/libgomp.fortran/vla4.f90: Ditto.
484         * testsuite/libgomp.fortran/vla5.f90: Ditto.
485         * testsuite/libgomp.fortran/vla6.f90: Ditto.
486         * testsuite/libgomp.fortran/vla7.f90: Ditto.
487         * testsuite/libgomp.fortran/vla8.f90: Ditto.
488         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
489         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
490
491 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
492
493         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
494         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
495         Ditto; add 'dg-do run' for torture testing.
496         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
497         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
498         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
499         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
500         * testsuite/libgomp.fortran/pr28390.f: Ditto.
501         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
502         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
503         * testsuite/libgomp.fortran/task2.f90: Ditto.
504         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
505         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
506         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
507         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
508         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
509         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
510
511 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
512
513         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
514         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
515         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
516         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
517         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
518         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
519         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
520         Use 'stop' not abort().
521         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
522         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
523         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
524         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
525         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
526         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
527         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
528         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
529         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
530         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
531         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
532         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
533         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
534         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
535         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
536         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
537         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
538         Ditto.
539         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
540         Ditto.
541         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
542         Ditto.
543         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
544         Ditto.
545         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
546         Ditto.
547         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
548         Ditto.
549         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
550         Ditto.
551         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
552         Ditto.
553         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
554         Ditto.
555         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
556         Ditto.
557         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
558         Ditto.
559         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
560         Ditto.
561         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
562         Ditto.
563         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
564         Ditto.
565         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
566         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
567         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
568         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
569         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
570         Likewise and also add 'dg-do run'.
571         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
572         Ditto.
573
574 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
575             Tobias Burnus  <tobias@codesourcery.com>
576
577         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
578         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
579         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
580
581 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
582
583         PR libgomp/92081
584         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
585         than 0.
586
587 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
588
589         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
590         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
591
592 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
593
594         PR middle-end/92036
595         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
596         file.
597
598 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
599
600         PR testsuite/91884
601         * testsuite/libgomp.fortran/fortran.exp: Conditionally
602         add -lquadmath.
603         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
604
605 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
606
607         PR libgomp/92028
608         * target.c (gomp_map_vars_internal): Readd the previous
609         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
610         though do that just in the !not_found_cnt case.
611
612 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
613
614         * gfortran.dg/gomp/target-simd.f90: New.
615
616 2019-10-02  Julian Brown  <julian@codesourcery.com>
617             Cesar Philippidis  <cesar@codesourcery.com>
618
619         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
620         * target.c (FIELD_TGT_EMPTY): Define.
621         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
622         as switch instead of list of ifs.
623         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
624
625 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
626
627         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
628         include. Replace alloca () with __builtin_alloca ().
629         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
630
631 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
632
633         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
634         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
635         * oacc-parallel.c: Don't include "libgomp_g.h".
636         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
637         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
638         * aclocal.m4: Regenerated.
639         * config.h.in: Regenerated.
640         * configure: Regenerated.
641         * Makefile.in: Regenerated.
642
643 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
644
645         * libgomp_g.h: Include stdint.h instead of gstdint.h.
646
647 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
648
649         * configure: Regenerate.
650
651 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
652
653         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
654         string is initialized.
655
656 2019-09-06  Florian Weimer  <fweimer@redhat.com>
657
658         * configure: Regenerate.
659
660 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
661
662         PR other/79543
663         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
664         scanning to conform to the GNU Coding Standards.
665         * configure: Regenerate.
666
667 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
668
669         PR libgomp/91530
670         * testsuite/libgomp.c/scan-21.c: New test.
671         * testsuite/libgomp.c/scan-22.c: New test.
672
673 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
674
675         PR libgomp/91530
676         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
677         targets.
678         * testsuite/libgomp.c/scan-12.c: Likewise.
679         * testsuite/libgomp.c/scan-13.c: Likewise.
680         * testsuite/libgomp.c/scan-14.c: Likewise.
681         * testsuite/libgomp.c/scan-15.c: Likewise.
682         * testsuite/libgomp.c/scan-16.c: Likewise.
683         * testsuite/libgomp.c/scan-17.c: Likewise.
684         * testsuite/libgomp.c/scan-18.c: Likewise.
685         * testsuite/libgomp.c/scan-19.c: Likewise.
686         * testsuite/libgomp.c/scan-20.c: Likewise.
687         * testsuite/libgomp.c++/scan-9.C: Likewise.
688         * testsuite/libgomp.c++/scan-10.C: Likewise.
689         * testsuite/libgomp.c++/scan-11.C: Likewise.
690         * testsuite/libgomp.c++/scan-12.C: Likewise.
691         * testsuite/libgomp.c++/scan-14.C: Likewise.
692         * testsuite/libgomp.c++/scan-15.C: Likewise.
693         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
694         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
695         * testsuite/libgomp.c++/scan-16.C: Likewise.
696
697 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
698
699         PR fortran/91473
700         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
701         -std=legacy so invalid code in the test case is accepted.
702
703 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
704
705         PR fortran/91422
706         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
707         dimension.
708
709 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
710
711         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
712         perform the lookup in the first loop only if !not_found_cnt, otherwise
713         perform lookups for it in the second loop guarded with
714         if (not_found_cnt || has_firstprivate).
715         * testsuite/libgomp.c/target-37.c: New test.
716         * testsuite/libgomp.c++/target-22.C: New test.
717
718 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
719
720         * testsuite/libgomp.c/target-18.c (struct S): New type.
721         (foo): Use use_device_addr clause instead of use_device_ptr clause
722         where required by OpenMP 5.0, add further tests for both use_device_ptr
723         and use_device_addr clauses.
724         * testsuite/libgomp.c++/target-9.C (struct S): New type.
725         (foo): Use use_device_addr clause instead of use_device_ptr clause
726         where required by OpenMP 5.0, add further tests for both use_device_ptr
727         and use_device_addr clauses.  Add t and u arguments.
728         (main): Adjust caller.
729
730 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
731
732         * testsuite/libgomp.c++/loop-13.C: New test.
733         * testsuite/libgomp.c++/loop-14.C: New test.
734         * testsuite/libgomp.c++/loop-15.C: New test.
735
736 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
737
738         PR middle-end/91301
739         * testsuite/libgomp.c++/for-27.C: New test.
740
741 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
742
743         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
744         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
745
746 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
747
748         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
749
750 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
751
752         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
753         * testsuite/libgomp.c++/scan-16.C: Likewise.
754
755 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
756
757         * testsuite/libgomp.c/scan-19.c: New test.
758         * testsuite/libgomp.c/scan-20.c: New test.
759
760         * testsuite/libgomp.c/scan-11.c: New test.
761         * testsuite/libgomp.c/scan-12.c: New test.
762         * testsuite/libgomp.c/scan-13.c: New test.
763         * testsuite/libgomp.c/scan-14.c: New test.
764         * testsuite/libgomp.c/scan-15.c: New test.
765         * testsuite/libgomp.c/scan-16.c: New test.
766         * testsuite/libgomp.c/scan-17.c: New test.
767         * testsuite/libgomp.c/scan-18.c: New test.
768         * testsuite/libgomp.c++/scan-9.C: New test.
769         * testsuite/libgomp.c++/scan-10.C: New test.
770         * testsuite/libgomp.c++/scan-11.C: New test.
771         * testsuite/libgomp.c++/scan-12.C: New test.
772         * testsuite/libgomp.c++/scan-13.C: New test.
773         * testsuite/libgomp.c++/scan-14.C: New test.
774         * testsuite/libgomp.c++/scan-15.C: New test.
775         * testsuite/libgomp.c++/scan-16.C: New test.
776
777 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
778
779         * testsuite/libgomp.c/scan-9.c: New test.
780         * testsuite/libgomp.c/scan-10.c: New test.
781
782 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
783
784         * testsuite/libgomp.c++/scan-1.C: New test.
785         * testsuite/libgomp.c++/scan-2.C: New test.
786         * testsuite/libgomp.c++/scan-3.C: New test.
787         * testsuite/libgomp.c++/scan-4.C: New test.
788         * testsuite/libgomp.c++/scan-5.C: New test.
789         * testsuite/libgomp.c++/scan-6.C: New test.
790         * testsuite/libgomp.c++/scan-7.C: New test.
791         * testsuite/libgomp.c++/scan-8.C: New test.
792         * testsuite/libgomp.c/scan-1.c: New test.
793         * testsuite/libgomp.c/scan-2.c: New test.
794         * testsuite/libgomp.c/scan-3.c: New test.
795         * testsuite/libgomp.c/scan-4.c: New test.
796         * testsuite/libgomp.c/scan-5.c: New test.
797         * testsuite/libgomp.c/scan-6.c: New test.
798         * testsuite/libgomp.c/scan-7.c: New test.
799         * testsuite/libgomp.c/scan-8.c: New test.
800
801 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
802
803         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
804         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
805         Likewise.
806
807         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
808         check.
809
810 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
811
812         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
813         file.
814
815 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
816
817         PR fortran/90743
818         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
819         case.
820         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
821         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
822         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
823         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
824
825         PR testsuite/90861
826         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
827
828         PR middle-end/90862
829         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
830
831 2019-06-16  Tom de Vries  <tdevries@suse.de>
832
833         PR tree-optimization/89376
834         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
835
836 2019-06-15  Tom de Vries  <tdevries@suse.de>
837
838         PR tree-optimization/89713
839         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
840         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
841
842 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
843
844         PR middle-end/90779
845         * testsuite/libgomp.c/pr90779.c: New test.
846         * testsuite/libgomp.fortran/pr90779.f90: New test.
847
848 2019-06-15  Tom de Vries  <tdevries@suse.de>
849
850         PR tree-optimization/90009
851         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
852
853 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
854
855         PR tree-optimization/89713
856         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
857
858 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
859
860         PR target/90811
861         * testsuite/libgomp.c/pr90811.c: New test.
862
863 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
864
865         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
866         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
867
868 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
869
870         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
871         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
872         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
873         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
874
875 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
876
877         * configure.ac: Call AX_COUNT_CPUS.
878         Substitute CPU_COUNT.
879         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
880         count fallback.
881         * aclocal.m4: Regenerate.
882         * configure: Regenerate.
883         * Makefile.in, testsuite/Makefile.in: Regenerate.
884
885 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
886
887         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
888         to ...
889         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
890         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
891         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
892
893 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
894
895         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
896
897         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
898
899         PR libgomp/90641
900         * work.c (gomp_init_work_share): Instead of aligning final ordered
901         value to multiples of long long alignment, align to that the
902         first part (ordered team ids) and if inline_ordered_team_ids
903         is not on a long long alignment boundary within the structure,
904         use __alignof__ (long long) - 1 pad size always.
905         * loop.c (GOMP_loop_start): Fix *mem computation if
906         inline_ordered_team_ids is not aligned on long long alignment boundary
907         within the structure.
908         * loop-ull.c (GOMP_loop_ull_start): Likewise.
909         * sections.c (GOMP_sections2_start): Likewise.
910
911 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
912
913         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
914         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
915
916         PR libgomp/90585
917         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
918         HAVE_INTTYPES_H is defined.
919         (print_uint64_t): New typedef.
920         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
921         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
922         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
923         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
924         before casting to void *.
925         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
926         * oacc-mem.c: Don't include config.h nor stdint.h.
927         * target.c: Don't include config.h.
928         * oacc-cuda.c: Likewise.
929         * oacc-host.c: Don't include stdint.h.
930
931 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
932
933         PR libgomp/90527
934         * alloc.c (_GNU_SOURCE): Define.
935
936 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
937
938         * acc_prof.h: New file.
939         * oacc-profiling.c: Likewise.
940         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
941         Add these, respectively.
942         * Makefile.in: Regenerate.
943         * env.c (initialize_env): Call goacc_profiling_initialize.
944         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
945         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
946         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
947         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
948         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
949         acc_prof_register, acc_prof_unregister, and acc_register_library.
950         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
951         GOMP_PLUGIN_goacc_thread.
952         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
953         prof_callbacks_enabled members.
954         (goacc_prof_enabled, goacc_profiling_initialize)
955         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
956         (goacc_profiling_dispatch): Declare.
957         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
958         (GOACC_PROFILING_SETUP_P): Define.
959         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
960         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
961         OpenACC Profiling Interface.
962         * oacc-cuda.c (acc_get_current_cuda_device)
963         (acc_get_current_cuda_context, acc_get_cuda_stream)
964         (acc_set_cuda_stream): Likewise.
965         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
966         (acc_init, acc_set_device_type, acc_get_device_type)
967         (acc_get_device_num, goacc_lazy_initialize): Likewise.
968         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
969         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
970         (acc_unmap_data, present_create_copy, delete_copyout)
971         (update_dev_host): Likewise.
972         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
973         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
974         Likewise.
975         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
976         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
977         Likewise.
978         * libgomp.texi: Update.
979         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
980         file.
981         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
982         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
983         Likewise.
984         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
985         Likewise.
986         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
987         Likewise.
988         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
989         Likewise.
990
991 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
992
993         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
994         (struct goacc_asyncqueue_list): Likewise.
995         (goacc_aq): Likewise.
996         (goacc_aq_list): Likewise.
997         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
998         (GOMP_OFFLOAD_openacc_async_test): Remove.
999         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1000         (GOMP_OFFLOAD_openacc_async_wait): Remove.
1001         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1002         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1003         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1004         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1005         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1006         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1007         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1008         (GOMP_OFFLOAD_openacc_async_exec): Declare.
1009         (GOMP_OFFLOAD_openacc_async_construct): Declare.
1010         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1011         (GOMP_OFFLOAD_openacc_async_test): Declare.
1012         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1013         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1014         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1015         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1016         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1017
1018         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1019         (gomp_acc_insert_pointer): Adjust declaration.
1020         (gomp_copy_host2dev): New declaration.
1021         (gomp_copy_dev2host): Likewise.
1022         (gomp_map_vars_async): Likewise.
1023         (gomp_unmap_tgt): Likewise.
1024         (gomp_unmap_vars_async): Likewise.
1025         (gomp_fini_device): Likewise.
1026
1027         * oacc-async.c (get_goacc_thread): New function.
1028         (get_goacc_thread_device): New function.
1029         (lookup_goacc_asyncqueue): New function.
1030         (get_goacc_asyncqueue): New function.
1031         (acc_async_test): Adjust code to use new async design.
1032         (acc_async_test_all): Likewise.
1033         (acc_wait): Likewise.
1034         (acc_wait_async): Likewise.
1035         (acc_wait_all): Likewise.
1036         (acc_wait_all_async): Likewise.
1037         (goacc_async_free): New function.
1038         (goacc_init_asyncqueues): Likewise.
1039         (goacc_fini_asyncqueues): Likewise.
1040         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1041         design.
1042         (acc_set_cuda_stream): Likewise.
1043         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1044         (host_openacc_register_async_cleanup): Remove.
1045         (host_openacc_async_exec): New function.
1046         (host_openacc_async_test): Adjust parameters.
1047         (host_openacc_async_test_all): Remove.
1048         (host_openacc_async_wait): Remove.
1049         (host_openacc_async_wait_async): Remove.
1050         (host_openacc_async_wait_all): Remove.
1051         (host_openacc_async_wait_all_async): Remove.
1052         (host_openacc_async_set_async): Remove.
1053         (host_openacc_async_synchronize): New function.
1054         (host_openacc_async_serialize): New function.
1055         (host_openacc_async_host2dev): New function.
1056         (host_openacc_async_dev2host): New function.
1057         (host_openacc_async_queue_callback): New function.
1058         (host_openacc_async_construct): New function.
1059         (host_openacc_async_destruct): New function.
1060         (struct gomp_device_descr host_dispatch): Remove initialization of old
1061         interface, add intialization of new async sub-struct.
1062         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1063         (goacc_attach_host_thread_to_device): Remove old async code usage.
1064         * oacc-int.h (goacc_init_asyncqueues): New declaration.
1065         (goacc_fini_asyncqueues): Likewise.
1066         (goacc_async_copyout_unmap_vars): Likewise.
1067         (goacc_async_free): Likewise.
1068         (get_goacc_asyncqueue): Likewise.
1069         (lookup_goacc_asyncqueue): Likewise.
1070         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1071         design.
1072         (present_create_copy): Adjust code to use new async design.
1073         (delete_copyout): Likewise.
1074         (update_dev_host): Likewise.
1075         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1076         async design.
1077         (gomp_acc_remove_pointer): Adjust code to use new async design.
1078         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1079         design.
1080         (GOACC_enter_exit_data): Likewise.
1081         (goacc_wait): Likewise.
1082         (GOACC_update): Likewise.
1083         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1084         when called, warn as obsolete in comment.
1085         * target.c (goacc_device_copy_async): New function.
1086         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1087         add goacc_device_copy_async case.
1088         (gomp_copy_dev2host): Likewise.
1089         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1090         (gomp_map_pointer): Likewise.
1091         (gomp_map_fields_existing): Likewise.
1092         (gomp_map_vars_internal): New always_inline function, renamed from
1093         gomp_map_vars.
1094         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1095         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1096         passing goacc_asyncqueue argument.
1097         (gomp_unmap_tgt): Remove static, add attribute_hidden.
1098         (gomp_unref_tgt): New function.
1099         (gomp_unmap_vars_internal): New always_inline function, renamed from
1100         gomp_unmap_vars.
1101         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1102         (gomp_unmap_vars_async): Implement by calling
1103         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1104         (gomp_fini_device): New function.
1105         (gomp_exit_data): Adjust gomp_copy_dev2host call.
1106         (gomp_load_plugin_for_device): Remove old interface, adjust to load
1107         new async interface.
1108         (gomp_target_fini): Adjust code to call gomp_fini_device.
1109
1110         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1111         (struct ptx_stream): Remove.
1112         (struct nvptx_thread): Remove current_stream field.
1113         (cuda_map_create): Remove.
1114         (cuda_map_destroy): Remove.
1115         (map_init): Remove.
1116         (map_fini): Remove.
1117         (map_pop): Remove.
1118         (map_push): Remove.
1119         (struct goacc_asyncqueue): Define.
1120         (struct nvptx_callback): Define.
1121         (struct ptx_free_block): Define.
1122         (struct ptx_device): Remove null_stream, active_streams, async_streams,
1123         stream_lock, and next fields.
1124         (enum ptx_event_type): Remove.
1125         (struct ptx_event): Remove.
1126         (ptx_event_lock): Remove.
1127         (ptx_events): Remove.
1128         (init_streams_for_device): Remove.
1129         (fini_streams_for_device): Remove.
1130         (select_stream_for_async): Remove.
1131         (nvptx_init): Remove ptx_events and ptx_event_lock references.
1132         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1133         case.
1134         (nvptx_open_device): Add free_blocks initialization, remove
1135         init_streams_for_device call.
1136         (nvptx_close_device): Remove fini_streams_for_device call, add
1137         free_blocks destruct code.
1138         (event_gc): Remove.
1139         (event_add): Remove.
1140         (nvptx_exec): Adjust parameters and code.
1141         (nvptx_free): Likewise.
1142         (nvptx_host2dev): Remove.
1143         (nvptx_dev2host): Remove.
1144         (nvptx_set_async): Remove.
1145         (nvptx_async_test): Remove.
1146         (nvptx_async_test_all): Remove.
1147         (nvptx_wait): Remove.
1148         (nvptx_wait_async): Remove.
1149         (nvptx_wait_all): Remove.
1150         (nvptx_wait_all_async): Remove.
1151         (nvptx_get_cuda_stream): Remove.
1152         (nvptx_set_cuda_stream): Remove.
1153         (GOMP_OFFLOAD_alloc): Adjust code.
1154         (GOMP_OFFLOAD_free): Likewise.
1155         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1156         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1157         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1158         (GOMP_OFFLOAD_openacc_async_wait): Remove.
1159         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1160         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1161         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1162         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1163         (cuda_free_argmem): New function.
1164         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1165         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1166         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1167         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1168         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1169         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1170         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1171         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1172         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1173         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1174         (cuda_callback_wrapper): New function.
1175         (cuda_memcpy_sanity_check): New function.
1176         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1177         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1178         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1179         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1180
1181 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
1182
1183         PR target/87835
1184         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1185
1186 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
1187
1188         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1189
1190 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
1191
1192         * team.c (gomp_team_start): Initialize pool->threads[0].
1193
1194 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
1195
1196         * testsuite/libgomp.oacc-c++/c++.exp: Specify
1197         "-foffload=$offload_target".
1198         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1199         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1200         * testsuite/lib/libgomp.exp
1201         (check_effective_target_openacc_nvidia_accel_configured): Remove,
1202         as (conceptually) merged into
1203         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
1204         users.
1205
1206         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1207         * testsuite/libgomp-test-support.exp.in: Adjust.
1208         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
1209         openacc_device_types_s.
1210         (offload_target_to_openacc_device_type): New proc.
1211         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1212         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1213         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1214         * Makefile.in: Regenerate.
1215         * configure: Likewise.
1216         * testsuite/Makefile.in: Likewise.
1217
1218         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1219         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1220         instead of OFFLOAD_TARGETS.
1221         * target.c (gomp_target_init): Adjust.
1222         * testsuite/libgomp-test-support.exp.in: Likewise.
1223         * testsuite/lib/libgomp.exp: Likewise.  Populate
1224         openacc_device_types_s instead of offload_targets_s_openacc.
1225         (check_effective_target_openacc_nvidia_accel_selected)
1226         (check_effective_target_openacc_host_selected): Adjust.
1227         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1228         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1229         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1230         * Makefile.in: Regenerate.
1231         * config.h.in: Likewise.
1232         * configure: Likewise.
1233         * testsuite/Makefile.in: Likewise.
1234
1235         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1236         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
1237         "offloading: supported, but hardware not accessible".
1238         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1239         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1240
1241 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
1242
1243         PR c/87924
1244         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1245         goacc_wait().
1246         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1247         and related adjustment.
1248
1249 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
1250
1251         PR c++/88988
1252         * testsuite/libgomp.c++/pr88988.C: New test.
1253
1254 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
1255
1256         PR middle-end/89002
1257         * testsuite/libgomp.c/pr89002.c: New test.
1258
1259 2019-01-28  Richard Biener  <rguenther@suse.de>
1260
1261         PR testsuite/89064
1262         PR tree-optimization/86865
1263         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1264
1265 2019-01-24  Tom de Vries  <tdevries@suse.de>
1266
1267         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1268         once instantiated_devices drops to 0.
1269
1270 2019-01-23  Tom de Vries  <tdevries@suse.de>
1271
1272         PR target/PR88946
1273         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1274         cuMemFree.
1275         (nvptx_exec): Don't call map_push if mapnum == 0.
1276         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1277
1278 2019-01-23  Tom de Vries  <tdevries@suse.de>
1279
1280         PR target/88941
1281         PR target/88939
1282         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1283         (map_fini): Remove "assert (!s->map->active)".
1284         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1285
1286 2019-01-23  Tom de Vries  <tdevries@suse.de>
1287
1288         PR target/87835
1289         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1290         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1291
1292 2019-01-15  Tom de Vries  <tdevries@suse.de>
1293
1294         PR target/80547
1295         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1296         New test.
1297
1298 2019-01-12  Tom de Vries  <tdevries@suse.de>
1299
1300         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1301         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1302         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1303         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1304
1305 2019-01-12  Tom de Vries  <tdevries@suse.de>
1306
1307         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1308
1309 2019-01-12  Tom de Vries  <tdevries@suse.de>
1310
1311         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1312         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1313         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1314
1315 2019-01-12  Tom de Vries  <tdevries@suse.de>
1316
1317         PR target/85486
1318         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1319         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1320
1321 2019-01-12  Tom de Vries  <tdevries@suse.de>
1322
1323         PR target/85381
1324         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1325         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1326
1327 2019-01-12  Tom de Vries  <tdevries@suse.de>
1328
1329         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1330         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1331         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1332
1333 2019-01-12  Tom de Vries  <tdevries@suse.de>
1334
1335         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1336         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1337         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1338
1339 2019-01-12  Tom de Vries  <tdevries@suse.de>
1340
1341         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1342         resources diagnostic.
1343
1344 2019-01-12  Tom de Vries  <tdevries@suse.de>
1345
1346         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1347         vector length to be 128.
1348         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1349         length 2097152 to be reduced to 1024 instead of 32.
1350
1351 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
1352             James Norris  <jnorris@codesourcery.com>
1353
1354         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1355         Library Routines", and "Environment Variables".
1356
1357 2019-01-11  Tom de Vries  <tdevries@suse.de>
1358
1359         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1360         num_workers 16.
1361
1362 2019-01-11  Tom de Vries  <tdevries@suse.de>
1363
1364         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1365         -foffload=-w.
1366         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1367         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1368         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1369         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1370
1371 2019-01-11  Tom de Vries  <tdevries@suse.de>
1372
1373         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1374         test.
1375
1376 2019-01-10  Nathan Sidwell  <nathan@acm.org>
1377             Julian Brown  <julian@codesourcery.com>
1378
1379         PR lto/71959
1380         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1381         * testsuite/libgomp.oacc-c++/pr71959.C: New.
1382
1383 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1384
1385         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1386         and paste code.
1387
1388 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1389
1390         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
1391         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1392         write.
1393
1394 2019-01-09  Tom de Vries  <tdevries@suse.de>
1395
1396         PR target/88756
1397         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1398         #define instead of "const int".
1399         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1400         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1401         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1402         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1403
1404 2019-01-09  Tom de Vries  <tdevries@suse.de>
1405
1406         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1407         one worker.
1408
1409 2019-01-07  Tom de Vries  <tdevries@suse.de>
1410
1411         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1412         GOMP_OPENACC_DIM argument.
1413
1414 2019-01-03  Tom de Vries  <tdevries@suse.de>
1415
1416         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1417         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1418
1419 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
1420
1421         Update copyright years.
1422
1423 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
1424
1425         * libgomp.texi: Bump @copying's copyright year.
1426
1427 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
1428
1429         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1430         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1431         (GOACC_declare): Redefine the "device" argument to "flags".
1432
1433 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
1434             Cesar Philippidis  <cesar@codesourcery.com>
1435
1436         * target.c (struct gomp_coalesce_chunk): New structure.
1437         (struct gomp_coalesce_buf): Update the chunks member to use that
1438         type.  Adjust all users.
1439
1440 2018-12-19  Tom de Vries  <tdevries@suse.de>
1441
1442         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1443         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1444         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1445
1446 2018-12-19  Tom de Vries  <tdevries@suse.de>
1447
1448         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1449         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1450         gcc/testsuite/gcc.dg/goacc.
1451         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1452
1453 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
1454             Chung-Lin Tang  <cltang@codesourcery.com>
1455
1456         * oacc-mem.c (acc_present_or_create): Remove definition and change
1457         to alias of acc_create.
1458         (acc_present_or_copyin): Remove definition and change to alias of
1459         acc_copyin.
1460         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1461         of acc_present_or_create.
1462         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1463         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1464         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1465         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1466         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1467         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1468         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1469         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1470         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1471         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1472         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1473         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1474         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1475         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1476         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1477         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1478
1479 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
1480
1481         PR libgomp/88495
1482         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1483         "identical parameters".
1484         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1485         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1486
1487         PR libgomp/88484
1488         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1489         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1490
1491         PR libgomp/88407
1492         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1493         (nvptx_wait_async): Unseen async-argument is a no-op.
1494         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1495         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1496         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1497         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1498         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1499         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1500         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
1501         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1502         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
1503
1504         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1505         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1506
1507 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
1508
1509         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1510         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1511         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1512
1513 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
1514
1515         PR libgomp/88370
1516         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1517         (acc_set_cuda_stream): Clarify.
1518         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1519         "async_valid_p".
1520         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1521         acc_async_sync".
1522         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1523         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1524         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1525         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1526
1527 2018-12-14  Tom de Vries  <tdevries@suse.de>
1528
1529         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1530         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1531         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1532         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1533         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1534
1535 2018-12-13  Tom de Vries  <tdevries@suse.de>
1536
1537         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1538         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1539         * fortran.c (omp_display_affinity_): ... here.
1540         * libgomp.h (gomp_print_string): Declare.
1541         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
1542         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1543         write.
1544
1545 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
1546
1547         PR libgomp/88460
1548         * testsuite/libgomp.c++/for-24.C (results): Include it in
1549         omp declare target region.
1550         (main): Use map (always, tofrom: results) instead of
1551         map (tofrom: results).
1552
1553 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
1554
1555         PR fortran/88463
1556         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1557         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1558
1559         * testsuite/libgomp.c-c++-common/for-16.c: New test.
1560
1561 2018-12-12  Andreas Schwab  <schwab@suse.de>
1562
1563         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1564         clobbered.
1565
1566 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
1567
1568         PR fortran/88411
1569         * testsuite/libgomp.fortran/async_io_8.f90: New test.
1570
1571 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1572             Jakub Jelinek  <jakub@redhat.com>
1573
1574         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1575         devicep->host2dev_func.
1576
1577 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
1578
1579         PR libgomp/87995
1580         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1581         tls_runtime effective target.
1582         (t): New threadprivate variable.
1583         (main): Set t in threads which execute iterations of the worksharing
1584         loop.  Propagate that to the task after the loop and don't abort
1585         if the current taskgroup hasn't been cancelled.
1586
1587 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
1588
1589         * testsuite/libgomp.c/task-reduction-3.c: New test.
1590
1591         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1592
1593 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
1594
1595         PR libgomp/88288
1596         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1597         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1598
1599 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
1600
1601         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1602
1603 2018-10-19  Richard Biener  <rguenther@suse.de>
1604
1605         PR tree-optimization/88182
1606         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1607
1608 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
1609
1610         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1611         (RUNTEST): Don't define.
1612         (RUNTESTDEFAULTFLAGS): Add.
1613         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1614         (distclean-am): Depend on distclean-DEJAGNU.
1615         (check-am): If -j% option is present in MFLAGS and if
1616         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1617         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1618         * testsuite/Makefile.in: Regenerated.
1619
1620 2018-11-26  Richard Biener  <rguenther@suse.de>
1621
1622         PR tree-optimization/88182
1623         * testsuite/libgomp.c++/pr88182.C: New testcase.
1624
1625 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
1626
1627         PR bootstrap/88106
1628         * config/mingw32/affinity-fmt.c: New file.
1629
1630 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
1631
1632         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1633         (gomp_display_affinity): Use __builtin_choose_expr to handle
1634         properly handle argument having integral, or pointer or some other
1635         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
1636         with uint64_t type instead of %llx and unsigned long long.
1637
1638         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1639         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1640
1641 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1642
1643         * affinity.c: Include <string.h>, <stdio.h>.
1644         (gomp_display_affinity_place): Remove cpusetp.
1645         * teams.c: Include <limits.h>.
1646
1647 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
1648
1649         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1650         in_reduction clause for s[0].
1651
1652         * affinity.c (gomp_display_affinity_place): New function.
1653         * affinity-fmt.c: New file.
1654         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
1655         * config/linux/affinity.c (gomp_display_affinity_place): New function.
1656         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
1657         Move these functions to ...
1658         * config/nvptx/teams.c: ... here.  New file.
1659         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
1660         New functions.
1661         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
1662         functions.
1663         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
1664         and _aligned_malloc.
1665         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
1666         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
1667         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
1668         gomp_affinity_format_len): New variables.
1669         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
1670         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
1671         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
1672         modifiers.  Display (non-default) chunk sizes.  Print
1673         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
1674         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
1675         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
1676         * fortran.c: Include stdio.h and string.h.
1677         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
1678         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
1679         (omp_set_affinity_format_, omp_get_affinity_format_,
1680         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
1681         omp_pause_resource_all_): New functions.
1682         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
1683         switch.
1684         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
1685         functions to ...
1686         * teams.c: ... here.  New file.
1687         * libgomp_g.h: Include gstdint.h.
1688         (GOMP_loop_nonmonotonic_runtime_start,
1689         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
1690         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
1691         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
1692         GOMP_parallel_loop_nonmonotonic_runtime,
1693         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1694         GOMP_loop_ull_nonmonotonic_runtime_start,
1695         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
1696         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
1697         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1698         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
1699         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
1700         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1701         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1702         GOMP_teams_reg): Declare.
1703         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
1704         gomp_aligned_alloc uses fallback implementation.
1705         (gomp_aligned_alloc, gomp_aligned_free): Declare.
1706         (enum gomp_schedule_type): Add GFS_MONOTONIC.
1707         (struct gomp_doacross_work_share): Add extra field.
1708         (struct gomp_work_share): Add task_reductions field.
1709         (struct gomp_taskgroup): Add workshare and reductions fields.
1710         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
1711         (gomp_thread_handle): New typedef.
1712         (gomp_display_affinity_place, gomp_set_affinity_format,
1713         gomp_display_string, gomp_display_affinity,
1714         gomp_display_affinity_thread): Declare.
1715         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
1716         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
1717         gomp_workshare_task_reduction_register): Declare.
1718         (gomp_team_start): Add taskgroup argument.
1719         (gomp_pause_host): Declare.
1720         (gomp_init_work_share, gomp_work_share_start): Change bool argument
1721         to size_t.
1722         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
1723         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
1724         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
1725         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1726         GOMP_loop_ull_doacross_start,
1727         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1728         GOMP_loop_maybe_nonmonotonic_runtime_next,
1729         GOMP_loop_maybe_nonmonotonic_runtime_start,
1730         GOMP_loop_nonmonotonic_runtime_next,
1731         GOMP_loop_nonmonotonic_runtime_start,
1732         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1733         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1734         GOMP_loop_ull_nonmonotonic_runtime_next,
1735         GOMP_loop_ull_nonmonotonic_runtime_start,
1736         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1737         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
1738         GOMP_taskgroup_reduction_register,
1739         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1740         GOMP_teams_reg and GOMP_taskwait_depend.
1741         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
1742         omp_{capture,display}_affinity{,_}, and
1743         omp_[gs]et_affinity_format{,_}.
1744         * loop.c: Include string.h.
1745         (GOMP_loop_runtime_next): Add ialias.
1746         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1747         (gomp_loop_static_start, gomp_loop_dynamic_start,
1748         gomp_loop_guided_start, gomp_loop_ordered_static_start,
1749         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
1750         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1751         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
1752         or gomp_doacross_init callers.
1753         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
1754         GOMP_loop_doacross_start): New functions.
1755         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
1756         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
1757         Mask off GFS_MONOTONIC bit.
1758         (GOMP_loop_maybe_nonmonotonic_runtime_next,
1759         GOMP_loop_maybe_nonmonotonic_runtime_start,
1760         GOMP_loop_nonmonotonic_runtime_next,
1761         GOMP_loop_nonmonotonic_runtime_start,
1762         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1763         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
1764         functions.
1765         (gomp_parallel_loop_start): Pass NULL as taskgroup to
1766         gomp_team_start.
1767         * loop_ull.c: Include string.h.
1768         (GOMP_loop_ull_runtime_next): Add ialias.
1769         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1770         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
1771         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
1772         gomp_loop_ull_ordered_dynamic_start,
1773         gomp_loop_ull_ordered_guided_start,
1774         gomp_loop_ull_doacross_static_start,
1775         gomp_loop_ull_doacross_dynamic_start,
1776         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
1777         and gomp_doacross_ull_init callers.
1778         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1779         GOMP_loop_ull_doacross_start): New functions.
1780         (GOMP_loop_ull_runtime_start,
1781         GOMP_loop_ull_ordered_runtime_start,
1782         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1783         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1784         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1785         GOMP_loop_ull_nonmonotonic_runtime_next,
1786         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1787         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1788         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1789         (omp_pause_resource_t, omp_depend_t): New typedefs.
1790         (enum omp_lock_hint_t): Renamed to ...
1791         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
1792         enumerators using numbers and omp_lock_hint_* as their aliases.
1793         (omp_lock_hint_t): New typedef.  Rename to ...
1794         (omp_sync_hint_t): ... this.
1795         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1796         omp_sync_hint_t instead of omp_lock_hint_t.
1797         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1798         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1799         Declare.
1800         (omp_target_is_present, omp_target_disassociate_ptr):
1801         Change first argument from void * to const void *.
1802         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1803         from void * to const void *.
1804         (omp_target_associate_ptr): Change first and second arguments from
1805         void * to const void *.
1806         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1807         omp_pause_hard): New parameters.
1808         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1809         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1810         New interfaces.
1811         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1812         omp_pause_hard): New parameters.
1813         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1814         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1815         New externals.
1816         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1817         EXTRA argument.  If not needed to prepare array, if extra is 0,
1818         clear ws->doacross, otherwise allocate just doacross structure and
1819         extra payload.  If array is needed, allocate also extra payload.
1820         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1821         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1822         doacross == NULL.
1823         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1824         gomp_team_start.
1825         (GOMP_parallel): Likewise.  Formatting fix.
1826         (GOMP_parallel_reductions): New function.
1827         (GOMP_cancellation_point): If taskgroup has workshare
1828         flag set, check cancelled of prev taskgroup if any.
1829         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1830         on prev taskgroup if any.
1831         * sections.c: Include string.h.
1832         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1833         (GOMP_sections_start): Adjust gomp_work_share_start caller.
1834         (GOMP_sections2_start): New function.
1835         (GOMP_parallel_sections_start, GOMP_parallel_sections):
1836         Pass NULL as taskgroup to gomp_team_start.
1837         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1838         gomp_work_share_start callers.
1839         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1840         If taskgroup has workshare flag set, check cancelled on prev
1841         taskgroup if any.  Guard all cancellation tests with
1842         gomp_cancel_var test.
1843         (omp_target_is_present, omp_target_disassociate_ptr):
1844         Change ptr argument from void * to const void *.
1845         (omp_target_memcpy): Change src argument from void * to const void *.
1846         (omp_target_memcpy_rect): Likewise.
1847         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
1848         instead of char * where needed.
1849         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1850         from void * to const void *.
1851         (omp_pause_resource, omp_pause_resource_all): New functions.
1852         * task.c (gomp_task_handle_depend): Handle new depend array format
1853         in addition to the old.  Handle mutexinoutset kinds the same as
1854         inout for now, handle unspecified kinds.
1855         (gomp_create_target_task): If taskgroup has workshare flag set, check
1856         cancelled on prev taskgroup if any.  Guard all cancellation tests with
1857         gomp_cancel_var test.  Handle new depend array format count in
1858         addition to the old.
1859         (GOMP_task): Likewise.  Adjust function comment.
1860         (gomp_task_run_pre): If taskgroup has workshare flag set, check
1861         cancelled on prev taskgroup if any.  Guard all cancellation tests with
1862         gomp_cancel_var test.
1863         (GOMP_taskwait_depend): New function.
1864         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1865         format in addition to the old.  Handle mutexinoutset kinds the same as
1866         inout for now, handle unspecified kinds.  Fix a function comment typo.
1867         (gomp_taskgroup_init): New function.
1868         (GOMP_taskgroup_start): Use it.
1869         (gomp_reduction_register, gomp_create_artificial_team,
1870         GOMP_taskgroup_reduction_register,
1871         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1872         gomp_parallel_reduction_register,
1873         gomp_workshare_task_reduction_register,
1874         gomp_workshare_taskgroup_start,
1875         GOMP_workshare_task_reduction_unregister): New functions.
1876         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1877         check cancelled on prev taskgroup if any.  Guard all cancellation
1878         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
1879         by calling GOMP_taskgroup_reduction_register.
1880         * team.c (gomp_thread_attr): Remove comment.
1881         (struct gomp_thread_start_data): Add handle field.
1882         (gomp_thread_start): Call pthread_detach.
1883         (gomp_new_team): Adjust gomp_init_work_share caller.
1884         (gomp_free_pool_helper): Call pthread_detach.
1885         (gomp_team_start): Add taskgroup argument, initialize implicit
1886         tasks' taskgroup field to that.  Don't call
1887         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
1888         (gomp_team_end): Determine nesting by thr->ts.level != 0
1889         rather than thr->ts.team != NULL.
1890         (gomp_pause_pool_helper, gomp_pause_host): New functions.
1891         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1892         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1893         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1894         if more than 1 allocate also extra payload at the end of array.  Never
1895         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1896         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1897         return true instead of ws.
1898         * Makefile.in: Regenerated.
1899         * configure: Regenerated.
1900         * config.h.in: Regenerated.
1901         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1902         in some cases.
1903         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1904         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1905         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1906         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1907         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1908         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1909         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1910         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1911         * testsuite/libgomp.c-c++-common/for-10.c: New test.
1912         * testsuite/libgomp.c-c++-common/for-11.c: New test.
1913         * testsuite/libgomp.c-c++-common/for-12.c: New test.
1914         * testsuite/libgomp.c-c++-common/for-13.c: New test.
1915         * testsuite/libgomp.c-c++-common/for-14.c: New test.
1916         * testsuite/libgomp.c-c++-common/for-15.c: New test.
1917         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1918         define a different N(test), don't define N(f0) to N(f14), but instead
1919         define N(f20) to N(f34) using != comparisons.
1920         * testsuite/libgomp.c-c++-common/for-7.c: New test.
1921         * testsuite/libgomp.c-c++-common/for-8.c: New test.
1922         * testsuite/libgomp.c-c++-common/for-9.c: New test.
1923         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1924         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1925         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1926         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1927         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1928         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1929         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1930         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1931         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1932         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1933         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1934         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1935         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1936         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1937         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1938         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1939         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1940         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1941         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1942         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1943         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1944         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1945         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1946         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1947         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1948         * testsuite/libgomp.c++/depend-1.C: New test.
1949         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1950         * testsuite/libgomp.c++/depobj-1.C: New test.
1951         * testsuite/libgomp.c++/for-16.C: New test.
1952         * testsuite/libgomp.c++/for-21.C: New test.
1953         * testsuite/libgomp.c++/for-22.C: New test.
1954         * testsuite/libgomp.c++/for-23.C: New test.
1955         * testsuite/libgomp.c++/for-24.C: New test.
1956         * testsuite/libgomp.c++/for-25.C: New test.
1957         * testsuite/libgomp.c++/for-26.C: New test.
1958         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1959         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1960         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1961         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1962         * testsuite/libgomp.c++/task-reduction-10.C: New test.
1963         * testsuite/libgomp.c++/task-reduction-11.C: New test.
1964         * testsuite/libgomp.c++/task-reduction-12.C: New test.
1965         * testsuite/libgomp.c++/task-reduction-13.C: New test.
1966         * testsuite/libgomp.c++/task-reduction-14.C: New test.
1967         * testsuite/libgomp.c++/task-reduction-15.C: New test.
1968         * testsuite/libgomp.c++/task-reduction-16.C: New test.
1969         * testsuite/libgomp.c++/task-reduction-17.C: New test.
1970         * testsuite/libgomp.c++/task-reduction-18.C: New test.
1971         * testsuite/libgomp.c++/task-reduction-19.C: New test.
1972         * testsuite/libgomp.c/task-reduction-1.c: New test.
1973         * testsuite/libgomp.c++/task-reduction-1.C: New test.
1974         * testsuite/libgomp.c/task-reduction-2.c: New test.
1975         * testsuite/libgomp.c++/task-reduction-2.C: New test.
1976         * testsuite/libgomp.c++/task-reduction-3.C: New test.
1977         * testsuite/libgomp.c++/task-reduction-4.C: New test.
1978         * testsuite/libgomp.c++/task-reduction-5.C: New test.
1979         * testsuite/libgomp.c++/task-reduction-6.C: New test.
1980         * testsuite/libgomp.c++/task-reduction-7.C: New test.
1981         * testsuite/libgomp.c++/task-reduction-8.C: New test.
1982         * testsuite/libgomp.c++/task-reduction-9.C: New test.
1983         * testsuite/libgomp.c/teams-1.c: New test.
1984         * testsuite/libgomp.c/teams-2.c: New test.
1985         * testsuite/libgomp.c/thread-limit-4.c: New test.
1986         * testsuite/libgomp.c/thread-limit-5.c: New test.
1987         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1988
1989 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
1990
1991         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1992         acc_memcpy_to/from_device functions, now with async parameter.
1993         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1994         (acc_memcpy_from_device): Likewise.
1995         (acc_memcpy_to_device_async): New API function.
1996         (acc_memcpy_from_device_async): Likewise.
1997         (present_create_copy): Add async parameter and async setting/unsetting.
1998         (acc_create): Adjust present_create_copy call.
1999         (acc_copyin): Likewise.
2000         (acc_present_or_create): Likewise.
2001         (acc_present_or_copyin): Likewise.
2002         (acc_create_async): New API function.
2003         (acc_copyin_async): New API function.
2004         (delete_copyout): Add async parameter and async setting/unsetting.
2005         (acc_delete): Adjust delete_copyout call.
2006         (acc_copyout): Likewise.
2007         (acc_delete_async): New API function.
2008         (acc_copyout_async): Likewise.
2009         (update_dev_host): Add async parameter and async setting/unsetting.
2010         (acc_update_device): Adjust update_dev_host call.
2011         (acc_update_self): Likewise.
2012         (acc_update_device_async): New API function.
2013         (acc_update_self_async): Likewise.
2014         * openacc.h (acc_copyin_async): Declare new API function.
2015         (acc_create_async): Likewise.
2016         (acc_copyout_async): Likewise.
2017         (acc_delete_async): Likewise.
2018         (acc_update_device_async): Likewise.
2019         (acc_update_self_async): Likewise.
2020         (acc_memcpy_to_device_async): Likewise.
2021         (acc_memcpy_from_device_async): Likewise.
2022         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2023         (acc_copyin_async_64_h): New subroutine.
2024         (acc_copyin_async_array_h): New subroutine.
2025         (acc_create_async_32_h): New subroutine.
2026         (acc_create_async_64_h): New subroutine.
2027         (acc_create_async_array_h): New subroutine.
2028         (acc_copyout_async_32_h): New subroutine.
2029         (acc_copyout_async_64_h): New subroutine.
2030         (acc_copyout_async_array_h): New subroutine.
2031         (acc_delete_async_32_h): New subroutine.
2032         (acc_delete_async_64_h): New subroutine.
2033         (acc_delete_async_array_h): New subroutine.
2034         (acc_update_device_async_32_h): New subroutine.
2035         (acc_update_device_async_64_h): New subroutine.
2036         (acc_update_device_async_array_h): New subroutine.
2037         (acc_update_self_async_32_h): New subroutine.
2038         (acc_update_self_async_64_h): New subroutine.
2039         (acc_update_self_async_array_h): New subroutine.
2040         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2041         (acc_copyin_async_64_h): New subroutine.
2042         (acc_copyin_async_array_h): New subroutine.
2043         (acc_create_async_32_h): New subroutine.
2044         (acc_create_async_64_h): New subroutine.
2045         (acc_create_async_array_h): New subroutine.
2046         (acc_copyout_async_32_h): New subroutine.
2047         (acc_copyout_async_64_h): New subroutine.
2048         (acc_copyout_async_array_h): New subroutine.
2049         (acc_delete_async_32_h): New subroutine.
2050         (acc_delete_async_64_h): New subroutine.
2051         (acc_delete_async_array_h): New subroutine.
2052         (acc_update_device_async_32_h): New subroutine.
2053         (acc_update_device_async_64_h): New subroutine.
2054         (acc_update_device_async_array_h): New subroutine.
2055         (acc_update_self_async_32_h): New subroutine.
2056         (acc_update_self_async_64_h): New subroutine.
2057         (acc_update_self_async_array_h): New subroutine.
2058         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2059         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2060         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2061         acc_memcpy_to_device_async*, acc_update_device_async*, and
2062         acc_update_self_async* entries.
2063         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2064         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2065         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2066
2067 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
2068
2069         PR bootstrap/82856
2070         * Makefile.am: Include multilib.am
2071         (AUTOMAKE_OPTIONS): Add info-in-builddir.
2072         (CLEANFILES): Remove libgomp.info.
2073         * configure.ac: Remove AC_PREREQ.
2074         * testsuite/Makefile.am (RUNTEST): Remove quotes.
2075         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2076         Regenerate.
2077
2078 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
2079             Julian Brown  <julian@codesourcery.com>
2080
2081         * testsuite/libgomp.oacc-c++/this.C: New.
2082
2083 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
2084
2085         * plugin/plugin-nvptx.c (struct cuda_map): New.
2086         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2087         h_tail with (cuda_map *) map.
2088         (cuda_map_create): New function.
2089         (cuda_map_destroy): New function.
2090         (map_init): Update to use a linked list of cuda_map objects.
2091         (map_fini): Likewise.
2092         (map_pop): Likewise.
2093         (map_push): Likewise.  Return CUdeviceptr instead of void.
2094         (init_streams_for_device): Remove stales references to ptx_stream
2095         members.
2096         (select_stream_for_async): Likewise.
2097         (nvptx_exec): Update call to map_init.
2098
2099 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
2100             Julian Brown  <julian@codesourcery.com>
2101
2102         PR middle-end/86336
2103         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2104
2105 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
2106         Thomas Koenig <tkoenig@gcc.gnu.org>
2107
2108         PR fortran/25829
2109         * testsuite/libgomp.fortran/async_io_1.f90: New test.
2110         * testsuite/libgomp.fortran/async_io_2.f90: New test.
2111         * testsuite/libgomp.fortran/async_io_3.f90: New test.
2112         * testsuite/libgomp.fortran/async_io_4.f90: New test.
2113         * testsuite/libgomp.fortran/async_io_5.f90: New test.
2114         * testsuite/libgomp.fortran/async_io_6.f90: New test.
2115         * testsuite/libgomp.fortran/async_io_7.f90: New test.
2116
2117 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
2118             Tom de Vries  <tdevries@suse.de>
2119
2120         PR target/85590
2121         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2122         (cuOccupancyMaxPotentialBlockSize): Declare.
2123         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2124         CUDA_ONE_CALL_MAYBE_NULL.
2125         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2126         CUoccupancyB2DSize and declare
2127         cuOccupancyMaxPotentialBlockSize.
2128         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2129         default num_gangs and num_workers when the driver supports it.
2130
2131 2018-08-08  Tom de Vries  <tdevries@suse.de>
2132
2133         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2134         CUDA_ONE_CALL_MAYBE_NULL.
2135         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2136         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2137         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2138         are not found.
2139
2140 2018-08-08  Tom de Vries  <tdevries@suse.de>
2141
2142         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2143         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2144         present.
2145
2146 2018-08-08  Tom de Vries  <tdevries@suse.de>
2147
2148         * plugin/plugin-nvptx.c
2149         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2150         (nvptx_open_device): Use
2151         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2152
2153 2018-08-08  Tom de Vries  <tdevries@suse.de>
2154
2155         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2156         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
2157
2158 2018-08-07  Tom de Vries  <tdevries@suse.de>
2159
2160         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2161         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2162         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
2163         corresponding call in CUDA_ONE_CALL.  Add def/undef of
2164         CUDA_ONE_CALL_MAYBE_NULL.
2165         (CUDA_CALL_EXISTS): Define.
2166
2167 2018-08-07  Tom de Vries  <tdevries@suse.de>
2168
2169         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2170         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2171         corresponding undefs right after.
2172
2173 2018-08-04  Tom de Vries  <tdevries@suse.de>
2174
2175         * plugin/configfrag.ac: For --without-cuda-driver, set
2176         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
2177         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2178         * configure: Regenerate.
2179
2180 2018-08-02  Tom de Vries  <tdevries@suse.de>
2181
2182         PR target/86660
2183         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2184         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2185         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2186         Same.
2187         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2188         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2189         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2190
2191 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
2192             Thomas Schwinge <thomas@codesourcery.com>
2193
2194         * config/nvptx/oacc-parallel.c: Truncate.
2195
2196 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
2197             James Norris <jnorris@codesourcery.com>
2198
2199         * plugin/plugin-nvptx.c (struct map): Removed.
2200         (map_init, map_pop): Remove use of struct map.
2201         (map_push): Likewise and change argument list.
2202         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2203
2204 2018-08-01  Tom de Vries  <tdevries@suse.de>
2205
2206         * plugin/cuda-lib.def: New file.  Factor out of ...
2207         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2208         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2209         using CUDA_CALLS.
2210
2211 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2212
2213         Revert 'AsyncI/O patch committed'.
2214         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
2215                 Thomas Koenig <tkoenig@gcc.gnu.org>
2216
2217         PR fortran/25829
2218         * testsuite/libgomp.fortran/async_io_1.f90: New test.
2219         * testsuite/libgomp.fortran/async_io_2.f90: New test.
2220         * testsuite/libgomp.fortran/async_io_3.f90: New test.
2221         * testsuite/libgomp.fortran/async_io_4.f90: New test.
2222         * testsuite/libgomp.fortran/async_io_5.f90: New test.
2223         * testsuite/libgomp.fortran/async_io_6.f90: New test.
2224         * testsuite/libgomp.fortran/async_io_7.f90: New test.
2225
2226 2018-07-30  Tom de Vries  <tdevries@suse.de>
2227
2228         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2229         (nvptx_exec): Ensure worker and vector default dims don't exceed
2230         targ_fn->max_threads_per_block.
2231
2232 2018-07-30  Tom de Vries  <tdevries@suse.de>
2233
2234         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2235         (nvptx_open_device): Init default_dims for device.
2236         (nvptx_exec): Use default_dims from device.
2237
2238 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
2239
2240         PR testsuite/86660
2241         * testsuite/libgomp.c++/for-15.C (results): Include it in
2242         omp declare target region.
2243         (main): Use map (always, tofrom: results) instead of
2244         map (tofrom: results).
2245
2246         PR middle-end/86660
2247         * testsuite/libgomp.c/pr86660.c: New test.
2248
2249 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
2250             Tom de Vries  <tdevries@suse.de>
2251
2252         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2253         sufficient resources to launch a kernel, and give a hint on how to fix
2254         it.
2255
2256 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
2257             Tom de Vries  <tdevries@suse.de>
2258
2259         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2260         max_threads_per_block and max_threads_per_multiprocessor fields.
2261         (nvptx_open_device): Initialize new fields.
2262         (nvptx_exec): Use num_sms, and new fields.
2263
2264 2018-07-26  Tom de Vries  <tdevries@suse.de>
2265
2266         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2267         to correct locations.  Remove xfail.
2268
2269 2018-07-26  Tom de Vries  <tdevries@suse.de>
2270
2271         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2272         acc_wait.  Move acc_async_test calls to correct locations.  Remove
2273         xfail.
2274
2275 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
2276         Thomas Koenig <tkoenig@gcc.gnu.org>
2277
2278         PR fortran/25829
2279         * testsuite/libgomp.fortran/async_io_1.f90: New test.
2280         * testsuite/libgomp.fortran/async_io_2.f90: New test.
2281         * testsuite/libgomp.fortran/async_io_3.f90: New test.
2282         * testsuite/libgomp.fortran/async_io_4.f90: New test.
2283         * testsuite/libgomp.fortran/async_io_5.f90: New test.
2284         * testsuite/libgomp.fortran/async_io_6.f90: New test.
2285         * testsuite/libgomp.fortran/async_io_7.f90: New test.
2286
2287 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
2288
2289         PR middle-end/86542
2290         * testsuite/libgomp.c++/pr86542.C: New test.
2291
2292         PR middle-end/86539
2293         * testsuite/libgomp.c++/pr86539.C: New test.
2294
2295 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
2296
2297         PR c++/86443
2298         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2299         (results): Make sure the variable is not inside declare target region.
2300         (qux): Remove unused function.
2301
2302 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
2303
2304         PR c++/86443
2305         * testsuite/libgomp.c++/for-15.C: New test.
2306
2307 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
2308
2309         PR c++/86291
2310         * testsuite/libgomp.c++/pr86291.C: New test.
2311
2312 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
2313
2314         * libgomp.texi (Top): Move www.openmp.org to https.
2315         (Enabling OpenMP): Ditto.
2316         (omp_get_active_level): Ditto.
2317         (omp_get_ancestor_thread_num): Ditto.
2318         (omp_get_cancellation): Ditto.
2319         (omp_get_default_device): Ditto.
2320         (omp_get_dynamic): Ditto.
2321         (omp_get_level): Ditto.
2322         (omp_get_max_active_levels): Ditto.
2323         (omp_get_max_task_priority): Ditto.
2324         (omp_get_max_threads): Ditto.
2325         (omp_get_nested): Ditto.
2326         (omp_get_num_devices): Ditto.
2327         (omp_get_num_procs): Ditto.
2328         (omp_get_num_teams): Ditto.
2329         (omp_get_num_threads): Ditto.
2330         (omp_get_proc_bind): Ditto.
2331         (omp_get_schedule): Ditto.
2332         (omp_get_team_num): Ditto.
2333         (omp_get_team_size): Ditto.
2334         (omp_get_thread_limit): Ditto.
2335         (omp_get_thread_num): Ditto.
2336         (omp_in_parallel): Ditto.
2337         (omp_in_final): Ditto.
2338         (omp_is_initial_device): Ditto.
2339         (omp_set_default_device): Ditto.
2340         (omp_set_dynamic): Ditto.
2341         (omp_set_max_active_levels): Ditto.
2342         (omp_set_nested): Ditto.
2343         (omp_set_num_threads): Ditto.
2344         (omp_set_schedule): Ditto.
2345         (omp_init_lock): Ditto.
2346         (omp_set_lock): Ditto.
2347         (omp_test_lock): Ditto.
2348         (omp_unset_lock): Ditto.
2349         (omp_destroy_lock): Ditto.
2350         (omp_init_nest_lock): Ditto.
2351         (omp_set_nest_lock): Ditto.
2352         (omp_test_nest_lock): Ditto.
2353         (omp_unset_nest_lock): Ditto.
2354         (omp_destroy_nest_lock): Ditto.
2355         (omp_get_wtick): Ditto.
2356         (omp_get_wtime): Ditto.
2357         (OMP_CANCELLATION): Ditto.
2358         (OMP_DISPLAY_ENV): Ditto.
2359         (OMP_DEFAULT_DEVICE): Ditto.
2360         (OMP_DYNAMIC): Ditto.
2361         (OMP_MAX_ACTIVE_LEVELS): Ditto.
2362         (OMP_MAX_TASK_PRIORITY): Ditto.
2363         (OMP_NESTED): Ditto.
2364         (OMP_NUM_THREADS): Ditto.
2365         (OMP_PROC_BIND): Ditto.
2366         (OMP_PLACES): Ditto.
2367         (OMP_STACKSIZE): Ditto.
2368         (OMP_SCHEDULE): Ditto.
2369         (OMP_THREAD_LIMIT): Ditto.
2370         (OMP_WAIT_POLICY): Ditto.
2371
2372 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
2373             James Norris  <jnorris@codesourcery.com>
2374             Julian Brown  <julian@codesourcery.com>
2375             Thomas Schwinge  <thomas@codesourcery.com>
2376             Tom de Vries  <tom@codesourcery.com>
2377
2378         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2379         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2380         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2381         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2382         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2383         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2384         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2385         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2386         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2387         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2388         Likewise.
2389         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2390         Likewise.
2391         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2392         Likewise.
2393         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2394         Likewise.
2395         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2396         Likewise.
2397         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2398         Likewise.
2399         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2400         Likewise.
2401         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2402         Likewise.
2403         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2404         Likewise.
2405         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2406         Likewise.
2407         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2408         Likewise.
2409         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2410         Likewise.
2411         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2412         Likewise.
2413         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2414         Likewise.
2415         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2416         Likewise.
2417         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2418         Likewise.
2419         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2420         Likewise.
2421         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2422         Likewise.
2423         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2424         Likewise.
2425         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2426         Likewise.
2427         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2428         Likewise.
2429         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2430         Likewise.
2431         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2432         Likewise.
2433         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2434         Likewise.
2435         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2436         Likewise.
2437         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2438         Likewise.
2439         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2440         Likewise.
2441         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2442         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2443         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2444         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2445         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2446         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2447         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2448         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2449         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2450         Likewise.
2451         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2452         Likewise.
2453         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2454         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2455         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2456         Likewise.
2457         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2458         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2459         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2460         Likewise.
2461         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2462         Likewise.
2463         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2464         Likewise.
2465         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2466         Likewise.
2467         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2468         Likewise.
2469         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2470         Likewise.
2471         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2472         Likewise.
2473         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2474         Likewise.
2475         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2476         Likewise.
2477         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2478         Likewise.
2479         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2480         Likewise.
2481         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2482         Likewise.
2483         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2484         Likewise.
2485         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2486         Likewise.
2487         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2488         Likewise.
2489         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2490         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2491         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2492         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2493         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2494         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2495         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2496
2497 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
2498             Thomas Schwinge <thomas@codesourcery.com>
2499             Cesar Philippidis  <cesar@codesourcery.com>
2500
2501         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2502         (gomp_acc_remove_pointer): Update declaration.
2503         (gomp_acc_declare_allocate): Declare.
2504         (gomp_remove_var): Declare.
2505         * libgomp.map (OACC_2.5): Define.
2506         * oacc-mem.c (acc_map_data): Update refcount.
2507         (acc_unmap_data): Likewise.
2508         (present_create_copy): Likewise.
2509         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2510         (acc_copyin): Likewise.
2511         (FLAG_FINALIZE): Define.
2512         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2513         (acc_delete_finalize): New function.
2514         (acc_delete_finalize_async): New function.
2515         (acc_copyout_finalize): New function.
2516         (acc_copyout_finalize_async): New function.
2517         (gomp_acc_insert_pointer): Update refcounts.
2518         (gomp_acc_remove_pointer): Return if data is not present on the
2519         accelerator.
2520         * oacc-parallel.c (find_pset): Rename to find_pointer.
2521         (find_pointer): Add support for GOMP_MAP_POINTER.
2522         (handle_ftn_pointers): New function.
2523         (GOACC_parallel_keyed): Update refcounts of variables.
2524         (GOACC_enter_exit_data): Add support for finalized data mappings.
2525         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2526         of fortran arrays.
2527         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2528         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2529         for GOMP_MAP_FORCE_FROM.
2530         * openacc.f90 (module openacc_internal): Add
2531         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2532         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2533         acc_copyout_finalize and acc_delete_finalize.
2534         (acc_copyout_finalize_32_h): New subroutine.
2535         (acc_copyout_finalize_64_h): New subroutine.
2536         (acc_copyout_finalize_array_h): New subroutine.
2537         (acc_delete_finalize_32_h): New subroutine.
2538         (acc_delete_finalize_64_h): New subroutine.
2539         (acc_delete_finalize_array_h): New subroutine.
2540         * openacc.h (acc_copyout_finalize): Declare.
2541         (acc_copyout_finalize_async): Declare.
2542         (acc_delete_finalize): Declare.
2543         (acc_delete_finalize_async): Declare.
2544         * openacc_lib.h (acc_copyout_finalize): New interface.
2545         (acc_delete_finalize): New interface.
2546         * target.c (gomp_map_vars): Update dynamic_refcount.
2547         (gomp_remove_var): New function.
2548         (gomp_unmap_vars): Use it.
2549         (gomp_unload_image_from_device): Likewise.
2550         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2551         case to utilize OpenACC 2.5 data clause semantics.
2552         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2553         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2554         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2555         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2556         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2557         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2558         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2559         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2560         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2561         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2562         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2563         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2564         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2565         utilize OpenACC 2.5 data clause semantics.
2566         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2567         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2568         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2569         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2570         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2571         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2572         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2573         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2574         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2575
2576 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
2577
2578         PR fortran/85841
2579         PR testsuite/85865
2580         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2581         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2582         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2583         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2584         * testsuite/libgomp.fortran/task2.f90: Ditto.
2585         * testsuite/libgomp.fortran/vla1.f90: Ditto.
2586         * testsuite/libgomp.fortran/vla2.f90: Ditto.
2587         * testsuite/libgomp.fortran/vla3.f90: Ditto.
2588         * testsuite/libgomp.fortran/vla4.f90: Ditto.
2589         * testsuite/libgomp.fortran/vla5.f90: Ditto.
2590         * testsuite/libgomp.fortran/vla6.f90: Ditto.
2591         * testsuite/libgomp.fortran/vla8.f90: Ditto.
2592         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2593         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2594
2595 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
2596
2597         PR c++/85782
2598         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2599
2600 2018-05-09  Tom de Vries  <tom@codesourcery.com>
2601
2602         PR libgomp/82901
2603         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2604         to GOACC_enter_exit_data.
2605
2606 2018-05-09  Tom de Vries  <tom@codesourcery.com>
2607
2608         PR libgomp/83792
2609         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2610         (async_synchronous_p): New function.
2611         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2612         async_valid_p.
2613         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2614         async_valid_stream_id_p.
2615         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2616         * oacc-parallel.c (GOACC_parallel_keyed): Same.
2617
2618 2018-05-07  Tom de Vries  <tom@codesourcery.com>
2619
2620         PR testsuite/85677
2621         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2622         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2623
2624 2018-05-03  Tom de Vries  <tom@codesourcery.com>
2625
2626         PR testsuite/85106
2627         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2628         extra_tool_flags if it contains an -foffload=-fdump-* flag.
2629         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2630         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2631
2632 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2633
2634         PR libgomp/85411
2635         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2636         GOMP_OPENACC_DIM ...
2637         * env.c (parse_gomp_openacc_dim): ... here.  New function.
2638         (initialize_env): Call parse_gomp_openacc_dim.
2639         (goacc_default_dims): Define.
2640         * libgomp.h (goacc_default_dims): Declare.
2641         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2642         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2643         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2644         GOMP_PLUGIN_acc_default_dim.
2645         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2646         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2647
2648 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2649
2650         PR testsuite/83791
2651         * testsuite/libgomp.c++/udr-9.C: Update.
2652         * testsuite/libgomp.c++/atomic-16.C: Remove.
2653         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
2654         * testsuite/libgomp.c++/loop-13.C: Remove.
2655         * testsuite/libgomp.c++/loop-14.C: Remove.
2656         * testsuite/libgomp.c++/loop-15.C: Remove.
2657         * testsuite/libgomp.c++/monotonic-1.C: Remove.
2658         * testsuite/libgomp.c++/monotonic-2.C: Remove.
2659         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
2660         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
2661         * testsuite/libgomp.c++/ordered-1.C: Remove.
2662         * testsuite/libgomp.c++/pr45784.C: Remove.
2663         * testsuite/libgomp.c++/pr64824.C: Remove.
2664         * testsuite/libgomp.c++/pr64868.C: Remove.
2665         * testsuite/libgomp.c++/pr66199-1.C: Remove.
2666         * testsuite/libgomp.c++/pr66199-2.C: Remove.
2667         * testsuite/libgomp.c++/pr66199-3.C: Remove.
2668         * testsuite/libgomp.c++/pr66199-4.C: Remove.
2669         * testsuite/libgomp.c++/pr66199-5.C: Remove.
2670         * testsuite/libgomp.c++/pr66199-6.C: Remove.
2671         * testsuite/libgomp.c++/pr66199-7.C: Remove.
2672         * testsuite/libgomp.c++/pr66199-8.C: Remove.
2673         * testsuite/libgomp.c++/pr66199-9.C: Remove.
2674         * testsuite/libgomp.c++/pr69389.C: Remove.
2675         * testsuite/libgomp.c++/simd10.C: Remove.
2676         * testsuite/libgomp.c++/simd11.C: Remove.
2677         * testsuite/libgomp.c++/simd12.C: Remove.
2678         * testsuite/libgomp.c++/simd13.C: Remove.
2679         * testsuite/libgomp.c++/target-1.C: Remove.
2680         * testsuite/libgomp.c++/target-3.C: Remove.
2681         * testsuite/libgomp.c++/target-4.C: Remove.
2682         * testsuite/libgomp.c++/target-5.C: Remove.
2683         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
2684         * testsuite/libgomp.c++/taskloop-1.C: Remove.
2685         * testsuite/libgomp.c++/taskloop-2.C: Remove.
2686         * testsuite/libgomp.c++/taskloop-3.C: Remove.
2687         * testsuite/libgomp.c++/taskloop-4.C: Remove.
2688         * testsuite/libgomp.c++/udr-9.C: Remove.
2689         * testsuite/libgomp.c++/for-10.C: Remove.
2690         * testsuite/libgomp.c++/for-11.C: Remove.
2691         * testsuite/libgomp.c++/for-12.C: Remove.
2692         * testsuite/libgomp.c++/for-13.C: Remove.
2693         * testsuite/libgomp.c++/for-14.C: Remove.
2694         * testsuite/libgomp.c++/for-9.C: Remove.
2695         * testsuite/libgomp.c/atomic-18.c: Move ...
2696         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
2697         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
2698         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
2699         * testsuite/libgomp.c/loop-13.c: Move ...
2700         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
2701         * testsuite/libgomp.c/loop-14.c: Move ...
2702         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
2703         * testsuite/libgomp.c/loop-15.c: Remove.
2704         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
2705         * testsuite/libgomp.c/monotonic-1.c: Move ...
2706         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
2707         * testsuite/libgomp.c/monotonic-2.c: Move ...
2708         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
2709         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
2710         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
2711         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
2712         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
2713         * testsuite/libgomp.c/ordered-4.c: Move ...
2714         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
2715         * testsuite/libgomp.c/pr45784.c: Move ...
2716         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
2717         * testsuite/libgomp.c/pr64824.c: Move ...
2718         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
2719         * testsuite/libgomp.c/pr64868.c: Move ...
2720         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
2721         * testsuite/libgomp.c/pr66199-1.c: Move ...
2722         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
2723         * testsuite/libgomp.c/pr66199-2.c: Move ...
2724         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
2725         * testsuite/libgomp.c/pr66199-3.c: Move ...
2726         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
2727         * testsuite/libgomp.c/pr66199-4.c: Move ...
2728         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
2729         * testsuite/libgomp.c/pr66199-5.c: Move ...
2730         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
2731         * testsuite/libgomp.c/pr66199-6.c: Move ...
2732         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
2733         * testsuite/libgomp.c/pr66199-7.c: Move ...
2734         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
2735         * testsuite/libgomp.c/pr66199-8.c: Move ...
2736         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
2737         * testsuite/libgomp.c/pr66199-9.c: Move ...
2738         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
2739         * testsuite/libgomp.c/pr69389.c: Move ...
2740         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
2741         * testsuite/libgomp.c/simd-14.c: Move ...
2742         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
2743         * testsuite/libgomp.c/simd-15.c: Move ...
2744         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
2745         * testsuite/libgomp.c/simd-16.c: Move ...
2746         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
2747         * testsuite/libgomp.c/simd-17.c: Move ...
2748         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
2749         * testsuite/libgomp.c/target-1.c: Move ...
2750         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
2751         * testsuite/libgomp.c/target-10.c: Move ...
2752         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
2753         * testsuite/libgomp.c/target-13.c: Move ...
2754         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
2755         * testsuite/libgomp.c/target-2.c: Move ...
2756         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
2757         * testsuite/libgomp.c/taskgroup-1.c: Move ...
2758         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
2759         * testsuite/libgomp.c/taskloop-1.c: Move ...
2760         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
2761         * testsuite/libgomp.c/taskloop-2.c: Move ...
2762         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
2763         * testsuite/libgomp.c/taskloop-3.c: Move ...
2764         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
2765         * testsuite/libgomp.c/taskloop-4.c: Move ...
2766         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
2767         * testsuite/libgomp.c/udr-1.c: Move ...
2768         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
2769         * testsuite/libgomp.c/for-1.c: Move ...
2770         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
2771         * testsuite/libgomp.c/for-1.h: Move ...
2772         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
2773         * testsuite/libgomp.c/for-2.c: Move ...
2774         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
2775         * testsuite/libgomp.c/for-2.h: Move ...
2776         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
2777         * testsuite/libgomp.c/for-3.c: Move ...
2778         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
2779         * testsuite/libgomp.c/for-4.c: Move ...
2780         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2781         * testsuite/libgomp.c/for-5.c: Move ...
2782         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2783         * testsuite/libgomp.c/for-6.c: Move ...
2784         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2785
2786 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2787
2788         PR libgomp/82428
2789         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2790         __builtin_goacc_parlevel_{id,size}.
2791         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2792         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2793         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2794         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2795         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2796         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2797         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2798         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2799         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2800         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2801         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2802         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2803         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2804         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2805         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2806         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2807         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2808         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2809         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2810         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2811         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2812         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2813         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2814
2815 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2816
2817         PR testsuite/85106
2818         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2819
2820 2018-05-02  Tom de Vries  <tom@codesourcery.com>
2821
2822         PR testsuite/85106
2823         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2824
2825 2018-04-29  Julian Brown  <julian@codesourcery.com>
2826             Tom de Vries  <tom@codesourcery.com>
2827
2828         PR testsuite/85527
2829         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2830         arbitrary order for iterations of atomic subtract check.
2831
2832 2018-04-28  Tom de Vries  <tom@codesourcery.com>
2833
2834         PR testsuite/85527
2835         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2836         atomic capture results obtained in parallel loop to an array, instead of
2837         to a scalar.
2838
2839 2018-04-26  Tom de Vries  <tom@codesourcery.com>
2840
2841         PR libgomp/84020
2842         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2843         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2844         (process_GOMP_NVPTX_JIT): New function.
2845         (link_ptx): Use process_GOMP_NVPTX_JIT.
2846
2847 2018-04-26  Richard Biener <rguenther@suse.de>
2848             Tom de Vries  <tom@codesourcery.com>
2849
2850         PR lto/85422
2851         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2852
2853 2018-04-26  Tom de Vries  <tom@codesourcery.com>
2854
2855         PR target/85519
2856         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2857         recursion depth from 25 to 23.
2858         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2859
2860 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
2861
2862         * configure: Regenerated.
2863
2864 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
2865             Tom de Vries  <tom@codesourcery.com>
2866
2867         PR target/85445
2868         * testsuite/libgomp.oacc-c++/ref-1.C: New.
2869
2870 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
2871
2872         PR libgomp/85463
2873         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2874         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2875         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2876         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2877         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2878         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2879
2880         PR libfortran/85166
2881         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2882         abort".
2883         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2884
2885 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
2886
2887         * configure: Regenerated.
2888
2889 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
2890
2891         PR jit/85384
2892         * configure: Regenerate.
2893
2894 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
2895             Tom de Vries  <tom@codesourcery.com>
2896
2897         PR middle-end/84955
2898         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2899         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2900
2901 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
2902
2903         PR fortran/83064
2904         PR testsuite/85346
2905         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2906         test from gfortran.dg to here.
2907
2908 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
2909
2910         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2911         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2912
2913 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
2914
2915         PR middle-end/84955
2916         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2917         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2918
2919 2018-04-05  Tom de Vries  <tom@codesourcery.com>
2920
2921         PR target/85204
2922         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2923
2924 2018-03-26  Tom de Vries  <tom@codesourcery.com>
2925
2926         PR tree-optimization/85063
2927         * testsuite/libgomp.c/switch-conversion-2.c: New test.
2928         * testsuite/libgomp.c/switch-conversion.c: New test.
2929         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2930         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2931
2932 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
2933
2934         PR fortran/84381
2935         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2936         call abort by STOP n.
2937         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2938         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2939         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2940         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2941         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2942         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2943         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2944         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2945         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2946         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2947         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2948         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2949         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2950         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2951         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2952         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2953         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2954         * testsuite/libgomp.fortran/associate1.f90: Likewise.
2955         * testsuite/libgomp.fortran/associate2.f90: Likewise.
2956         * testsuite/libgomp.fortran/associate3.f90: Likewise.
2957         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2958         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2959         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2960         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2961         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2962         * testsuite/libgomp.fortran/character1.f90: Likewise.
2963         * testsuite/libgomp.fortran/character2.f90: Likewise.
2964         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2965         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2966         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2967         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2968         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2969         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2970         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2971         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2972         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2973         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2974         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2975         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2976         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2977         * testsuite/libgomp.fortran/do1.f90: Likewise.
2978         * testsuite/libgomp.fortran/do2.f90: Likewise.
2979         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2980         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2981         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2982         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2983         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2984         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2985         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2986         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2987         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2988         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2989         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2990         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2991         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2992         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2993         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2994         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2995         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2996         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2997         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2998         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2999         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3000         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3001         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3002         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3003         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3004         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3005         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3006         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3007         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3008         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3009         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3010         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3011         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3012         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3013         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3014         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3015         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3016         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3017         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3018         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3019         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3020         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3021         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3022         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3023         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3024         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3025         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3026         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3027         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3028         * testsuite/libgomp.fortran/lib1.f90: Likewise.
3029         * testsuite/libgomp.fortran/lib2.f: Likewise.
3030         * testsuite/libgomp.fortran/lib3.f: Likewise.
3031         * testsuite/libgomp.fortran/lib4.f90: Likewise.
3032         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3033         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3034         * testsuite/libgomp.fortran/nested1.f90: Likewise.
3035         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3036         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3037         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3038         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3039         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3040         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3041         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3042         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3043         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3044         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3045         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3046         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3047         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3048         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3049         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3050         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3051         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3052         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3053         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3054         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3055         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3056         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3057         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3058         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3059         * testsuite/libgomp.fortran/pr25162.f: Likewise.
3060         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3061         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3062         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3063         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3064         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3065         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3066         * testsuite/libgomp.fortran/pr28390.f: Likewise.
3067         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3068         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3069         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3070         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3071         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3072         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3073         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3074         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3075         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3076         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3077         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3078         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3079         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3080         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3081         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3082         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3083         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3084         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3085         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3086         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3087         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3088         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3089         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3090         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3091         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3092         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3093         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3094         * testsuite/libgomp.fortran/reference1.f90: Likewise.
3095         * testsuite/libgomp.fortran/reference2.f90: Likewise.
3096         * testsuite/libgomp.fortran/retval1.f90: Likewise.
3097         * testsuite/libgomp.fortran/retval2.f90: Likewise.
3098         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3099         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3100         * testsuite/libgomp.fortran/simd1.f90: Likewise.
3101         * testsuite/libgomp.fortran/simd2.f90: Likewise.
3102         * testsuite/libgomp.fortran/simd3.f90: Likewise.
3103         * testsuite/libgomp.fortran/simd4.f90: Likewise.
3104         * testsuite/libgomp.fortran/simd5.f90: Likewise.
3105         * testsuite/libgomp.fortran/simd6.f90: Likewise.
3106         * testsuite/libgomp.fortran/simd7.f90: Likewise.
3107         * testsuite/libgomp.fortran/stack.f90: Likewise.
3108         * testsuite/libgomp.fortran/strassen.f90: Likewise.
3109         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3110         * testsuite/libgomp.fortran/tabs2.f: Likewise.
3111         * testsuite/libgomp.fortran/target1.f90: Likewise.
3112         * testsuite/libgomp.fortran/target2.f90: Likewise.
3113         * testsuite/libgomp.fortran/target3.f90: Likewise.
3114         * testsuite/libgomp.fortran/target4.f90: Likewise.
3115         * testsuite/libgomp.fortran/target5.f90: Likewise.
3116         * testsuite/libgomp.fortran/target6.f90: Likewise.
3117         * testsuite/libgomp.fortran/target7.f90: Likewise.
3118         * testsuite/libgomp.fortran/target8.f90: Likewise.
3119         * testsuite/libgomp.fortran/task1.f90: Likewise.
3120         * testsuite/libgomp.fortran/task2.f90: Likewise.
3121         * testsuite/libgomp.fortran/task3.f90: Likewise.
3122         * testsuite/libgomp.fortran/task4.f90: Likewise.
3123         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3124         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3125         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3126         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3127         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3128         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3129         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3130         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3131         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3132         * testsuite/libgomp.fortran/udr1.f90: Likewise.
3133         * testsuite/libgomp.fortran/udr10.f90: Likewise.
3134         * testsuite/libgomp.fortran/udr11.f90: Likewise.
3135         * testsuite/libgomp.fortran/udr12.f90: Likewise.
3136         * testsuite/libgomp.fortran/udr13.f90: Likewise.
3137         * testsuite/libgomp.fortran/udr14.f90: Likewise.
3138         * testsuite/libgomp.fortran/udr15.f90: Likewise.
3139         * testsuite/libgomp.fortran/udr2.f90: Likewise.
3140         * testsuite/libgomp.fortran/udr3.f90: Likewise.
3141         * testsuite/libgomp.fortran/udr4.f90: Likewise.
3142         * testsuite/libgomp.fortran/udr5.f90: Likewise.
3143         * testsuite/libgomp.fortran/udr6.f90: Likewise.
3144         * testsuite/libgomp.fortran/udr7.f90: Likewise.
3145         * testsuite/libgomp.fortran/udr8.f90: Likewise.
3146         * testsuite/libgomp.fortran/udr9.f90: Likewise.
3147         * testsuite/libgomp.fortran/vla1.f90: Likewise.
3148         * testsuite/libgomp.fortran/vla2.f90: Likewise.
3149         * testsuite/libgomp.fortran/vla3.f90: Likewise.
3150         * testsuite/libgomp.fortran/vla4.f90: Likewise.
3151         * testsuite/libgomp.fortran/vla5.f90: Likewise.
3152         * testsuite/libgomp.fortran/vla6.f90: Likewise.
3153         * testsuite/libgomp.fortran/vla7.f90: Likewise.
3154         * testsuite/libgomp.fortran/vla8.f90: Likewise.
3155         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3156         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3157         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3158         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3159         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3160         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3161         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3162         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3163         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3164         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3165         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3166         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3167         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3168         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3169         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3170         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3171         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3172         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3173         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3174         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3175         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3176         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3177         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3178         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3179         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3180         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3181         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3182         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3183         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3184         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3185         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3186         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3187         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3188         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3189         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3190         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3191         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3192         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3193         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3194         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3195         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3196         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3197         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3198         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3199         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3200         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3201         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3202         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3203         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3204         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3205         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3206         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3207         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3208         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3209         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3210         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3211         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3212         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3213         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3214         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3215         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3216         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3217         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3218         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3219         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3220         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3221         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3222         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3223         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3224         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3225         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3226         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3227         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3228         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3229         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3230         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3231         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3232         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3233         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3234         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3235         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3236         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3237         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3238         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3239         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3240         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3241         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3242         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3243         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3244         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3245         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3246         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3247         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3248         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3249
3250 2018-03-20  Richard Biener  <rguenther@suse.de>
3251
3252         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3253         parallelizable loop.
3254
3255 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
3256
3257         PR target/84148
3258         * configure: Regenerate.
3259
3260 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
3261
3262         PR fortran/84418
3263         * libgomp.fortran/pr84418-1.f90: New test.
3264         * libgomp.fortran/pr84418-2.f90: New test.
3265
3266 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
3267
3268         PR fortran/84313
3269         * testsuite/libgomp.fortran/threadprivate4.f90: Add
3270         -std=f2003 -fall-intrinsics into dg-additional-options.
3271
3272 2018-02-08  Martin Jambor  <mjambor@suse.cz>
3273
3274         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3275         clonable.
3276
3277 2018-02-08  Martin Jambor  <mjambor@suse.cz>
3278
3279         * testsuite/libgomp.hsa.c/staticvar.c: New test.
3280
3281 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3282
3283         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3284         [__cplusplus]: Declare extern "C".
3285
3286 2018-02-07  Tom de Vries  <tom@codesourcery.com>
3287
3288         PR libgomp/84217
3289         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3290
3291 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
3292             Jakub Jelinek  <jakub@redhat.com>
3293
3294         PR libgomp/84096
3295         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3296         instead of omp_lock_t.
3297
3298 2018-01-25  Tom de Vries  <tom@codesourcery.com>
3299
3300         PR target/84028
3301         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3302
3303 2018-01-24  Tom de Vries  <tom@codesourcery.com>
3304
3305         PR target/83589
3306         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3307
3308 2018-01-24  Tom de Vries  <tom@codesourcery.com>
3309
3310         PR target/81352
3311         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3312
3313 2018-01-19  Tom de Vries  <tom@codesourcery.com>
3314             Cesar Philippidis  <cesar@codesourcery.com>
3315
3316         PR target/83920
3317         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3318         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3319
3320 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
3321
3322         Update copyright years.
3323
3324         * libgomp.texi: Bump @copying's copyright year.
3325
3326 2017-12-30  Tom de Vries  <tom@codesourcery.com>
3327
3328         PR libgomp/83046
3329         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3330         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3331
3332 2017-12-27  Tom de Vries  <tom@codesourcery.com>
3333
3334         PR c++/83046
3335         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3336         (test_nonstatic): Fix return type to workaround PR83046.
3337
3338 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
3339
3340         PR testsuite/83281
3341         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3342         j suffix instead of i.
3343         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3344         Likewise.
3345
3346 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
3347
3348         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3349         call to acc_wait (1).
3350
3351 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
3352
3353         PR fortran/81304
3354         * testsuite/libgomp.fortran/pr81304.f90: New test.
3355
3356 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
3357
3358         PR fortran/81841
3359         * libgomp.fortran/pr81841.f90: New test.
3360
3361 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
3362
3363         PR libgomp/83106
3364         * target.c (gomp_target_init): Compute lengths just once and
3365         use them in both malloc size and subsequent copying.
3366
3367 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
3368
3369         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3370         * acinclude.m4: Add cet.m4.
3371         * configure: Regenerate.
3372         * Makefile.in: Likewise.
3373         * testsuite/Makefile.in: Likewise.
3374
3375 2017-11-15  Tom de Vries  <tom@codesourcery.com>
3376
3377         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3378         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
3379         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3380         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
3381         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3382         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
3383
3384 2017-11-14  Tom de Vries  <tom@codesourcery.com>
3385
3386         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3387         non-nvidia devices.
3388
3389 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
3390
3391         PR c++/82835
3392         * testsuite/libgomp.c++/pr82835.C: New test.
3393
3394 2017-11-06  Martin Liska  <mliska@suse.cz>
3395
3396         * testsuite/libgomp.c++/loop-2.C: Return a value
3397         for functions with non-void return type, or change type to void,
3398         or add -Wno-return-type for test.
3399         * testsuite/libgomp.c++/loop-4.C: Likewise.
3400         * testsuite/libgomp.c++/parallel-1.C: Likewise.
3401         * testsuite/libgomp.c++/shared-1.C: Likewise.
3402         * testsuite/libgomp.c++/single-1.C: Likewise.
3403         * testsuite/libgomp.c++/single-2.C: Likewise.
3404
3405 2017-10-31  Tom de Vries  <tom@codesourcery.com>
3406
3407         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3408         "do {} while (false)".
3409         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3410         after HSA_DEBUG call.
3411
3412 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
3413
3414         * target.c (struct gomp_coalesce_buf): New type.
3415         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3416         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3417         (gomp_copy_host2dev): Add CBUF argument, if copying into
3418         the cached ranges, memcpy into buffer instead of copying
3419         into device.
3420         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3421         Add CBUF argument, pass it through to other calls.
3422         (gomp_map_vars): Aggregate copies from host to device if small enough
3423         and with small enough gaps in between into memcpy into a buffer and
3424         fewer host to device copies from the buffer.
3425         (gomp_update): Adjust gomp_copy_host2dev caller.
3426
3427 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
3428
3429         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3430         run" directive.
3431         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3432         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3433         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3434         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3435
3436 2017-10-16  Tom de Vries  <tom@codesourcery.com>
3437
3438         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3439         openacc_nvidia_accel_selected.
3440         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3441         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3442         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3443         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3444         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3445         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3446         openacc_nvidia_accel_selected. Skip for shared memory device.
3447         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3448         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3449
3450 2017-10-09  Martin Jambor  <mjambor@suse.cz>
3451
3452         PR hsa/82416
3453         * testsuite/libgomp.hsa.c/pr82416.c: New test.
3454
3455 2017-10-07  Tom de Vries  <tom@codesourcery.com>
3456
3457         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3458         Remove acc_device_nvidia references.
3459         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3460         Same.
3461
3462 2017-10-05  Tom de Vries  <tom@codesourcery.com>
3463
3464         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3465         vector_length(32) clause from acc parallel directive.
3466         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3467
3468 2017-10-04  Tom de Vries  <tom@codesourcery.com>
3469
3470         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3471         (main): Reduce sum of arr elements.  Assert that hres is exactly
3472         representable in 32-bit floating point.
3473         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3474         (main): Reduce sum of arr elements.  Assert that hres and hmres are
3475         exactly representable in 32-bit floating point.
3476         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3477
3478 2017-09-28  Tom de Vries  <tom@codesourcery.com>
3479
3480         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3481         setting.
3482         * testsuite/libgomp.c++/pr69393.C: Same.
3483         * testsuite/libgomp.c++/taskloop-1.C: Same.
3484         * testsuite/libgomp.c++/taskloop-3.C: Same.
3485         * testsuite/libgomp.c++/taskloop-4.C: Same.
3486         * testsuite/libgomp.c/for-4.c: Same.
3487         * testsuite/libgomp.c/pr66199-3.c: Same.
3488         * testsuite/libgomp.c/pr66199-4.c: Same.
3489         * testsuite/libgomp.c/pr66199-6.c: Same.
3490         * testsuite/libgomp.c/taskloop-1.c: Same.
3491         * testsuite/libgomp.c/taskloop-3.c: Same.
3492         * testsuite/libgomp.c/taskloop-4.c: Same.
3493         * testsuite/libgomp.fortran/aligned1.f03: Same.
3494         * testsuite/libgomp.fortran/condinc1.f: Same.
3495         * testsuite/libgomp.fortran/condinc3.f90: Same.
3496         * testsuite/libgomp.fortran/crayptr1.f90: Same.
3497         * testsuite/libgomp.fortran/crayptr2.f90: Same.
3498         * testsuite/libgomp.fortran/crayptr3.f90: Same.
3499         * testsuite/libgomp.fortran/omp_cond1.f: Same.
3500         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3501         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3502         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3503         * testsuite/libgomp.fortran/recursion1.f90: Same.
3504         * testsuite/libgomp.fortran/target2.f90: Same.
3505         * testsuite/libgomp.fortran/target5.f90: Same.
3506         * testsuite/libgomp.fortran/task3.f90: Same.
3507
3508 2017-09-28  Tom de Vries  <tom@codesourcery.com>
3509
3510         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3511         vector_length(32) clause from acc parallel directive.
3512         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3513
3514 2017-09-27  Tom de Vries  <tom@codesourcery.com>
3515
3516         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3517         Remove acc_device_nvidia references.
3518
3519 2017-09-16  Tom de Vries  <tom@codesourcery.com>
3520
3521         PR c/81875
3522         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3523
3524 2017-09-14  Tom de Vries  <tom@codesourcery.com>
3525
3526         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3527         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3528         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3529         * testsuite/libgomp.c/c.exp: Include test-cases from
3530         libgomp.c-c++-common.
3531         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
3532         files.
3533
3534 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
3535
3536         PR c++/81314
3537         * testsuite/libgomp.c++/pr81314.C: New test.
3538
3539 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
3540
3541         * libgomp.texi (Top): www.openacc.org now uses https.
3542         (Enabling OpenACC): Ditto.
3543         (acc_get_num_devices): Ditto.
3544         (acc_set_device_type): Ditto.
3545         (acc_get_device_type): Ditto.
3546         (acc_set_device_num): Ditto.
3547         (acc_get_device_num): Ditto.
3548         (acc_async_test): Ditto.
3549         (acc_async_test_all): Ditto.
3550         (acc_wait): Ditto.
3551         (acc_wait_all): Ditto.
3552         (acc_wait_all_async): Ditto.
3553         (acc_wait_async): Ditto.
3554         (acc_init): Ditto.
3555         (acc_shutdown): Ditto.
3556         (acc_on_device): Ditto.
3557         (acc_malloc): Ditto.
3558         (acc_free): Ditto.
3559         (acc_copyin): Ditto.
3560         (acc_present_or_copyin): Ditto.
3561         (acc_create): Ditto.
3562         (acc_present_or_create): Ditto.
3563         (acc_copyout): Ditto.
3564         (acc_delete): Ditto.
3565         (acc_update_device): Ditto.
3566         (acc_update_self): Ditto.
3567         (acc_map_data): Ditto.
3568         (acc_unmap_data): Ditto.
3569         (acc_deviceptr): Ditto.
3570         (acc_hostptr): Ditto.
3571         (acc_is_present): Ditto.
3572         (acc_memcpy_to_device): Ditto.
3573         (acc_memcpy_from_device): Ditto.
3574         (acc_get_current_cuda_device): Ditto.
3575         (acc_get_current_cuda_context): Ditto.
3576         (acc_get_cuda_stream): Ditto.
3577         (acc_set_cuda_stream): Ditto.
3578         (ACC_DEVICE_TYPE): Ditto.
3579         (ACC_DEVICE_NUM): Ditto.
3580         (OpenACC Library Interoperability): Ditto.
3581
3582 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
3583
3584         PR c/81687
3585         * testsuite/libgomp.c/pr81687-1.c: New test.
3586         * testsuite/libgomp.c/pr81687-2.c: New test.
3587
3588 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
3589
3590         PR c/69389
3591         * testsuite/libgomp.c/pr69389.c: New test.
3592         * testsuite/libgomp.c++/pr69389.C: New test.
3593
3594 2017-08-07  Tom de Vries  <tom@codesourcery.com>
3595
3596         PR middle-end/78266
3597         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3598         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3599
3600 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
3601
3602         PR c/45784
3603         * testsuite/libgomp.c/pr45784.c: New test.
3604         * testsuite/libgomp.c++/pr45784.C: New test.
3605
3606 2017-07-19  Tom de Vries  <tom@codesourcery.com>
3607
3608         * testsuite/libgomp.oacc-c/vec.c: New test.
3609
3610 2017-07-03  Tom de Vries  <tom@codesourcery.com>
3611
3612         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3613
3614 2017-06-27  Tom de Vries  <tom@codesourcery.com>
3615
3616         * plugin/plugin-nvptx.c (notify_var): New function.
3617         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3618
3619 2017-06-27  Tom de Vries  <tom@codesourcery.com>
3620
3621         * env.c (parse_unsigned_long_1): Factor out of ...
3622         (parse_unsigned_long): ... here.
3623         (parse_int_1): Factor out of ...
3624         (parse_int): ... here.
3625         (parse_int_secure): New function.
3626         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3627         * secure_getenv.h: Factor out of ...
3628         * plugin/plugin-hsa.c: ... here.
3629         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3630
3631 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
3632
3633         PR c++/81130
3634         * testsuite/libgomp.c++/pr81130.C: New test.
3635
3636 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3637
3638         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3639         default args.
3640         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3641         dg-xfail-run-if default args.
3642
3643 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3644
3645         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3646         * testsuite/libgomp.c/pr39591-3.c: Likewise.
3647
3648 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
3649
3650         PR libgomp/80822
3651         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3652         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
3653         sibling lists, depending on level just pick up what CPUs to put
3654         together into a place vs. whether add multiple ordered places.
3655
3656 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
3657
3658         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
3659         * libgomp.map (OACC_2.0.1): Add these.
3660         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
3661         for "acc_wait", and "acc_wait_all", respectively.
3662         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
3663         for "acc_wait", and "acc_wait_all", respectively.
3664         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
3665         * libgomp.texi (acc_wait, acc_wait_all): Update.
3666         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
3667         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
3668         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3669
3670         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
3671         acc_present_or_copyin and acc_present_or_create procedures,
3672         respectively.
3673         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
3674         generally different variants of OpenACC Runtime Library functions.
3675         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3676
3677         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
3678         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3679
3680         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
3681         of preprocessor definitions.
3682         * libgomp.h (strong_alias): Guard by "#ifdef
3683         HAVE_ATTRIBUTE_ALIAS".
3684         * oacc-mem.c: Provide "acc_pcreate" as alias for
3685         "acc_present_or_create", and "acc_pcopyin" as alias for
3686         "acc_present_or_copyin".
3687         * libgomp.map: New version "OACC_2.0.1".
3688         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
3689         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
3690         its content into...
3691         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
3692         Extend testing.
3693
3694         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
3695         when disabling nvptx offloading.
3696
3697 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
3698
3699         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
3700         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3701         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3702
3703         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
3704         * testsuite/lib/libgomp.exp
3705         (check_effective_target_openacc_nvidia_accel_configured): New
3706         proc.
3707         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
3708         (check_effective_target_c++): New procs.
3709         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
3710         (check_effective_target_c++): Likewise.
3711
3712 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
3713
3714         PR middle-end/80809
3715         * testsuite/libgomp.c/pr80809-2.c: New test.
3716         * testsuite/libgomp.c/pr80809-3.c: New test.
3717
3718         PR middle-end/80809
3719         * testsuite/libgomp.c/pr80809-1.c: New test.
3720
3721         PR middle-end/80853
3722         * testsuite/libgomp.c/pr80853.c: New test.
3723
3724 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
3725
3726         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
3727         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
3728         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3729         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3730         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3731
3732         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
3733         Debug output for failure.
3734
3735 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3736
3737         * testsuite/lib/libgomp.exp: Load scanlang.exp.
3738
3739 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
3740
3741         PR bootstrap/80531
3742         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
3743         bootstrap compare failures.
3744
3745 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
3746
3747         * testsuite/libgomp.c/target-36.c: New testcase.
3748
3749 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
3750
3751         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
3752         instead of char.
3753
3754 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
3755
3756         PR libgomp/80394
3757         * testsuite/libgomp.c/pr80394.c: New test.
3758
3759 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
3760
3761         PR libgomp/79876
3762         * config/posix/thread-stacksize.h: New file.
3763         * config/darwin/thread-stacksize.h: New file.
3764         * config/nvptx/thread-stacksize.h: New file.
3765         * env.c: Include thread-stacksize.h.
3766         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
3767         instead of 0.  Call pthread_attr_setstacksize even if
3768         GOMP_DEFAULT_STACKSIZE is non-zero.
3769
3770 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
3771
3772         * env.c (initialize_env): Initialize stacksize to 0.
3773
3774 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
3775
3776         PR c++/80029
3777         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
3778
3779 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
3780
3781         PR c/79940
3782         * testsuite/libgomp.c/pr79940.c: New test.
3783
3784 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3785
3786         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3787         targets.
3788         Add __float128 options.
3789
3790 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
3791
3792         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3793         hppa*-*-* dg-skip-if directive.
3794
3795 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
3796
3797         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3798         dg-skip-if directive into a comment.
3799
3800 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
3801             Chung-Lin Tang  <cltang@codesourcery.com>
3802
3803         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3804         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3805         add additional case.
3806         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3807         "openacc_nvidia_accel_selected".
3808         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3809         Add num_workers(8) clause.
3810
3811 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
3812
3813         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3814         hppa*-*-*.
3815         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3816         include complex.h on hppa*-*-hpux*.
3817         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3818
3819 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
3820
3821         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3822
3823         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3824         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
3825         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3826         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
3827         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3828         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
3829         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3830         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
3831         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3832         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
3833
3834 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
3835
3836         * libgomp-plugin.h: #include <stdbool.h>.
3837         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3838         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3839         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3840         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3841         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3842         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3843         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3844         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3845         (GOMP_OFFLOAD_openacc_register_async_cleanup)
3846         (GOMP_OFFLOAD_openacc_async_test)
3847         (GOMP_OFFLOAD_openacc_async_test_all)
3848         (GOMP_OFFLOAD_openacc_async_wait)
3849         (GOMP_OFFLOAD_openacc_async_wait_async)
3850         (GOMP_OFFLOAD_openacc_async_wait_all)
3851         (GOMP_OFFLOAD_openacc_async_wait_all_async)
3852         (GOMP_OFFLOAD_openacc_async_set_async)
3853         (GOMP_OFFLOAD_openacc_create_thread_data)
3854         (GOMP_OFFLOAD_openacc_destroy_thread_data)
3855         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3856         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3857         (GOMP_OFFLOAD_openacc_get_cuda_stream)
3858         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3859         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3860         these.
3861         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3862         (GOMP_OFFLOAD_unload_image): Fix argument types.
3863
3864 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
3865
3866         * testsuite/lib/libgomp.exp
3867         (check_effective_target_hsa_offloading_selected_nocache): Fix up
3868         check_compile invocation.  Fix up removal of executable.  Drop
3869         bogus "2>&1" argument.
3870
3871         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3872         directive.
3873
3874 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
3875             Martin Jambor  <mjambor@suse.cz>
3876
3877         * plugin/hsa.h: Moved to top level include.
3878         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3879
3880 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
3881
3882         PR other/79046
3883         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3884         of cat to get version from BASE-VER file.
3885         * testsuite/Makefile.in: Regenerated.
3886
3887 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
3888
3889         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3890         for _WIN64.
3891
3892 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
3893
3894         * plugin/hsa.h: Add GCC runtime library exception.
3895         * plugin/hsa_ext_finalize.h: Likewise.
3896
3897         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3898         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
3899         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3900         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3901         plugin/include/cuda as include dir and -ldl instead of -lcuda as
3902         library to link ptx plugin against.
3903         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3904         (CUDA_CALLS): Define.
3905         (cuda_lib, cuda_lib_inited): New variables.
3906         (init_cuda_lib): New function.
3907         (CUDA_CALL_PREFIX): Define.
3908         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3909         (CUDA_CALL): Use FN instead of (FN).
3910         (CUDA_CALL_NOCHECK): Define.
3911         (cuda_error, fini_streams_for_device, select_stream_for_async,
3912         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3913         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3914         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3915         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3916         CUDA_CALL_NOCHECK.
3917         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
3918         CUDA_CALL_NOCHECK.
3919         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3920         Use CUDA_CALL_NOCHECK.
3921         * plugin/cuda/cuda.h: New file.
3922         * config.h.in: Regenerated.
3923         * configure: Regenerated.
3924
3925         PR other/79046
3926         * configure.ac: Add GCC_BASE_VER.
3927         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3928         get version from BASE-VER file.
3929         * testsuite/Makefile.in: Regenerated.
3930         * configure: Regenerated.
3931         * Makefile.in: Regenerated.
3932
3933 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3934
3935         PR libgomp/60670
3936         * Makefile.am: Make fincludedir multilib-aware.
3937         * Makefile.in: Regenerate.
3938
3939 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
3940
3941         Update copyright years.
3942
3943         * libgomp.texi: Bump @copying's copyright year.
3944
3945 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3946
3947         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3948         pthread_spinlock_t instead of gomp_mutex_t lock.
3949         (gomp_get_thread_pool): Likewise.
3950         (gomp_release_thread_pool): Likewise.
3951         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3952         Likewise.
3953
3954 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3955
3956         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3957         thread pool in case nthreads == 1.
3958
3959 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
3960
3961         * config/nvptx/env.c: Delete.
3962         * icv.c: Move definitions of ICV variables back ...
3963         * env.c: ...here.  Do not compile environment-related functionality if
3964         LIBGOMP_OFFLOADED_ONLY is set.
3965
3966 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
3967
3968         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3969         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3970         * configure: Regenerate.
3971         * config.h.in: Likewise.
3972
3973 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
3974
3975         * Makefile.in: Regenerate with automake-1.11.6.
3976         * aclocal.m4: Likewise.
3977         * configure: Likewise.
3978         * testsuite/Makefile.in: Likewise.
3979
3980 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
3981
3982         * config/nvptx/critical.c: Delete to use generic implementation.
3983
3984 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
3985
3986         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3987         ../../affinity.c as fallback.
3988         * config/nvptx/affinity.c: Delete to use fallback implementation.
3989
3990 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
3991             Jakub Jelinek  <jakub@redhat.com>
3992             Dmitry Melnik  <dm@ispras.ru>
3993
3994         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3995         * Makefile.in. Regenerate.
3996         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3997         (LIBGOMP_USE_PTHREADS): ...here; new define.
3998         * configure: Regenerate.
3999         * config.h.in: Likewise.
4000         * config/posix/affinity.c: Move to...
4001         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
4002         interface by LIBGOMP_USE_PTHREADS. 
4003         * critical.c: Split out GOMP_atomic_{start,end} into...
4004         * atomic.c: ...here (new file).
4005         * env.c: Split out ICV definitions into...
4006         * icv.c: ...here (new file) and...
4007         * icv-device.c: ...here. New file.
4008         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4009         (gomp_destroy_lock_30): Ditto.
4010         (gomp_set_lock_30): Ditto.
4011         (gomp_unset_lock_30): Ditto.
4012         (gomp_test_lock_30): Ditto.
4013         (gomp_init_nest_lock_30): Ditto.
4014         (gomp_destroy_nest_lock_30): Ditto.
4015         (gomp_set_nest_lock_30): Ditto.
4016         (gomp_unset_nest_lock_30): Ditto.
4017         (gomp_test_nest_lock_30): Ditto.
4018         * lock.c: New.
4019         * config/nvptx/lock.c: New.
4020         * config/nvptx/bar.c: New.
4021         * config/nvptx/bar.h: New.
4022         * config/nvptx/doacross.h: New.
4023         * config/nvptx/error.c: New.
4024         * config/nvptx/icv-device.c: New.
4025         * config/nvptx/mutex.h: New.
4026         * config/nvptx/pool.h: New.
4027         * config/nvptx/proc.c: New.
4028         * config/nvptx/ptrlock.h: New.
4029         * config/nvptx/sem.h: New.
4030         * config/nvptx/simple-bar.h: New.
4031         * config/nvptx/target.c: New.
4032         * config/nvptx/task.c: New.
4033         * config/nvptx/team.c: New.
4034         * config/nvptx/time.c: New.
4035         * config/posix/simple-bar.h: New.
4036         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
4037         (gomp_num_teams_var): Declare.
4038         (struct gomp_thread_pool): Change threads_dock member to
4039         gomp_simple_barrier_t.
4040         [__nvptx__] (gomp_thread): New implementation.
4041         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4042         (gomp_thread_destructor): Ditto.
4043         (gomp_init_thread_affinity): Ditto.
4044         * team.c: Guard uses of Pthreads-specific interfaces by
4045         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
4046         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4047         * config/nvptx/alloc.c: Delete.
4048         * config/nvptx/barrier.c: Ditto.
4049         * config/nvptx/fortran.c: Ditto.
4050         * config/nvptx/iter.c: Ditto.
4051         * config/nvptx/iter_ull.c: Ditto.
4052         * config/nvptx/loop.c: Ditto.
4053         * config/nvptx/loop_ull.c: Ditto.
4054         * config/nvptx/ordered.c: Ditto.
4055         * config/nvptx/parallel.c: Ditto.
4056         * config/nvptx/priority_queue.c: Ditto.
4057         * config/nvptx/sections.c: Ditto.
4058         * config/nvptx/single.c: Ditto.
4059         * config/nvptx/splay-tree.c: Ditto.
4060         * config/nvptx/work.c: Ditto.
4061         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4062         -foffload=-lgfortran in addition to -lgfortran.
4063         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4064         * plugin/plugin-nvptx.c: Include <limits.h>.
4065         (struct targ_fn_descriptor): Add new fields.
4066         (struct ptx_device): Ditto.  Set them...
4067         (nvptx_open_device): ...here.
4068         (nvptx_adjust_launch_bounds): New.
4069         (nvptx_host2dev): Allow NULL 'nvthd'.
4070         (nvptx_dev2host): Ditto.
4071         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4072         (link_ptx): Adjust log sizes.
4073         (nvptx_host2dev): Allow NULL 'nvthd'.
4074         (nvptx_dev2host): Ditto.
4075         (nvptx_set_clocktick): New.  Use it...
4076         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
4077         fields.
4078         (GOMP_OFFLOAD_dev2dev): New.
4079         (nvptx_adjust_launch_bounds): New.
4080         (nvptx_stacks_size): New.
4081         (nvptx_stacks_alloc): New.
4082         (nvptx_stacks_free): New.
4083         (GOMP_OFFLOAD_run): New.
4084         (GOMP_OFFLOAD_async_run): New (stub).
4085
4086 2016-11-23  Martin Jambor  <mjambor@suse.cz>
4087
4088         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4089         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4090         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4091
4092 2016-11-23  Martin Liska  <mliska@suse.cz>
4093             Martin Jambor  <mjambor@suse.cz>
4094
4095         * plugin/hsa.h: New file.
4096         * plugin/hsa_ext_finalize.h: New file.
4097         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
4098         header file unistd.h, and functions secure_getenv, __secure_getenv,
4099         getuid, geteuid, getgid and getegid.
4100         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4101         -D_GNU_SOURCE.
4102         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4103         Handle various cases of secure_getenv presence, add an implementation
4104         when we can test effective UID and GID.
4105         (struct hsa_runtime_fn_info): New structure.
4106         (hsa_runtime_fn_info hsa_fns): New variable.
4107         (hsa_runtime_lib): Likewise.
4108         (support_cpu_devices): Likewise.
4109         (init_enviroment_variables): Load newly introduced ENV
4110         variables.
4111         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4112         (hsa_fatal): Likewise.
4113         (DLSYM_FN): New macro.
4114         (init_hsa_runtime_functions): New function.
4115         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4116         structure.  Depending on environment, also allow CPU devices.
4117         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4118         (get_kernarg_memory_region): Likewise.
4119         (GOMP_OFFLOAD_init_device): Likewise.
4120         (destroy_hsa_program): Likewise.
4121         (init_basic_kernel_info): New function.
4122         (GOMP_OFFLOAD_load_image): Use it.
4123         (create_and_finalize_hsa_program): Call hsa run-time functions via
4124         hsa_fns structure.
4125         (create_single_kernel_dispatch): Likewise.
4126         (release_kernel_dispatch): Likewise.
4127         (init_single_kernel): Likewise.
4128         (parse_target_attributes): Allow up multiple HSA grid dimensions.
4129         (get_group_size): New function.
4130         (run_kernel): Likewise.
4131         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4132         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4133         structure.
4134         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4135         * testsuite/libgomp-test-support.exp.in: Likewise.
4136         * Makefile.in: Regenerated.
4137         * aclocal.m4: Likewise.
4138         * config.h.in: Likewise.
4139         * configure: Likewise.
4140         * testsuite/Makefile.in: Likewise.
4141
4142 2016-11-15  Martin Jambor  <mjambor@suse.cz>
4143             Alexander Monakov  <amonakov@ispras.ru>
4144
4145         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4146         mapping clauses to target constructs.
4147         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4148
4149 2016-11-15  Matthias Klose  <doko@ubuntu.com>
4150
4151         * configure: Regenerate.
4152
4153 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
4154
4155         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4156         * omp_lib.h.in (openmp_version): Likewise.
4157         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4158         of 201307.
4159         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4160
4161         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4162         (fib_wrapper): Add map(from: x) clause.
4163         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4164         (e_53_2): Likewise.
4165         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4166         (accum): Add map(tmp) clause.
4167         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4168         (accum): Add map(tofrom: tmp) clause.
4169         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4170         (gramSchmidt): Likewise.
4171         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4172         map(tofrom: sum) clause.
4173         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4174         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
4175         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4176         only allowed on the loop iterator.
4177         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4178         * testsuite/libgomp.fortran/taskloop2.f90: New test.
4179         * testsuite/libgomp.fortran/taskloop4.f90: New test.
4180         * testsuite/libgomp.fortran/doacross1.f90: New test.
4181         * testsuite/libgomp.fortran/doacross3.f90: New test.
4182         * testsuite/libgomp.fortran/taskloop1.f90: New test.
4183         * testsuite/libgomp.fortran/taskloop3.f90: New test.
4184         * testsuite/libgomp.fortran/doacross2.f90: New test.
4185         * testsuite/libgomp.c/doacross-1.c (main): Add missing
4186         #pragma omp atomic read.
4187         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4188         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4189
4190 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
4191             Nathan Sidwell  <nathan@acm.org>
4192
4193         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4194         to determine default geometry.
4195         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4196         dimension.
4197
4198 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
4199
4200         * hashtab.h: Use standard GPLv3 with runtime exception
4201         boilerplate.
4202
4203 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
4204
4205         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4206         size when allocating new thread.
4207
4208 2016-09-14  Marek Polacek  <polacek@redhat.com>
4209
4210         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4211
4212 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
4213
4214         PR fortran/71014
4215         * testsuite/libgomp.fortran/pr71014.f90: New test.
4216
4217 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
4218
4219         PR middle-end/70895
4220         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4221         firstprivate clauses.
4222         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4223         copy clauses.
4224         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4225         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4226         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4227         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4228         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4229         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4230         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4231         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4232         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4233         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4234         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4235         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4236
4237 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
4238
4239         PR fortran/70598
4240         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4241
4242 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
4243
4244         PR c++/58706
4245         * testsuite/libgomp.c++/pr58706.C: New test.
4246
4247 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
4248
4249         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4250         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4251         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4252         Likewise.
4253         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4254         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4255         Likewise.
4256         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4257
4258         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4259         test, and don't hardcode -O0.
4260
4261 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
4262
4263         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4264
4265 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
4266
4267         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4268         test.
4269
4270 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
4271
4272         PR middle-end/71734
4273         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4274         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4275
4276 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
4277
4278         PR fortran/71717
4279         * testsuite/libgomp.fortran/associate3.f90: New test.
4280
4281 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
4282
4283         * testsuite/libgomp.c++/target-21.C: New test.
4284
4285 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
4286
4287         * testsuite/libgomp.c++/target-20.C: New test.
4288
4289 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
4290             Cesar Philippidis  <cesar@codesourcery.com>
4291
4292         PR middle-end/71373
4293         * libgomp.oacc-c/nested-function-1.c: New file.
4294         * libgomp.oacc-c/nested-function-2.c: Likewise.
4295         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4296         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4297         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4298
4299 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
4300
4301         PR c/71381
4302         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4303         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4304         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4305
4306 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
4307
4308         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4309         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4310
4311 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
4312
4313         PR c/70688
4314         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
4315
4316 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
4317
4318         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4319         instead of invalid schedule(static, 0).
4320         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4321
4322 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
4323
4324         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4325         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4326         parameter, use to set async stream around call to gomp_unmap_vars,
4327         call gomp_unmap_vars() with 'do_copyfrom' set to true.
4328         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4329         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4330         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4331         (event_add): Add int parameter, initialize 'val' field when
4332         adding new ptx_event struct.
4333         (nvptx_evec): Adjust event_add() call arguments.
4334         (nvptx_host2dev): Likewise.
4335         (nvptx_dev2host): Likewise.
4336         (nvptx_wait_async): Likewise.
4337         (nvptx_wait_all_async): Likewise.
4338         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4339         pass to event_add() call.
4340         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4341         parameter.
4342         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4343         call openacc.register_async_cleanup_func() hook.
4344         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4345         * target.c (gomp_copy_from_async): Delete function.
4346         (gomp_map_vars): Remove async_refcount.
4347         (gomp_unmap_vars): Likewise.
4348         (gomp_load_image_to_device): Likewise.
4349         (omp_target_associate_ptr): Likewise.
4350         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4351         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4352         (gomp_copy_from_async): Remove.
4353
4354 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
4355
4356         * target.c (gomp_device_copy): New function.
4357         (gomp_copy_host2dev): Likewise.
4358         (gomp_copy_dev2host): Likewise.
4359         (gomp_free_device_memory): Likewise.
4360         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4361         (gomp_map_pointer): Likewise.
4362         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4363         NULL value from alloc_func plugin hook.
4364         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4365         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4366         (gomp_unmap_vars): Likewise.
4367         (gomp_update): Adjust to call gomp_copy_dev2host and
4368         gomp_copy_host2dev functions.
4369         (gomp_unload_image_from_device): Handle false value from
4370         unload_image_func plugin hook.
4371         (gomp_init_device): Handle false value from init_device_func
4372         plugin hook.
4373         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4374         (omp_target_free): Adjust to call gomp_free_device_memory.
4375         (omp_target_memcpy): Handle return values from host2dev_func,
4376         dev2host_func, and dev2dev_func plugin hooks.
4377         (omp_target_memcpy_rect_worker): Likewise.
4378         (gomp_target_fini): Handle false value from fini_device_func
4379         plugin hook.
4380         * libgomp.h (struct gomp_device_descr): Adjust return type of
4381         init_device_func, fini_device_func, unload_image_func, free_func,
4382         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4383         * oacc-init.c (acc_shutdown_1): Handle false value from
4384         fini_device_func plugin hook.
4385         * oacc-host.c (host_init_device): Change return type to bool.
4386         (host_fini_device): Likewise.
4387         (host_unload_image): Likewise.
4388         (host_free): Likewise.
4389         (host_dev2host): Likewise.
4390         (host_host2dev): Likewise.
4391         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4392         (acc_memcpy_to_device): Likewise.
4393         (acc_memcpy_from_device): Likewise.
4394         (delete_copyout): Add libfnname parameter, handle free_func
4395         hook fatal error case.
4396         (acc_delete): Adjust delete_copyout call.
4397         (acc_copyout): Likewise.
4398         (update_dev_host): Move gomp_mutex_unlock to after
4399         host2dev/dev2host hook calls.
4400
4401         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4402         to 'hsa_error_msg', for clarity.
4403         (hsa_fatal): Likewise.
4404         (hsa_error): New function.
4405         (init_hsa_context): Change return type to bool, adjust to return
4406         false on error.
4407         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4408         return value.
4409         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4410         return false on error.
4411         (get_agent_info): Adjust to return NULL on error.
4412         (destroy_hsa_program): Change return type to bool, adjust to
4413         return false on error.
4414         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4415         (destroy_module): Change return type to bool, adjust to
4416         return false on error.
4417         (GOMP_OFFLOAD_unload_image): Likewise.
4418         (GOMP_OFFLOAD_fini_device): Likewise.
4419         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4420         (GOMP_OFFLOAD_free): Change to return false when called.
4421         (GOMP_OFFLOAD_dev2host): Likewise.
4422         (GOMP_OFFLOAD_host2dev): Likewise.
4423         (GOMP_OFFLOAD_dev2dev): Likewise.
4424
4425         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4426         (CUDA_CALL): Likewise.
4427         (CUDA_CALL_ASSERT): Likewise.
4428         (map_init): Change return type to bool, use CUDA_CALL* macros.
4429         (map_fini): Likewise.
4430         (init_streams_for_device): Change return type to bool, adjust
4431         call to map_init.
4432         (fini_streams_for_device): Change return type to bool, adjust
4433         call to map_fini.
4434         (select_stream_for_async): Release stream_lock before calls to
4435         GOMP_PLUGIN_fatal, adjust call to map_init.
4436         (nvptx_init): Use CUDA_CALL* macros.
4437         (nvptx_attach_host_thread_to_device): Change return type to bool,
4438         use CUDA_CALL* macros.
4439         (nvptx_open_device): Use CUDA_CALL* macros.
4440         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4441         macros.
4442         (nvptx_get_num_devices): Use CUDA_CALL* macros.
4443         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4444         (nvptx_exec): Use CUDA_CALL* macros.
4445         (nvptx_alloc): Use CUDA_CALL* macros.
4446         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4447         (nvptx_host2dev): Likewise.
4448         (nvptx_dev2host): Likewise.
4449         (nvptx_wait): Use CUDA_CALL* macros.
4450         (nvptx_wait_async): Likewise.
4451         (nvptx_wait_all): Likewise.
4452         (nvptx_wait_all_async): Likewise.
4453         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4454         use CUDA_CALL* macros, adjust call to map_fini.
4455         (GOMP_OFFLOAD_init_device): Change return type to bool,
4456         adjust code accordingly.
4457         (GOMP_OFFLOAD_fini_device): Likewise.
4458         (GOMP_OFFLOAD_load_image): Adjust calls to
4459         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4460         use CUDA_CALL* macros.
4461         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4462         return code.
4463         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4464         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4465         handle error return.
4466         (GOMP_OFFLOAD_dev2host): Likewise.
4467         (GOMP_OFFLOAD_host2dev): Likewise.
4468         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4469         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4470
4471 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
4472
4473         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4474         (acc_free): Likewise.
4475         (acc_memcpy_to_device): Likewise.
4476         (acc_memcpy_from_device): Likewise.
4477         (acc_deviceptr): Likewise.
4478         (acc_hostptr): Likewise.
4479         (acc_is_present): Likewise.
4480         (acc_map_data): Likewise.
4481         (acc_unmap_data): Likewise.
4482         (present_create_copy): Likewise.
4483         (delete_copyout): Likewise.
4484         (update_dev_host): Likewise.
4485         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4486         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4487         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4488         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4489         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4490         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4491         it only runs on nvptx targets.
4492         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4493         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4494         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4495         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4496         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4497         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4498         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4499         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4500         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4501         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4502         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4503         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4504         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4505         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4506         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4507         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4508         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4509         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4510         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4511         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4512         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4513         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4514         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4515
4516 2016-05-23  Martin Jambor  <mjambor@suse.cz>
4517
4518         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4519
4520 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
4521
4522         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4523         to gomp_init_targets_once.
4524         (acc_set_device_type): Remove !cached_base_dev condition on call to
4525         gomp_init_targets_once, move call to before acc_device_lock acquire,
4526         to avoid deadlock.
4527         (acc_get_device_num): Remove !cached_base_dev condition on call to
4528         gomp_init_targets_once.
4529         (acc_set_device_num): Likewise.
4530
4531 2016-05-16  Martin Jambor  <mjambor@suse.cz>
4532
4533         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
4534
4535 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
4536
4537         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4538         expected partitioning.
4539
4540 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
4541
4542         PR middle-end/70626
4543         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4544         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4545         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4546
4547 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
4548
4549         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4550         non-fatal.
4551
4552 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
4553
4554         PR middle-end/70680
4555         * testsuite/libgomp.c/pr70680-1.c: New test.
4556         * testsuite/libgomp.c/pr70680-2.c: New test.
4557
4558 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
4559
4560         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4561         pass parameter variables to subroutines.
4562
4563 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
4564
4565         PR middle-end/70643
4566         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4567
4568 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
4569
4570         PR testsuite/68242
4571         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4572         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4573
4574 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4575
4576         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4577         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4578         GOACC_declare prototype.
4579
4580         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4581         Merge this file, and...
4582         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4583         ... this file, and...
4584         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4585         ... this file, and...
4586         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4587         ... this file, and...
4588         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4589         ... this file, and...
4590         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4591         ... this file, and...
4592         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4593         ... this file, and...
4594         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4595         ... this file, and...
4596         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4597         ... this file, and...
4598         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4599         ... this file, and...
4600         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4601         ... this file, and...
4602         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4603         ... this file, and...
4604         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4605         ... this file into...
4606         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4607         file.
4608
4609         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4610         Make failure observable.
4611
4612 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
4613
4614         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4615         field.
4616         * target.c (gomp_target_fallback_firstprivate,
4617         gomp_target_unshare_firstprivate): Removed.
4618         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4619         before waiting for dependencies.
4620         (gomp_target_task_fn): Don't copy firstprivate vars here.
4621         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4622         firstprivate_copies here.
4623         (gomp_create_target_task): Don't initialize firstprivate_copies field.
4624         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4625         explicit/implicit firstprivate.
4626
4627 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
4628
4629         PR lto/70289
4630         PR ipa/70348
4631         PR tree-optimization/70373
4632         PR middle-end/70533
4633         PR middle-end/70534
4634         PR middle-end/70535
4635         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4636         test.
4637         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4638         test.
4639         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4640         test.
4641         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4642         test.
4643         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4644         test.
4645         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4646         test.
4647         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4648         test.
4649         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4650         test.
4651         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4652         test.
4653         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
4654         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
4655         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
4656         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
4657         test.
4658         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
4659         test.
4660         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
4661         test.
4662         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
4663         test.
4664         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
4665         coverage.
4666         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4667         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4668         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
4669         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
4670         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
4671         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
4672         coverage.
4673         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4674         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4675         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4676         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4677         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
4678         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
4679         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
4680         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
4681         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
4682         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4683         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4684         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4685         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4686         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4687         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
4688
4689 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
4690             James Norris  <jnorris@codesourcery.com>
4691             Nathan Sidwell  <nathan@codesourcery.com>
4692             Julian Brown  <julian@codesourcery.com>
4693             Cesar Philippidis  <cesar@codesourcery.com>
4694             Chung-Lin Tang  <cltang@codesourcery.com>
4695             Tom de Vries  <tom@codesourcery.com>
4696
4697         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
4698         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4699         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4700         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
4701         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4702         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4703         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4704         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4705         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4706         XFAIL.
4707         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4708         Incorporate...
4709         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
4710         file.
4711         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
4712         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
4713         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
4714         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
4715         Likewise.
4716         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4717         Likewise.
4718         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4719         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
4720         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4721         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4722         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4723         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4724         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4725         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4726         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4727         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
4728         Likewise.
4729         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
4730         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4731         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
4732         file...
4733         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
4734         file into...
4735         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
4736         file.  Update.
4737         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
4738         file.
4739         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
4740         Likewise.
4741         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
4742         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
4743         ... this new file.  Update.
4744         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
4745         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
4746         ... this new file.  Update.
4747         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
4748         file.  Incorporate...
4749         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
4750         file, and...
4751         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
4752         file, and...
4753         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
4754         file.
4755         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
4756
4757 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
4758
4759         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
4760         set-torture-options.
4761
4762 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
4763
4764         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
4765         gcc-dg-runtest.
4766         * testsuite/libgomp.oacc-c/c.exp: Likewise.
4767         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
4768         -fno-builtin-acc_on_device instead of -O0.
4769         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
4770         -O0.
4771         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4772         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
4773         Likewise.
4774         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4775         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4776         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4777         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4778         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4779         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4780         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4781         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4782         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4783         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4784         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4785         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4786         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4787         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4788         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4789         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4790         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4791         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4792         Don't specify -O2.
4793         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4794         Likewise.
4795         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4796         Likewise.
4797
4798 2016-03-24  Martin Liska  <mliska@suse.cz>
4799
4800         * plugin/plugin-hsa.c (packet_store_release): New function
4801         that is taken from the HSA runtime manual.
4802         (GOMP_OFFLOAD_run): Use the function.
4803
4804 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
4805
4806         PR c++/70376
4807         * testsuite/libgomp.c++/pr70376.C: New test.
4808
4809 2016-03-23  Tom de Vries  <tom@codesourcery.com>
4810
4811         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4812         initialization of lresult and lvresult.
4813         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4814
4815 2016-03-23  James Norris  <jnorris@codesourcery.com>
4816             Daichi Fukuoka <dc-fukuoka@sgi.com>
4817
4818         PR libgomp/69414
4819         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4820         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4821         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4822         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4823
4824 2016-03-23  Martin Liska  <mliska@suse.cz>
4825
4826         PR hsa/70337
4827         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4828         argument just in case a dispatched kernel uses that argument.
4829
4830 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
4831
4832         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4833         -ftree-parallelize-loops/-fopenacc changes.
4834         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4835         Likewise.
4836         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4837         Likewise.
4838         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4839         Likewise.
4840         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4841         Likewise.
4842         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4843         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4844
4845 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
4846
4847         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4848         always_ld_library_path the path to libgcc_s.
4849
4850 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
4851
4852         PR testsuite/70009
4853         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4854
4855 2016-03-09  Tom de Vries  <tom@codesourcery.com>
4856
4857         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4858         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4859         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4860         Same.
4861         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4862         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4863         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4864         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4865
4866 2016-03-07  Martin Jambor  <mjambor@suse.cz>
4867
4868         * testsuite/lib/libgomp.exp
4869         (check_effective_target_hsa_offloading_selected_nocache): New.
4870         (check_effective_target_hsa_offloading_selected): Likewise.
4871         * testsuite/libgomp.hsa.c/c.exp: Likewise.
4872         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4873         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4874         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4875         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4876         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4877         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4878         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4879         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4880         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4881         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4882         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4883         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4884         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4885         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4886         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4887         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4888
4889 2016-03-07  Martin Jambor  <mjambor@suse.cz>
4890
4891         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4892         non-shared memory accelerators.
4893         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4894         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4895         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4896         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4897         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4898         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4899         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4900         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4901         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4902
4903 2016-03-07  Martin Jambor  <mjambor@suse.cz>
4904
4905         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4906         ALWAYS_CFLAGS.
4907
4908 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
4909
4910         PR libgomp/69555
4911         * testsuite/libgomp.c++/pr69555-1.C: New test.
4912         * testsuite/libgomp.c++/pr69555-2.C: New test.
4913
4914 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
4915             Martin Jambor  <mjambor@suse.cz>
4916
4917         * testsuite/lib/libgomp.exp
4918         (check_effective_target_offload_device_shared_as): New proc.
4919         * testsuite/libgomp.c++/declare_target-1.C: New test.
4920
4921 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
4922
4923         PR driver/68463
4924         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4925
4926 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
4927
4928         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4929         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4930         dims.
4931         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4932         -ftree-parallelize-loops/-fopenacc changes.
4933         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4934         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4935         Likewise.
4936         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4937         Likewise.
4938         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4939         Likewise.
4940         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4941         Likewise.
4942         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4943         Likewise.
4944         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4945         Likewise.
4946         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4947         Likewise.
4948         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4949         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4950         Likewise.
4951         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4952         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4953         Likewise.
4954         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4955         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4956         Likewise.
4957
4958 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
4959
4960         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4961
4962 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
4963
4964         PR driver/69805
4965         * testsuite/libgomp.c/pr69805.c: New test.
4966
4967 2016-02-16  Tom de Vries  <tom@codesourcery.com>
4968
4969         PR lto/67709
4970         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4971
4972 2016-02-09  Tom de Vries  <tom@codesourcery.com>
4973
4974         PR tree-optimization/69599
4975         * testsuite/libgomp.c/omp-nested-3.c: New test.
4976         * testsuite/libgomp.c/pr46032-2.c: New test.
4977         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4978         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4979
4980 2016-02-09  Tom de Vries  <tom@codesourcery.com>
4981
4982         PR lto/69707
4983         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4984
4985 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
4986
4987         * testsuite/libgomp.c/target-31.c: Fix testcase.
4988
4989 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
4990
4991         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4992         clause.
4993         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4994         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4995         reduction and map clauses.
4996         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4997
4998 2016-02-02  James Norris  <jnorris@codesourcery.com>
4999
5000         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5001
5002 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
5003
5004         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5005         * oacc-parallel.c (GOACC_host_data): Remove function definition.
5006
5007         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5008         cases.
5009
5010         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5011         variables.
5012         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5013         (hsa_kmt_lib): Set variables.
5014         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5015         always_ld_library_path.
5016         * Makefile.in: Regenerate.
5017         * configure: Likewise.
5018         * testsuite/Makefile.in: Likewise.
5019
5020         * plugin/configfrag.ac (offload_additional_options)
5021         (offload_additional_lib_paths): Don't amend for hsa offloading.
5022         * configure: Regenerate.
5023
5024         * plugin/configfrag.ac: Don't configure for offloading target if
5025         we don't build the corresponding plugin.
5026         * configure: Regenerate.
5027
5028 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
5029
5030         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5031         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5032
5033 2016-01-26  Tom de Vries  <tom@codesourcery.com>
5034
5035         PR tree-optimization/69110
5036         * testsuite/libgomp.c/pr69110.c: New test.
5037
5038 2016-01-25  Richard Biener  <rguenther@suse.de>
5039
5040         PR lto/69393
5041         * testsuite/libgomp.c++/pr69393.C: New testcase.
5042
5043 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
5044
5045         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5046         function wasn't mapped to the device with non-shared memory.
5047
5048 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
5049
5050         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5051
5052 2016-01-19  Martin Jambor  <mjambor@suse.cz>
5053             Martin Liska  <mliska@suse.cz>
5054
5055         * plugin/Makefrag.am: Add HSA plugin requirements.
5056         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5057         (HSA_RUNTIME_LIB): Likewise.
5058         (HSA_RUNTIME_CPPFLAGS): Likewise.
5059         (HSA_RUNTIME_INCLUDE): New substitution.
5060         (HSA_RUNTIME_LIB): Likewise.
5061         (HSA_RUNTIME_LDFLAGS): Likewise.
5062         (hsa-runtime): New configure option.
5063         (hsa-runtime-include): Likewise.
5064         (hsa-runtime-lib): Likewise.
5065         (PLUGIN_HSA): New substitution variable.
5066         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5067         configure options.
5068         (PLUGIN_HSA_CPPFLAGS): Likewise.
5069         (PLUGIN_HSA_LDFLAGS): Likewise.
5070         (PLUGIN_HSA_LIBS): Likewise.
5071         Check that we have access to HSA run-time.
5072         * libgomp-plugin.h (offload_target_type): New element
5073         OFFLOAD_TARGET_TYPE_HSA.
5074         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5075         args.
5076         (bool gomp_create_target_task): Updated.
5077         (gomp_device_descr): Extra parameter of run_func and async_run_func,
5078         new field can_run_func.
5079         * libgomp_g.h (GOMP_target_ext): Update prototype.
5080         * oacc-host.c (host_run): Added a new parameter args.
5081         * target.c (calculate_firstprivate_requirements): New function.
5082         (copy_firstprivate_data): Likewise.
5083         (gomp_target_fallback_firstprivate): Use them.
5084         (gomp_target_unshare_firstprivate): New function.
5085         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5086         devices.
5087         (GOMP_target): Do host fallback for all shared memory devices.  Do not
5088         pass any args to plugins.
5089         (GOMP_target_ext): Introduce device-specific argument parameter args.
5090         Allow host fallback if device shares memory.  Do not remap data if
5091         device has shared memory.
5092         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
5093         like host fallback for mappings.
5094         (GOMP_target_data): Treat shared memory devices like host fallback.
5095         (GOMP_target_data_ext): Likewise.
5096         (GOMP_target_update): Likewise.
5097         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
5098         gomp_create_target_task.
5099         (GOMP_target_enter_exit_data): Likewise.
5100         (omp_target_alloc): Treat shared memory devices like host fallback.
5101         (omp_target_free): Likewise.
5102         (omp_target_is_present): Likewise.
5103         (omp_target_memcpy): Likewise.
5104         (omp_target_memcpy_rect): Likewise.
5105         (omp_target_associate_ptr): Likewise.
5106         (gomp_load_plugin_for_device): Also load can_run.
5107         * task.c (GOMP_PLUGIN_target_task_completion): Free
5108         firstprivate_copies.
5109         (gomp_create_target_task): Accept new argument args and store it to
5110         ttask.
5111         * plugin/plugin-hsa.c: New file.
5112
5113 2016-01-18  Tom de Vries  <tom@codesourcery.com>
5114
5115         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5116         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5117         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5118         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5119         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5120         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5121         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5122         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5123         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5124         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5125         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5126         Same.
5127         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5128         Same.
5129         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5130         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5131         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5132         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5133         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5134         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5135         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5136         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5137         Same.
5138         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5139
5140 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
5141
5142         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5143
5144 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
5145
5146         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5147
5148 2016-01-12  James Norris  <jnorris@codesourcery.com>
5149
5150         * libgomp.texi: Updates for OpenACC.
5151
5152 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
5153
5154         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5155
5156 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
5157
5158         PR fortran/66680
5159         * testsuite/libgomp.fortran/pr66680.f90: New test.
5160
5161 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
5162
5163         PR middle-end/68960
5164         * testsuite/libgomp.c/pr68960.c: New test.
5165
5166 2016-01-06  Nathan Sidwell  <nathan@acm.org>
5167
5168         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
5169         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5170
5171 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
5172
5173         Update copyright years.
5174
5175         * libgomp.texi: Bump @copying's copyright year.
5176
5177 2015-12-31  Nathan Sidwell  <nathan@acm.org>
5178
5179         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5180         dg-additional-options syntax.
5181         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5182         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5183         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5184         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5185         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5186         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5187         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5188         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5189         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5190         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5191         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5192         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5193         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5194         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5195         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5196         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5197         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5198         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5199
5200 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
5201
5202         * libgomp.h (REFCOUNT_LINK): Define.
5203         (struct splay_tree_key_s): Add link_key.
5204         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5205         Replace target address of the pointer with target address of newly
5206         mapped object in the splay tree.  Set link pointer on target to the
5207         device address of the mapped object.
5208         (gomp_unmap_vars): Restore target address of the pointer in the splay
5209         tree for REFCOUNT_LINK objects after unmapping.
5210         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5211         declare target link" objects.
5212         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
5213         "omp declare target link" objects, which were mapped for the image.
5214         (gomp_exit_data): Restore target address of the pointer in the splay
5215         tree for REFCOUNT_LINK objects after unmapping.
5216         * testsuite/libgomp.c/target-link-1.c: New file.
5217
5218 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
5219
5220         * libgomp.h (gomp_device_state): New enum.
5221         (struct gomp_device_descr): Replace is_initialized with state.
5222         (gomp_fini_device): Remove declaration.
5223         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5224         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5225         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
5226         (acc_set_device_type): Use state instead of is_initialized.
5227         (acc_set_device_num): Likewise.
5228         * target.c (resolve_device): Use state instead of is_initialized.
5229         Do not initialize finalized device.
5230         (gomp_map_vars): Do nothing if device is finalized.
5231         (gomp_unmap_vars): Likewise.
5232         (gomp_update): Likewise.
5233         (GOMP_offload_register_ver): Use state instead of is_initialized.
5234         (GOMP_offload_unregister_ver): Likewise.
5235         (gomp_init_device): Likewise.
5236         (gomp_unload_device): Likewise.
5237         (gomp_fini_device): Remove.
5238         (gomp_get_target_fn_addr): Do nothing if device is finalized.
5239         (GOMP_target): Go to host fallback if device is finalized.
5240         (GOMP_target_ext): Likewise.
5241         (gomp_exit_data): Do nothing if device is finalized.
5242         (gomp_target_task_fn): Go to host fallback if device is finalized.
5243         (gomp_target_fini): New static function.
5244         (gomp_target_init): Use state instead of is_initialized.
5245         Call gomp_target_fini at exit.
5246
5247 2015-12-09  Tom de Vries  <tom@codesourcery.com>
5248
5249         PR tree-optimization/68716
5250         * testsuite/libgomp.c/omp-nested-2.c: New test.
5251
5252 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
5253
5254         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5255         target openacc_nvidia_accel_selected.
5256         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5257         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5258         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5259         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5260
5261 2015-12-01  Julian Brown  <julian@codesourcery.com>
5262             James Norris  <James_Norris@mentor.com>
5263
5264         * oacc-parallel.c (GOACC_host_data): New function.
5265         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5266         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5267         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5268         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5269         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5270         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5271         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5272
5273 2015-11-30  James Norris  <jnorris@codesourcery.com>
5274             Cesar Philippidis  <cesar@codesourcery.com>
5275
5276         libgomp/
5277         * libgomp.oacc-fortran/routine-5.f90: New test.
5278         * libgomp.oacc-fortran/routine-7.f90: New test.
5279         * libgomp.oacc-fortran/routine-9.f90: New test.
5280
5281 2015-11-30  Tom de Vries  <tom@codesourcery.com>
5282
5283         PR tree-optimization/46032
5284         * testsuite/libgomp.c/pr46032.c: New test.
5285
5286 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
5287
5288         PR libgomp/68579
5289         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5290         (gomp_create_target_task): Call it before freeing
5291         GOMP_TARGET_TASK_DATA tasks.
5292
5293         PR c/63326
5294         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5295         in between case label and OpenMP standalone directives.
5296         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5297
5298 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
5299
5300         * configure: Regenerate.
5301
5302 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
5303
5304         * testsuite/libgomp.c/target-35.c: New test.
5305
5306 2015-11-22  James Norris  <jnorris@codesourcery.com>
5307             Cesar Philippidis  <cesar@codesourcery.com>
5308
5309         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5310         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5311         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5312         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5313         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5314
5315 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
5316
5317         PR middle-end/68221
5318         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5319         * testsuite/libgomp.c/reduction-12.c: Likewise.
5320         * testsuite/libgomp.c++/reduction-11.C: Likewise.
5321         * testsuite/libgomp.c++/reduction-12.C: Likewise.
5322
5323 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
5324
5325         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5326         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5327         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5328         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5329         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5330         and fix.
5331         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5332         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5333
5334 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
5335
5336         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5337         worker & gang cases.
5338         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5339
5340 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
5341
5342         * config/nvptx/priority_queue.c: New file.
5343
5344 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
5345
5346         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5347         sections.
5348
5349 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
5350             Aldy Hernandez  <aldyh@redhat.com>
5351             Ilya Verbin  <ilya.verbin@intel.com>
5352
5353         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5354         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5355         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5356         iterators or IV by chunk size.
5357         * parallel.c (gomp_resolve_num_threads): Don't assume that
5358         if thr->ts.team is non-NULL, then pool must be non-NULL.
5359         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5360         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5361         GOMP_PLUGIN_target_task_completion.
5362         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5363         * Makefile.in: Regenerate.
5364         * libgomp.h: Shuffle prototypes and forward definitions around so
5365         priority queues can be defined.
5366         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5367         (enum gomp_target_task_state): New enum.
5368         (struct gomp_target_task): Add state, tgt, task and team fields.
5369         (gomp_create_target_task): Change return type to bool, add
5370         state argument.
5371         (gomp_target_task_fn): Change return type to bool.
5372         (struct gomp_device_descr): Add async_run_func.
5373         (struct gomp_task): Remove children, next_child, prev_child,
5374         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5375         Add pnode field.
5376         (struct gomp_taskgroup): Remove children.
5377         Add taskgroup_queue.
5378         (struct gomp_team): Change task_queue type to a priority queue.
5379         (splay_compare): Define inline.
5380         (priority_queue_offset): New.
5381         (priority_node_to_task): New.
5382         (task_to_priority_node): New.
5383         * oacc-mem.c: Do not include splay-tree.h.
5384         * priority_queue.c: New file.
5385         * priority_queue.h: New file.
5386         * splay-tree.c: Do not include splay-tree.h.
5387         (splay_tree_foreach_internal): New.
5388         (splay_tree_foreach): New.
5389         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5390         (splay_tree_callback): Define typedef.
5391         * target.c (splay_compare): Move to libgomp.h.
5392         (GOMP_target): Don't adjust *thr in any way around running offloaded
5393         task.
5394         (GOMP_target_ext): Likewise.  Handle target nowait.
5395         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5396         return value from gomp_create_target_task, if false, fallthrough
5397         as if no dependencies exist.
5398         (gomp_target_task_fn): Change return type to bool, return true
5399         if the task should have another part scheduled later.  Handle
5400         target nowait.
5401         (gomp_load_plugin_for_device): Initialize async_run.
5402         * task.c (gomp_init_task): Initialize children_queue.
5403         (gomp_clear_parent_in_list): New.
5404         (gomp_clear_parent_in_tree): New.
5405         (gomp_clear_parent): Handle priorities.
5406         (GOMP_task): Likewise.
5407         (priority_queue_move_task_first,
5408         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5409         New functions.
5410         (gomp_create_target_task): Use priority queues.  Change return type
5411         to bool, add state argument, return false if for async
5412         {{enter,exit} data,update} constructs no dependencies need to be
5413         waited for, handle target nowait.  Set task->fn to NULL instead of
5414         gomp_target_task_fn.
5415         (verify_children_queue): Remove.
5416         (priority_list_upgrade_task): New.
5417         (priority_queue_upgrade_task): New.
5418         (verify_task_queue): Remove.
5419         (priority_list_downgrade_task): New.
5420         (priority_queue_downgrade_task): New.
5421         (gomp_task_run_pre): Use priority queues.
5422         Abstract code out to priority_queue_downgrade_task.
5423         (gomp_task_run_post_handle_dependers): Use priority queues.
5424         (gomp_task_run_post_remove_parent): Likewise.
5425         (gomp_task_run_post_remove_taskgroup): Likewise.
5426         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
5427         tasks specially.
5428         (GOMP_taskwait): Likewise.
5429         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
5430         priority-queue_upgrade_task.
5431         (GOMP_taskgroup_start): Use priority queues.
5432         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
5433         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
5434         barrier.
5435         * taskloop.c (GOMP_taskloop): Handle priorities.
5436         * team.c (gomp_new_team): Call priority_queue_init.
5437         (free_team): Call priority_queue_free.
5438         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5439         team created for target nowait in implicit parallel region.
5440         (gomp_team_start): For nested check, test thr->ts.level instead of
5441         thr->ts.team != NULL.
5442         * testsuite/libgomp.c/doacross-3.c: New test.
5443         * testsuite/libgomp.c/ordered-5.c: New test.
5444         * testsuite/libgomp.c/priority.c: New test.
5445         * testsuite/libgomp.c/target-31.c: New test.
5446         * testsuite/libgomp.c/target-32.c: New test.
5447         * testsuite/libgomp.c/target-33.c: New test.
5448         * testsuite/libgomp.c/target-34.c: New test.
5449
5450 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
5451
5452         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5453
5454         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5455         loop is sequential.
5456
5457 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
5458
5459         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5460         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5461
5462 2015-11-12  James Norris  <jnorris@codesourcery.com>
5463             Joseph Myers  <joseph@codesourcery.com>
5464
5465         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5466         * oacc-parallel.c (GOACC_declare): New function.
5467         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5468         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5469         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5470         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5471         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5472
5473 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
5474
5475         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5476
5477 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
5478
5479         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5480         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5481
5482 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
5483
5484         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5485         inadvertent commit.
5486
5487 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
5488
5489         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5490         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5491         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5492         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5493         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5494
5495 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
5496
5497         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5498         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5499
5500 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
5501             Ilya Verbin  <ilya.verbin@intel.com>
5502
5503         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5504         GOMP_loop_nonmonotonic_dynamic_start,
5505         GOMP_loop_nonmonotonic_guided_next,
5506         GOMP_loop_nonmonotonic_guided_start,
5507         GOMP_loop_ull_nonmonotonic_dynamic_next,
5508         GOMP_loop_ull_nonmonotonic_dynamic_start,
5509         GOMP_loop_ull_nonmonotonic_guided_next,
5510         GOMP_loop_ull_nonmonotonic_guided_start,
5511         GOMP_parallel_loop_nonmonotonic_dynamic,
5512         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5513         (GOMP_target_41): Renamed to ...
5514         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
5515         arguments.
5516         (GOMP_target_data_41): Renamed to ...
5517         (GOMP_target_data_ext): ... this.
5518         (GOMP_target_update_41): Renamed to ...
5519         (GOMP_target_update_ext): ... this.
5520         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5521         GOMP_target_data_ext and GOMP_target_update_ext instead of
5522         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5523         Export GOMP_loop_nonmonotonic_dynamic_next,
5524         GOMP_loop_nonmonotonic_dynamic_start,
5525         GOMP_loop_nonmonotonic_guided_next,
5526         GOMP_loop_nonmonotonic_guided_start,
5527         GOMP_loop_ull_nonmonotonic_dynamic_next,
5528         GOMP_loop_ull_nonmonotonic_dynamic_start,
5529         GOMP_loop_ull_nonmonotonic_guided_next,
5530         GOMP_loop_ull_nonmonotonic_guided_start,
5531         GOMP_parallel_loop_nonmonotonic_dynamic and
5532         GOMP_parallel_loop_nonmonotonic_guided.
5533         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5534         GOMP_parallel_loop_nonmonotonic_guided,
5535         GOMP_loop_nonmonotonic_dynamic_start,
5536         GOMP_loop_nonmonotonic_guided_start,
5537         GOMP_loop_nonmonotonic_dynamic_next,
5538         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5539         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5540         GOMP_loop_ull_nonmonotonic_guided_start,
5541         GOMP_loop_ull_nonmonotonic_dynamic_next,
5542         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5543         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5544         functions.
5545         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
5546         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5547         Use gomp_map_val function.
5548         (gomp_target_fallback_firstprivate): New static function.
5549         (GOMP_target_41): Renamed to ...
5550         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
5551         arguments.  Move firstprivate fallback handling into a new
5552         function.
5553         (GOMP_target_data_41): Renamed to ...
5554         (GOMP_target_data_ext): ... this.
5555         (GOMP_target_update_41): Renamed to ...
5556         (GOMP_target_update_ext): ... this.
5557         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5558         gomp_map_0len_lookup instead of gomp_map_lookup.
5559         (omp_target_is_present): Use gomp_map_0len_lookup instead of
5560         gomp_map_lookup.
5561         * testsuite/libgomp.c/target-28.c: Likewise.
5562         * testsuite/libgomp.c/monotonic-1.c: New test.
5563         * testsuite/libgomp.c/monotonic-2.c: New test.
5564         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5565         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5566         * testsuite/libgomp.c/pr66199-5.c: New test.
5567         * testsuite/libgomp.c/pr66199-6.c: New test.
5568         * testsuite/libgomp.c/pr66199-7.c: New test.
5569         * testsuite/libgomp.c/pr66199-8.c: New test.
5570         * testsuite/libgomp.c/pr66199-9.c: New test.
5571         * testsuite/libgomp.c/reduction-11.c: New test.
5572         * testsuite/libgomp.c/reduction-12.c: New test.
5573         * testsuite/libgomp.c/reduction-13.c: New test.
5574         * testsuite/libgomp.c/reduction-14.c: New test.
5575         * testsuite/libgomp.c/reduction-15.c: New test.
5576         * testsuite/libgomp.c/target-12.c (main): Adjust for
5577         omp_target_is_present change for one-past-last element.
5578         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5579         the same var is both mapped and privatized.
5580         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5581         handling of zero-length array sections.
5582         * testsuite/libgomp.c/target-28.c: New test.
5583         * testsuite/libgomp.c/target-29.c: New test.
5584         * testsuite/libgomp.c/target-30.c: New test.
5585         * testsuite/libgomp.c/target-teams-1.c: New test.
5586         * testsuite/libgomp.c++/member-6.C: New test.
5587         * testsuite/libgomp.c++/member-7.C: New test.
5588         * testsuite/libgomp.c++/monotonic-1.C: New test.
5589         * testsuite/libgomp.c++/monotonic-2.C: New test.
5590         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5591         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5592         * testsuite/libgomp.c++/pr66199-3.C: New test.
5593         * testsuite/libgomp.c++/pr66199-4.C: New test.
5594         * testsuite/libgomp.c++/pr66199-5.C: New test.
5595         * testsuite/libgomp.c++/pr66199-6.C: New test.
5596         * testsuite/libgomp.c++/pr66199-7.C: New test.
5597         * testsuite/libgomp.c++/pr66199-8.C: New test.
5598         * testsuite/libgomp.c++/pr66199-9.C: New test.
5599         * testsuite/libgomp.c++/reduction-11.C: New test.
5600         * testsuite/libgomp.c++/reduction-12.C: New test.
5601         * testsuite/libgomp.c++/target-13.C: New test.
5602         * testsuite/libgomp.c++/target-14.C: New test.
5603         * testsuite/libgomp.c++/target-15.C: New test.
5604         * testsuite/libgomp.c++/target-16.C: New test.
5605         * testsuite/libgomp.c++/target-17.C: New test.
5606         * testsuite/libgomp.c++/target-18.C: New test.
5607         * testsuite/libgomp.c++/target-19.C: New test.
5608
5609 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
5610
5611         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5612         and reduction copy.
5613         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5614         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5615         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5616         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5617         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5618         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5619         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5620         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5621         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5622         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5623         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5624         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5625         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5626         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5627
5628 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
5629
5630         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5631         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5632         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5633         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5634         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5635         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5636         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5637         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5638
5639 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
5640
5641         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5642         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5643         (GOMP_OFFLOAD_openacc_parallel): Likewise.
5644         * oacc-host.c (host_openacc_exec): Likewise.
5645         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5646
5647 2015-11-03  Julian Brown  <julian@codesourcery.com>
5648             Thomas Schwinge  <thomas@codesourcery.com>
5649
5650         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5651         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5652         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5653         Likewise.
5654         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
5655         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
5656
5657 2015-11-03  James Norris  <jnorris@codesourcery.com>
5658
5659         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
5660         file.
5661         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
5662         Likewise.
5663         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
5664         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
5665         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5666         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
5667         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5668
5669 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
5670
5671         * openacc.h (enum acc_device_t): Reformat. Ensure layout
5672         compatibility.
5673         (enum acc_async_t): Reformat.
5674         (acc_on_device): Declare compatible with builtin and provide C++
5675         wrapper.
5676         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
5677
5678 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
5679             Cesar Philippidis  <cesar@codesourcery.com>
5680
5681         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5682         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
5683         ... this.  Add a description of the test at the top of the file.
5684         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
5685         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
5686         ... this.  Add a description of the test at the top of the file.
5687
5688 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
5689
5690         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
5691         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
5692         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
5693         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
5694         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
5695         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
5696
5697 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
5698
5699         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
5700         dimensions.
5701
5702 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
5703
5704         PR testsuite/68063
5705         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
5706
5707 2015-10-27  James Norris  <jnorris@codesourcery.com>
5708
5709         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
5710         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
5711
5712 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
5713
5714         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
5715         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5716
5717         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
5718         acc_device_nvidia usage.
5719         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5720         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5721         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5722
5723         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
5724         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
5725
5726         PR libgomp/66518
5727         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
5728
5729         PR libgomp/65437
5730         PR libgomp/66518
5731         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
5732         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
5733
5734 2015-10-23  Tom de Vries  <tom@codesourcery.com>
5735
5736         PR testsuite/68063
5737         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
5738
5739 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
5740
5741         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
5742         vector_length.
5743         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5744
5745 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
5746             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
5747
5748         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
5749         to 0 when mapnum is 0.
5750
5751 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5752
5753         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
5754         Cast to int from int32_t.
5755
5756 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
5757             Aldy Hernandez  <aldyh@redhat.com>
5758             Ilya Verbin  <ilya.verbin@intel.com>
5759
5760         * config/linux/affinity.c (omp_get_place_num_procs,
5761         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5762         * config/linux/doacross.h: New file.
5763         * config/posix/affinity.c (omp_get_place_num_procs,
5764         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5765         * config/posix/doacross.h: New file.
5766         * env.c: Include gomp-constants.h.
5767         (struct gomp_task_icv): Rename run_sched_modifier to
5768         run_sched_chunk_size.
5769         (gomp_max_task_priority_var): New variable.
5770         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
5771         (handle_omp_display_env): Change _OPENMP value from 201307 to
5772         201511.  Print OMP_MAX_TASK_PRIORITY.
5773         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
5774         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
5775         chunk_size and run_sched_modifier to run_sched_chunk_size.
5776         (omp_get_max_task_priority, omp_get_initial_device,
5777         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
5778         omp_get_partition_place_nums): New functions.
5779         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
5780         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5781         to chunk_size.
5782         (omp_get_num_places_, omp_get_place_num_procs_,
5783         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5784         omp_get_place_proc_ids_8_, omp_get_place_num_,
5785         omp_get_partition_num_places_, omp_get_partition_place_nums_,
5786         omp_get_partition_place_nums_8_, omp_get_initial_device_,
5787         omp_get_max_task_priority_): New functions.
5788         * libgomp_g.h (GOMP_loop_doacross_static_start,
5789         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5790         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5791         GOMP_loop_ull_doacross_dynamic_start,
5792         GOMP_loop_ull_doacross_guided_start,
5793         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5794         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5795         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5796         GOMP_target_data_41, GOMP_target_update_41,
5797         GOMP_target_enter_exit_data): New prototypes.
5798         (GOMP_task): Add prototype argument.
5799         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5800         (struct gomp_doacross_work_share): New type.
5801         (struct gomp_work_share): Add doacross field.
5802         (struct gomp_task_icv): Rename run_sched_modifier to
5803         run_sched_chunk_size.
5804         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5805         GOMP_TASK_UNDEFERRED.  Add comments.
5806         (struct gomp_task_depend_entry): Add comments.
5807         (struct gomp_task): Likewise.
5808         (struct gomp_taskgroup): Likewise.
5809         (struct gomp_target_task): New type.
5810         (struct gomp_team): Add comment.
5811         (gomp_get_place_proc_ids_8, gomp_doacross_init,
5812         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5813         gomp_create_target_task, gomp_target_task_fn): New prototypes.
5814         (struct target_var_desc): New type.
5815         (struct target_mem_desc): Adjust comment.  Use struct
5816         target_var_desc instead of splay_tree_key for list.
5817         (REFCOUNT_INFINITY): Define.
5818         (struct splay_tree_key_s): Remove copy_from field.
5819         (struct gomp_device_descr): Add dev2dev_func field.
5820         (enum gomp_map_vars_kind): New enum.
5821         (gomp_map_vars): Add one argument.
5822         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5823         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5824         omp_get_place_num_procs, omp_get_place_num_procs_,
5825         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5826         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5827         omp_get_place_num_, omp_get_partition_num_places,
5828         omp_get_partition_num_places_, omp_get_partition_place_nums,
5829         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5830         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5831         omp_target_free, omp_target_is_present, omp_target_memcpy,
5832         omp_target_memcpy_rect, omp_target_associate_ptr and
5833         omp_target_disassociate_ptr.
5834         (GOMP_4.0.2): Renamed to ...
5835         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
5836         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5837         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5838         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5839         GOMP_loop_doacross_static_start, GOMP_doacross_post,
5840         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5841         GOMP_loop_ull_doacross_guided_start,
5842         GOMP_loop_ull_doacross_runtime_start,
5843         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5844         GOMP_doacross_ull_wait.
5845         * libgomp.texi: Document omp_get_max_task_priority.
5846         Rename modifier argument to chunk_size for omp_set_schedule and
5847         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
5848         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5849         to run_sched_chunk_size renaming.
5850         (GOMP_loop_ordered_runtime_start): Likewise.
5851         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5852         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5853         GOMP_parallel_loop_runtime_start): New functions.
5854         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5855         to run_sched_chunk_size renaming.
5856         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5857         GOMP_loop_doacross_guided_start): New functions or aliases.
5858         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5859         run_sched_modifier to run_sched_chunk_size renaming.
5860         (GOMP_loop_ull_ordered_runtime_start): Likewise.
5861         (gomp_loop_ull_doacross_static_start,
5862         gomp_loop_ull_doacross_dynamic_start,
5863         gomp_loop_ull_doacross_guided_start,
5864         GOMP_loop_ull_doacross_runtime_start): New functions.
5865         (GOMP_loop_ull_doacross_static_start,
5866         GOMP_loop_ull_doacross_dynamic_start,
5867         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5868         * oacc-mem.c (acc_map_data, present_create_copy,
5869         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5870         to gomp_map_vars.
5871         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5872         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5873         instead of false to gomp_map_vars.
5874         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
5875         * omp.h.in (omp_lock_hint_t): New type.
5876         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5877         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5878         omp_get_place_num, omp_get_partition_num_places,
5879         omp_get_partition_place_nums, omp_get_initial_device,
5880         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5881         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5882         omp_target_associate_ptr, omp_target_disassociate_ptr): New
5883         prototypes.
5884         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5885         (omp_lock_hint_none, omp_lock_hint_uncontended,
5886         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5887         omp_lock_hint_speculative): New parameters.
5888         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5889         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5890         omp_get_place_num, omp_get_partition_num_places,
5891         omp_get_partition_place_nums, omp_get_initial_device,
5892         omp_get_max_task_priority): New interfaces.
5893         (omp_set_schedule, omp_get_schedule): Rename modifier argument
5894         to chunk_size.
5895         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5896         (omp_lock_hint_none, omp_lock_hint_uncontended,
5897         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5898         omp_lock_hint_speculative): New parameters.
5899         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5900         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5901         omp_get_place_num, omp_get_partition_num_places,
5902         omp_get_partition_place_nums, omp_get_initial_device,
5903         omp_get_max_task_priority): New functions and subroutines.
5904         * ordered.c: Include stdarg.h and string.h.
5905         (MAX_COLLAPSED_BITS): Define.
5906         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5907         gomp_doacross_ull_init, GOMP_doacross_ull_post,
5908         GOMP_doacross_ull_wait): New functions.
5909         * target.c: Include errno.h.
5910         (resolve_device): If device is not initialized, call
5911         gomp_init_device on it.
5912         (gomp_map_lookup): New function.
5913         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5914         Don't bump refcount if REFCOUNT_INFINITY.  Handle
5915         GOMP_MAP_ALWAYS_TO_P.
5916         (get_kind): Rename is_openacc argument to short_mapkind.
5917         (gomp_map_pointer): Use gomp_map_lookup.
5918         (gomp_map_fields_existing): New function.
5919         (gomp_map_vars): Rename is_openacc argument to short_mapkind
5920         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
5921         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5922         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5923         Adjust for tgt->list changed type and copy_from living in there.
5924         (gomp_copy_from_async): Adjust for tgt->list changed type and
5925         copy_from living in there.
5926         (gomp_unmap_vars): Likewise.
5927         (gomp_update): Likewise.  Rename is_openacc argument to
5928         short_mapkind.  Don't fail if object is not mapped.
5929         (gomp_load_image_to_device): Initialize refcount to
5930         REFCOUNT_INFINITY.
5931         (gomp_target_fallback): New function.
5932         (gomp_get_target_fn_addr): Likewise.
5933         (GOMP_target): Adjust gomp_map_vars caller, use
5934         gomp_get_target_fn_addr and gomp_target_fallback.
5935         (GOMP_target_41): New function.
5936         (gomp_target_data_fallback): New function.
5937         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5938         (GOMP_target_data_41): New function.
5939         (GOMP_target_update): Adjust gomp_update caller.
5940         (GOMP_target_update_41): New function.
5941         (gomp_exit_data, GOMP_target_enter_exit_data,
5942         gomp_target_task_fn, omp_target_alloc, omp_target_free,
5943         omp_target_is_present, omp_target_memcpy,
5944         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5945         omp_target_associate_ptr, omp_target_disassociate_ptr,
5946         gomp_load_plugin_for_device): New functions.
5947         * task.c: Include gomp-constants.h.  Include taskloop.c
5948         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5949         (gomp_task_handle_depend): New function.
5950         (GOMP_task): Use it.  Add priority argument.  Use
5951         gomp-constant.h constants instead of hardcoded numbers.
5952         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5953         (gomp_create_target_task): New function.
5954         (verify_children_queue, verify_taskgroup_queue,
5955         verify_task_queue): New functions.
5956         (gomp_task_run_pre): Call verify_*_queue functions.
5957         If an upcoming tied task is about to leave the sibling or
5958         taskgroup queues in an invalid state, adjust appropriately.
5959         Remove taskgroup argument.  Add comments.
5960         (gomp_task_run_post_handle_dependers): Add comments.
5961         (gomp_task_run_post_remove_parent): Likewise.
5962         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5963         (GOMP_taskwait): Likewise.  Add comments.
5964         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5965         problem such that the first non parent_depends_on task does not
5966         end up at the end of the children queue.
5967         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5968         GOMP_TASK_UNDEFERRED.
5969         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5970         * taskloop.c: New file.
5971         * testsuite/lib/libgomp.exp
5972         (check_effective_target_offload_device_nonshared_as): New proc.
5973         * testsuite/libgomp.c/affinity-2.c: New test.
5974         * testsuite/libgomp.c/doacross-1.c: New test.
5975         * testsuite/libgomp.c/doacross-2.c: New test.
5976         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5977         Add map clause to target.
5978         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5979         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5980         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5981         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5982         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5983         Likewise.
5984         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5985         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5986         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5987         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5988         not defined.  Use those where needed.
5989         * testsuite/libgomp.c/for-4.c: New test.
5990         * testsuite/libgomp.c/for-5.c: New test.
5991         * testsuite/libgomp.c/for-6.c: New test.
5992         * testsuite/libgomp.c/linear-1.c: New test.
5993         * testsuite/libgomp.c/ordered-4.c: New test.
5994         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5995         only allowed on the loop iterator.
5996         * testsuite/libgomp.c/pr66199-3.c: New test.
5997         * testsuite/libgomp.c/pr66199-4.c: New test.
5998         * testsuite/libgomp.c/reduction-7.c: New test.
5999         * testsuite/libgomp.c/reduction-8.c: New test.
6000         * testsuite/libgomp.c/reduction-9.c: New test.
6001         * testsuite/libgomp.c/reduction-10.c: New test.
6002         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6003         map(tofrom:s).
6004         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6005         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6006         * testsuite/libgomp.c/target-11.c: New test.
6007         * testsuite/libgomp.c/target-12.c: New test.
6008         * testsuite/libgomp.c/target-13.c: New test.
6009         * testsuite/libgomp.c/target-14.c: New test.
6010         * testsuite/libgomp.c/target-15.c: New test.
6011         * testsuite/libgomp.c/target-16.c: New test.
6012         * testsuite/libgomp.c/target-17.c: New test.
6013         * testsuite/libgomp.c/target-18.c: New test.
6014         * testsuite/libgomp.c/target-19.c: New test.
6015         * testsuite/libgomp.c/target-20.c: New test.
6016         * testsuite/libgomp.c/target-21.c: New test.
6017         * testsuite/libgomp.c/target-22.c: New test.
6018         * testsuite/libgomp.c/target-23.c: New test.
6019         * testsuite/libgomp.c/target-24.c: New test.
6020         * testsuite/libgomp.c/target-25.c: New test.
6021         * testsuite/libgomp.c/target-26.c: New test.
6022         * testsuite/libgomp.c/target-27.c: New test.
6023         * testsuite/libgomp.c/taskloop-1.c: New test.
6024         * testsuite/libgomp.c/taskloop-2.c: New test.
6025         * testsuite/libgomp.c/taskloop-3.c: New test.
6026         * testsuite/libgomp.c/taskloop-4.c: New test.
6027         * testsuite/libgomp.c++/ctor-13.C: New test.
6028         * testsuite/libgomp.c++/doacross-1.C: New test.
6029         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6030         Replace offload_device with offload_device_nonshared_as.
6031         * testsuite/libgomp.c++/for-12.C: New test.
6032         * testsuite/libgomp.c++/for-13.C: New test.
6033         * testsuite/libgomp.c++/for-14.C: New test.
6034         * testsuite/libgomp.c++/linear-1.C: New test.
6035         * testsuite/libgomp.c++/member-1.C: New test.
6036         * testsuite/libgomp.c++/member-2.C: New test.
6037         * testsuite/libgomp.c++/member-3.C: New test.
6038         * testsuite/libgomp.c++/member-4.C: New test.
6039         * testsuite/libgomp.c++/member-5.C: New test.
6040         * testsuite/libgomp.c++/ordered-1.C: New test.
6041         * testsuite/libgomp.c++/reduction-5.C: New test.
6042         * testsuite/libgomp.c++/reduction-6.C: New test.
6043         * testsuite/libgomp.c++/reduction-7.C: New test.
6044         * testsuite/libgomp.c++/reduction-8.C: New test.
6045         * testsuite/libgomp.c++/reduction-9.C: New test.
6046         * testsuite/libgomp.c++/reduction-10.C: New test.
6047         * testsuite/libgomp.c++/reference-1.C: New test.
6048         * testsuite/libgomp.c++/simd14.C: New test.
6049         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6050         * testsuite/libgomp.c++/target-5.C: New test.
6051         * testsuite/libgomp.c++/target-6.C: New test.
6052         * testsuite/libgomp.c++/target-7.C: New test.
6053         * testsuite/libgomp.c++/target-8.C: New test.
6054         * testsuite/libgomp.c++/target-9.C: New test.
6055         * testsuite/libgomp.c++/target-10.C: New test.
6056         * testsuite/libgomp.c++/target-11.C: New test.
6057         * testsuite/libgomp.c++/target-12.C: New test.
6058         * testsuite/libgomp.c++/taskloop-1.C: New test.
6059         * testsuite/libgomp.c++/taskloop-2.C: New test.
6060         * testsuite/libgomp.c++/taskloop-3.C: New test.
6061         * testsuite/libgomp.c++/taskloop-4.C: New test.
6062         * testsuite/libgomp.c++/taskloop-5.C: New test.
6063         * testsuite/libgomp.c++/taskloop-6.C: New test.
6064         * testsuite/libgomp.c++/taskloop-7.C: New test.
6065         * testsuite/libgomp.c++/taskloop-8.C: New test.
6066         * testsuite/libgomp.c++/taskloop-9.C: New test.
6067         * testsuite/libgomp.fortran/affinity1.f90: New test.
6068         * testsuite/libgomp.fortran/affinity2.f90: New test.
6069
6070 2015-10-13  Tom de Vries  <tom@codesourcery.com>
6071
6072         PR tree-optimization/67476
6073         * testsuite/libgomp.c/autopar-3.c: New test.
6074         * testsuite/libgomp.c/autopar-4.c: New test.
6075         * testsuite/libgomp.c/autopar-5.c: New test.
6076         * testsuite/libgomp.c/autopar-6.c: New test.
6077         * testsuite/libgomp.c/autopar-7.c: New test.
6078         * testsuite/libgomp.c/autopar-8.c: New test.
6079
6080 2015-10-12  James Norris  <jnorris@codesourcery.com>
6081
6082         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6083         initializer.
6084
6085 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
6086
6087         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6088         using load_gcc_lib.
6089
6090 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
6091
6092         * oacc-ptx.h: Remove file, moving its content into...
6093         * config/nvptx/fortran.c: ... here...
6094         * config/nvptx/oacc-init.c: ..., here...
6095         * config/nvptx/oacc-parallel.c: ..., and here.
6096         * config/nvptx/openacc.f90: New file.
6097         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6098         (link_ptx): Don't link in predefined bits of PTX code.
6099
6100 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
6101             Bernd Schmidt <bernds@codesourcery.com>
6102
6103         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6104         (struct targ_ptx_obj): New.
6105         (nvptx_tdata): Move earlier, change data format.
6106         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
6107         objects.
6108         (GOMP_OFFLOAD_load_image): Adjust.
6109
6110 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
6111
6112         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6113         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6114         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6115         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6116         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6117         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6118         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6119         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6120         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6121         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6122         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6123         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6124         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6125         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6126         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6127         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6128         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6129         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6130         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6131         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6132         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6133         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6134         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6135         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6136         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6137         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6138         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6139         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6140         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6141         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6142         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6143         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6144         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6145         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6146         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6147         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6148         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6149         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6150         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6151         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6152         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6153         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6154         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6155         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6156         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6157         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6158         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6159         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6160         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6161         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6162         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6163         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6164         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6165         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6166         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6167         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6168         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6169         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6170         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6171         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6172         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6173         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6174         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6175
6176 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
6177
6178         * oacc-init.c (acc_on_device): Force optimization level.
6179
6180 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
6181
6182         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6183         (cuda_errlist): Delete.
6184         (cuda_error): Reimplement.
6185
6186 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
6187
6188         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6189         array.
6190         * libgomp.map (GOACC_parallel_keyed): New.
6191         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
6192         all callers.
6193         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
6194         and take keyed varargs list.  Adjust call to exec_func.
6195         (GOACC_parallel): Force host fallback.
6196         * libgomp_g.h (GOACC_parallel): Remove.
6197         (GOACC_parallel_keyed): Declare.
6198         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
6199         (stuct targ_gn_descriptor): Replace name field with launch field.
6200         (nvptx_exec): Lose separate geometry args, take array.  Process
6201         dynamic dimensions and adjust.
6202         (struct nvptx_tdata): Replace fn_names field with fn_descs.
6203         (GOMP_OFFLOAD_load_image): Adjust for change in function table
6204         data.
6205         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6206         passing.
6207         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6208         passing.
6209
6210 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
6211
6212         PR libgomp/67141
6213         * oacc-int.h (goacc_host_init): Add declaration.
6214         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6215         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6216
6217 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
6218             Sebastian Pop  <s.pop@samsung.com>
6219
6220         * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
6221         match o/p.
6222         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6223         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6224         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6225         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6226         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6227
6228 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
6229
6230         * configure.tgt: Add missing ;; in between nvptx and rtems
6231         snippets.
6232
6233 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6234
6235         * config/posix/pool.h (gomp_adjust_thread_attr): New.
6236         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6237         (gomp_thread_pool_reservoir): Add priority member.
6238         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6239         priority.
6240         (parse_thread_pools): Likewise.
6241         * team.c (gomp_team_start): Call configuration provided
6242         gomp_adjust_thread_attr(). Destroy thread attributes if
6243         necessary.
6244         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6245
6246 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6247
6248         * config/posix/pool.h: New.
6249         * config/rtems/pool.h: Likewise.
6250         * config/rtems/proc.c: Likewise.
6251         * libgomp.h (gomp_thread_destructor): Declare.
6252         * team.c: Include configuration provided "pool.h".
6253         (gomp_get_thread_pool): Define in configuration.
6254         (gomp_team_end): Call configuration defined
6255         gomp_release_thread_pool().
6256
6257 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6258
6259         * config/rtems/bar.c: New.
6260         * config/rtems/bar.h: Likewise.
6261         * config/rtems/mutex.c: Likewise.
6262         * config/rtems/mutex.h: Likewise.
6263         * config/rtems/sem.c: Likewise.
6264         * config/rtems/sem.h: Likewise.
6265         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6266         <sys/lock.h> header file.
6267         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6268         supported by Newlib.
6269         * configure: Regenerate.
6270
6271 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6272
6273         * team.c (gomp_new_thread_pool): Delete and move content to ...
6274         (gomp_get_thread_pool): ... new function.  Allocate and
6275         initialize thread pool on demand.
6276         (get_last_team): Use gomp_get_thread_pool().
6277         (gomp_team_start): Delete thread pool initialization.
6278
6279 2015-09-03  Tom de Vries  <tom@codesourcery.com>
6280
6281         PR tree-optimization/65637
6282         * testsuite/libgomp.c/autopar-2.c: New test.
6283
6284 2015-08-29  Tom de Vries  <tom@codesourcery.com>
6285
6286         PR tree-optimization/46193
6287         * testsuite/libgomp.c/pr46193.c: New test.
6288
6289 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
6290
6291         libgomp/
6292         * libgomp.map: Add 4.0.2 version.
6293         * target.c (offload_image_descr): Add version field.
6294         (gomp_load_image_to_device): Add version argument.  Adjust plugin
6295         call.  Improve load mismatch diagnostic.
6296         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
6297         call.
6298         (GOMP_offload_regster): Make stub function, move bulk to ...
6299         (GOMP_offload_register_ver): ... here.  Process version argument.
6300         (GOMP_offload_unregister): Make stub function, move bulk to ...
6301         (GOMP_offload_unregister_ver): ... here.  Process version argument.
6302         (gomp_init_device): Process version field.
6303         (gomp_unload_device): Process version field.
6304         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6305         macros.  Check plugin version.
6306         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
6307         loader and unloader types.
6308         * oacc-host.c: Include gomp-constants.h.
6309         (host_version): New.
6310         (host_load_image, host_unload_image): Adjust.
6311         (host_dispatch): Add host_version.
6312         * plugin/plugin-nvptx.c: Include gomp-constants.h.
6313         (GOMP_OFFLOAD_version): New.
6314         (GOMP_OFFLOAD_load_image): Add version arg and check it.
6315         (GOMP_OFFLOAD_unload_image): Likewise.
6316         * plugin/plugin-host.c: Include gomp-constants.h.
6317         (GOMP_OFFLOAD_version): New.
6318         (GOMP_OFFLOAD_load_image): Add version arg.
6319         (GOMP_OFFLOAD_unload_image): Likewise.
6320
6321 2015-08-24  Tom de Vries  <tom@codesourcery.com>
6322
6323         PR tree-optimization/65468
6324         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6325
6326 2015-08-24  Tom de Vries  <tom@codesourcery.com>
6327
6328         PR tree-optimization/65468
6329         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6330
6331 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
6332
6333         PR libgomp/66761
6334         PR libgomp/67303
6335         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6336         (gomp_iter_guided_next): Idem.
6337         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6338         (gomp_iter_ull_guided_next): Idem.
6339         * config/linux/wait.h (do_spin): Idem.
6340
6341 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
6342
6343         * libgomp-plugin.h (enum offload_target_type): Remove
6344         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6345         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6346         * openacc.h (enum acc_device_t): Likewise.
6347         * openacc_lib.h: Likewise.
6348         * oacc-init.c (name_of_acc_device_t): Don't handle it.
6349         (acc_on_device): Just use __builtin_acc_on_device.
6350         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6351         of acc_on_device builtin.
6352         * plugin/plugin-host.h: Remove file.
6353         * plugin/plugin-host.c: Likewise, but salvage some content into...
6354         * oacc-host.c: ... this file.
6355         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6356         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6357         * Makefile.in: Regenerate.
6358         * configure: Likewise.
6359         * testsuite/lib/libgomp.exp
6360         (check_effective_target_openacc_host_nonshm_selected): Remove.
6361         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6362         ACC_DEVICE_TYPE=host_nonshm.
6363         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6364         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6365         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6366         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6367         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6368         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6369
6370 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
6371             Jakub Jelinek  <jakub@redhat.com>
6372
6373         * config/nvptx/affinity.c: New file.
6374         * config/nvptx/alloc.c: Likewise.
6375         * config/nvptx/bar.c: Likewise.
6376         * config/nvptx/barrier.c: Likewise.
6377         * config/nvptx/critical.c: Likewise.
6378         * config/nvptx/env.c: Likewise.
6379         * config/nvptx/error.c: Likewise.
6380         * config/nvptx/fortran.c: Likewise.
6381         * config/nvptx/iter.c: Likewise.
6382         * config/nvptx/iter_ull.c: Likewise.
6383         * config/nvptx/libgomp-plugin.c: Likewise.
6384         * config/nvptx/lock.c: Likewise.
6385         * config/nvptx/loop.c: Likewise.
6386         * config/nvptx/loop_ull.c: Likewise.
6387         * config/nvptx/mutex.c: Likewise.
6388         * config/nvptx/oacc-async.c: Likewise.
6389         * config/nvptx/oacc-cuda.c: Likewise.
6390         * config/nvptx/oacc-host.c: Likewise.
6391         * config/nvptx/oacc-init.c: Likewise.
6392         * config/nvptx/oacc-mem.c: Likewise.
6393         * config/nvptx/oacc-parallel.c: Likewise.
6394         * config/nvptx/oacc-plugin.c: Likewise.
6395         * config/nvptx/omp-lock.h: Likewise.
6396         * config/nvptx/ordered.c: Likewise.
6397         * config/nvptx/parallel.c: Likewise.
6398         * config/nvptx/proc.c: Likewise.
6399         * config/nvptx/ptrlock.c: Likewise.
6400         * config/nvptx/sections.c: Likewise.
6401         * config/nvptx/sem.c: Likewise.
6402         * config/nvptx/single.c: Likewise.
6403         * config/nvptx/splay-tree.c: Likewise.
6404         * config/nvptx/target.c: Likewise.
6405         * config/nvptx/task.c: Likewise.
6406         * config/nvptx/team.c: Likewise.
6407         * config/nvptx/time.c: Likewise.
6408         * config/nvptx/work.c: Likewise.
6409         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6410         * configure: Regenerate.
6411         * configure.tgt (config_path): Set to "nvptx" for target
6412         nvptx*-*-*.
6413
6414 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
6415
6416         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6417
6418 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
6419
6420         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6421         (cuda_errlist): Constify.
6422         (errmsg):  Move into ...
6423         (cuda_error): ... here.  Make smaller.
6424         (_XSTR, _STR): Delete.
6425         (cuda_synames): Delete.
6426         (verify_device_library): Delete.
6427         (nvptx_init): Don't call it.
6428
6429 2015-07-28  Tom de Vries  <tom@codesourcery.com>
6430
6431         * testsuite/libgomp.c/uns-outer-4.c: New test.
6432
6433 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
6434
6435         * testsuite/libgomp.c/pr66714.c: New test.
6436
6437 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
6438
6439         PR libgomp/66950
6440         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6441         (fib_ref): New function.
6442         (fib): Correct corner cases in the recursion.
6443         (main): Replace the non-simd loop with fib_ref call.
6444         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6445         subroutine.
6446         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
6447         for the last array element value.  Replace the non-simd loop with
6448         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
6449         of the last array element with according Fibonacci sequence element.
6450         (fib): Correct corner cases in the recursion.
6451
6452 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
6453
6454         * target.c (gomp_offload_image_to_device): Rename to ...
6455         (gomp_load_image_to_device): ... here.
6456         (GOMP_offload_register): Adjust call.
6457         (gomp_init_device): Likewise.
6458         (gomp_unload_image_from_device): New.  Broken out of ...
6459         (GOMP_offload_unregister): ... here.  Call it.
6460         (gomp_unload_device): New.
6461         * libgomp.h (gomp_unload_device): Declare.
6462         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6463         mem maps.
6464
6465 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
6466
6467         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6468         wait=-specific if.
6469         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6470         !=0 condition.
6471         (goacc_waits): Move !num_waits handling to ...
6472         (GOACC_wait): ... here, the only caller that might have zero waits.
6473
6474         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6475         (struct ptx_image_data): Move earlier, add fns field.
6476         (struct ptx_device): Add images and image_lock fields.
6477         (ptx_images, ptx_image_lock): Delete.
6478         (nvptx_open_device): Initialize images and image_lock fields.
6479         (nvptx_close_device): Destroy image_lock.
6480         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6481         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6482         fields.
6483
6484 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
6485
6486         * target.c (GOMP_offload_register): Use int for device type arg.
6487         (GOMP_offload_unregister): Likewise.
6488
6489         * target.c (struct_offload_image_descr): Constify host_table.
6490         (gomp_offload_image_to_device): Likewise.
6491         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6492
6493         * libgomp.h (gomp_device_descr): Constify target data arguments.
6494         * target.c (struct offload_image_descr): Constify target_data.
6495         (gomp_offload_image_to_device): Likewise.
6496         (GOMP_offload_register): Likewise.
6497         (GOMP_offload_unrefister): Likewise.
6498         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6499         GOMP_OFFLOAD_unload_image): Constify target data.
6500         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6501         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6502
6503 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
6504
6505         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6506         Workaround driver library const error.
6507         (struct nvptx_tdata, nvptx_tdata_t): New.
6508         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6509         type.
6510
6511 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
6512
6513         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6514         of EPS parameter from integer to real.
6515         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6516         type of EPS parameter from integer to real.
6517
6518 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6519
6520         * team.c (get_last_team): New.
6521         (gomp_new_team): Recycle last non-nested team if possible.
6522         (gomp_team_end): Move team work share list free lock destruction
6523         to ...
6524         (free_team): ... here.
6525
6526 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
6527
6528         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6529         and ref from int to double.  Replaced their comparison with
6530         an inequality of their difference and EPS.
6531         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6532         comparison of pri and a reference number with an inequality of their
6533         difference and EPS.
6534         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6535         the comparison of sum and sum_ref with an inequality of their
6536         difference and EPS.
6537         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6538         the comparison of pri and a reference number with an inequality of
6539         their difference and EPS.
6540
6541 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
6542
6543         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6544         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6545         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6546         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6547         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6548         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6549         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6550         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6551         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6552         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6553         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6554         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6555         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6556         variables.
6557         (vec_mult): Likewise.  Add #pragma omp taskwait.
6558         (main): Adjust caller.
6559         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6560         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6561         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6562         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6563         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6564         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6565         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6566         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6567         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6568         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6569         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6570         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6571         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6572         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6573         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6574         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6575         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6576         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6577         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6578         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6579         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6580         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6581         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6582         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6583         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6584         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6585         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6586         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6587         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6588         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6589         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6590         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6591         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6592         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6593         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6594         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6595         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6596         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6597         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6598         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6599         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6600         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6601         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6602         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6603         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6604         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6605         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6606         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6607         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6608         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6609         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6610         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6611         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6612         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6613         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6614         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6615         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6616         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6617         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6618         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6619         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6620         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6621         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6622         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6623         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6624         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6625         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6626         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6627         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6628         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6629         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6630         (vec_mult): Add !$omp taskwait.
6631         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6632         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6633         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6634         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6635         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6636         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6637         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6638         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6639         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6640         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6641         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6642         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6643         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6644         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6645         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6646         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6647         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6648         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6649         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6650         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6651         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6652         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6653         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
6654         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
6655         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
6656         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
6657         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
6658         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
6659         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
6660         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
6661         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
6662         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
6663         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
6664         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
6665         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
6666         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
6667         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
6668         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
6669         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
6670         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
6671         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
6672         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
6673         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
6674         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
6675         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
6676         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
6677         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
6678         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
6679         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
6680         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
6681         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
6682         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
6683         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
6684         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
6685         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
6686         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
6687         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
6688         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
6689         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
6690         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
6691         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
6692         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
6693         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
6694         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
6695         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
6696         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
6697         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
6698
6699 2015-07-10  Tom de Vries  <tom@codesourcery.com>
6700
6701         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
6702         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
6703
6704 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
6705
6706         PR libgomp/65099
6707         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
6708         in a 64-bit configuration.
6709         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
6710         offloading testing if no such device is available.
6711         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6712         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6713
6714 2015-07-08  Tom de Vries  <tom@codesourcery.com>
6715
6716         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
6717         second call to f.
6718         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6719
6720 2015-07-07  Tom de Vries  <tom@codesourcery.com>
6721
6722         PR tree-optimization/66642
6723         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
6724         iteration count case.
6725         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
6726         function, factor out of ...
6727         (main): ... here.  Test low iteration count case.
6728
6729 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6730
6731         * libgomp.h (gomp_thread_pool): Comment last_team field.
6732
6733 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
6734
6735         * testsuite/libgomp.c++/pr66702-1.C: Require
6736         vect_simd_clones effective target.
6737         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
6738
6739 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6740
6741         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6742         already set.  Use DEFAULT_CFLAGS in dg-runtest.
6743         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
6744         "-O2".
6745
6746 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6747
6748         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6749         already set.  Use DEFAULT_CFLAGS in dg-runtest.
6750         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
6751         * testsuite/libgomp.c++/pr64824.C: Same.
6752         * testsuite/libgomp.c++/pr64868.C: Same.
6753         * testsuite/libgomp.c++/pr66199-1.C: Same.
6754         * testsuite/libgomp.c++/pr66199-2.C: Same.
6755         * testsuite/libgomp.c++/target-2.C: Same.
6756         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
6757         -std=<standard> option.
6758         * testsuite/libgomp.c++/udr-11.C: Same.
6759         * testsuite/libgomp.c++/udr-12.C: Same.
6760         * testsuite/libgomp.c++/udr-13.C: Same.
6761         * testsuite/libgomp.c++/udr-14.C: Same.
6762         * testsuite/libgomp.c++/udr-15.C: Same.
6763         * testsuite/libgomp.c++/udr-16.C: Same.
6764         * testsuite/libgomp.c++/udr-17.C: Same.
6765         * testsuite/libgomp.c++/udr-18.C: Same.
6766         * testsuite/libgomp.c++/udr-19.C: Same.
6767         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
6768         * testsuite/libgomp.c++/simd-1.C: Same.
6769         * testsuite/libgomp.c++/simd-2.C: Same.
6770         * testsuite/libgomp.c++/simd-3.C: Same.
6771         * testsuite/libgomp.c++/simd-4.C: Same.
6772         * testsuite/libgomp.c++/simd-5.C: Same.
6773         * testsuite/libgomp.c++/simd-6.C: Same.
6774         * testsuite/libgomp.c++/simd-7.C: Same.
6775         * testsuite/libgomp.c++/simd-8.C: Same.
6776         * testsuite/libgomp.c++/simd-9.C: Same.
6777         * testsuite/libgomp.c++/simd10.C: Same.
6778         * testsuite/libgomp.c++/simd11.C: Same.
6779         * testsuite/libgomp.c++/simd12.C: Same.
6780         * testsuite/libgomp.c++/simd13.C: Same.
6781
6782 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
6783
6784         PR middle-end/66702
6785         * testsuite/libgomp.c++/pr66702-1.C: New test.
6786         * testsuite/libgomp.c++/pr66702-2.C: New test.
6787
6788 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6789
6790         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6791         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6792         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6793         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6794
6795 2015-06-30  Tom de Vries  <tom@codesourcery.com>
6796
6797         PR tree-optimization/66652
6798         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6799         using restrict pointers.
6800         (main): Add arguments to calls to f.
6801         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6802
6803 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
6804
6805         * configure.ac: Fix check for header <sys/sysctl.h>.
6806         * configure: Regenerate.
6807         * config.h.in: Likewise.
6808
6809 2015-06-23  Tom de Vries  <tom@codesourcery.com>
6810
6811         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6812         abort.
6813         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6814
6815 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
6816
6817         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6818         acc_device_nvidia.
6819
6820         PR libgomp/66518
6821         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6822         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6823
6824 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6825
6826         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
6827         dg-additional-options for any remaining options.
6828         * testsuite/libgomp.c/atomic-2.c: Same.
6829         * testsuite/libgomp.c/atomic-4.c: Same.
6830         * testsuite/libgomp.c/atomic-5.c: Same.
6831         * testsuite/libgomp.c/atomic-6.c: Same.
6832         * testsuite/libgomp.c/autopar-1.c: Same.
6833         * testsuite/libgomp.c/copyin-1.c: Same.
6834         * testsuite/libgomp.c/copyin-2.c: Same.
6835         * testsuite/libgomp.c/copyin-3.c: Same.
6836         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6837         * testsuite/libgomp.c/nestedfn-5.c: Same.
6838         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6839         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6840         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6841         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6842         * testsuite/libgomp.c/pr32362-1.c: Same.
6843         * testsuite/libgomp.c/pr32362-2.c: Same.
6844         * testsuite/libgomp.c/pr32362-3.c: Same.
6845         * testsuite/libgomp.c/pr39591-1.c: Same.
6846         * testsuite/libgomp.c/pr39591-2.c: Same.
6847         * testsuite/libgomp.c/pr39591-3.c: Same.
6848         * testsuite/libgomp.c/pr58392.c: Same.
6849         * testsuite/libgomp.c/pr58756.c: Same.
6850         * testsuite/libgomp.c/simd-1.c: Same.
6851         * testsuite/libgomp.c/simd-10.c: Same.
6852         * testsuite/libgomp.c/simd-11.c: Same.
6853         * testsuite/libgomp.c/simd-12.c: Same.
6854         * testsuite/libgomp.c/simd-13.c: Same.
6855         * testsuite/libgomp.c/simd-14.c: Same.
6856         * testsuite/libgomp.c/simd-15.c: Same.
6857         * testsuite/libgomp.c/simd-2.c: Same.
6858         * testsuite/libgomp.c/simd-3.c: Same.
6859         * testsuite/libgomp.c/simd-4.c: Same.
6860         * testsuite/libgomp.c/simd-5.c: Same.
6861         * testsuite/libgomp.c/simd-6.c: Same.
6862         * testsuite/libgomp.c/simd-7.c: Same.
6863         * testsuite/libgomp.c/simd-8.c: Same.
6864         * testsuite/libgomp.c/simd-9.c: Same.
6865
6866 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6867
6868         * testsuite/libgomp.c/pr35625.c: Fix typo.
6869
6870 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6871
6872         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6873         in dg-options.
6874         * testsuite/libgomp.c/atomic-3.c: Same.
6875         * testsuite/libgomp.c/debug-1.c: Same.
6876         * testsuite/libgomp.c/nqueens-1.c: Same.
6877         * testsuite/libgomp.c/pr26171.c: Same.
6878         * testsuite/libgomp.c/pr48591.c: Same.
6879         * testsuite/libgomp.c/pr64824.c: Same.
6880         * testsuite/libgomp.c/pr64868.c: Same.
6881         * testsuite/libgomp.c/pr66133.c: Same.
6882         * testsuite/libgomp.c/pr66199-1.c: Same.
6883         * testsuite/libgomp.c/pr66199-2.c: Same.
6884         * testsuite/libgomp.c/target-8.c: Same.
6885
6886 2015-06-15  Tom de Vries  <tom@codesourcery.com>
6887
6888         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6889         -std={gnu99,c99}.
6890         * testsuite/libgomp.c/for-1.c: Same.
6891         * testsuite/libgomp.c/for-2.c: Same.
6892         * testsuite/libgomp.c/for-3.c: Same.
6893         * testsuite/libgomp.c/pr35625.c: Same.
6894         * testsuite/libgomp.c/pr39154.c: Same.
6895         * testsuite/libgomp.c/simd-16.c: Same.
6896         * testsuite/libgomp.c/simd-17.c: Same.
6897
6898 2015-06-13  Tom de Vries  <tom@codesourcery.com>
6899
6900         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6901
6902 2015-06-13  Tom de Vries  <tom@codesourcery.com>
6903
6904         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6905         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6906         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6907         (N): Define.
6908         (main): Use N instead of hardcoded constants.
6909
6910 2015-06-05  Tom de Vries  <tom@codesourcery.com>
6911
6912         merge from gomp4 branch:
6913         2015-05-28  Tom de Vries  <tom@codesourcery.com>
6914
6915         PR tree-optimization/65443
6916         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6917         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6918         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6919
6920 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
6921
6922         * testsuite/libgomp.graphite/bounds.c: Adjust for
6923         cleanup-tree-dump removal.
6924         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6925         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6926         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6927         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6928         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6929         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6930         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6931         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6932         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6933         * testsuite/libgomp.graphite/pr41118.c: Likewise.
6934
6935 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
6936
6937         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6938         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6939         (futex_wake) [!__x86_64__]: Ditto.
6940
6941 2015-05-28  Julian Brown  <julian@codesourcery.com>
6942
6943         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6944         function comment. Only call gomp_fatal if new argument is true.
6945         (acc_dev_num_out_of_range): New function.
6946         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6947         acc_dev_num_out_of_range as appropriate.
6948         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6949         (acc_get_device_num, acc_set_device_num): Update calls to
6950         resolve_device.
6951         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6952         output.
6953
6954 2015-05-28  Julian Brown  <julian@codesourcery.com>
6955
6956         PR libgomp/65742
6957         * oacc-init.c (plugin/plugin-host.h): Include.
6958         (acc_on_device): Check whether we're in an offloaded region for
6959         host_nonshm
6960         plugin. Don't use __builtin_acc_on_device.
6961         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6962         nonshm_exec flag in thread-local data.
6963         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6964         data for host_nonshm plugin.
6965         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6966         for host_nonshm plugin.
6967         * plugin/plugin-host.h: New.
6968
6969 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
6970
6971         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6972
6973 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
6974
6975         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6976         Declare as int.
6977         (FUTEX_PRIVATE_FLAG): Remove L suffix.
6978         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6979         Declare as int.
6980
6981 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
6982
6983         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
6984
6985 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
6986
6987         * target.c (gomp_map_pointer): New function abstracting out
6988         GOMP_MAP_POINTER handling.
6989         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6990         gomp_map_pointer().
6991
6992 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
6993
6994         PR middle-end/66199
6995         * testsuite/libgomp.c/pr66199-1.c: New test.
6996         * testsuite/libgomp.c/pr66199-2.c: New test.
6997         * testsuite/libgomp.c++/pr66199-1.C: New test.
6998         * testsuite/libgomp.c++/pr66199-2.C: New test.
6999         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7000         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7001
7002 2015-05-19  Julian Brown  <julian@codesourcery.com>
7003
7004         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7005         on cuInit failure.
7006
7007 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
7008
7009         PR middle-end/66133
7010         * testsuite/libgomp.c/pr66133.c: New test.
7011
7012 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
7013
7014         * Makefile.in: Regenerated with automake-1.11.6.
7015         * aclocal.m4: Likewise.
7016         * config.h.in: Likewise.
7017         * configure: Likewise.
7018         * testsuite/Makefile.in: Likewise.
7019
7020 2015-05-08  Jason Merrill  <jason@redhat.com>
7021
7022         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7023         _Complex.
7024
7025         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7026
7027 2015-05-06  Julian Brown  <julian@codesourcery.com>
7028
7029         * oacc-init.c (acc_device_lock): Add explanatory comment.
7030         (resolve_device): Add comment about locking requirement.
7031         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7032         gomp_init_device and gomp_fini_device calls.
7033         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7034         (acc_get_device_num, acc_set_device_num): Add locking around
7035         resolve_device and gomp_init_device calls.
7036
7037 2015-05-06  Julian Brown  <julian@codesourcery.com>
7038
7039         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7040         goacc_thread_lock on error paths.
7041         * oacc-mem.c (lookup_host): Remove locking from function. Note
7042         locking requirement for caller in function comment.
7043         (lookup_dev): Likewise.
7044         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7045         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7046         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7047         Add locking.
7048
7049 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
7050
7051         PR testsuite/65205
7052         PR libgomp/65993
7053         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7054         don't expect "0x" prefix for "%p" format specifier, don't expect
7055         "(nil)" for NULL pointer.
7056         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7057         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7058         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7059         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7060         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7061         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7062         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7063         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7064         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7065         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7066         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7067         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7068         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7069         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7070         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7071         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7072         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7073         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7074         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7075         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7076         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7077         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7078         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7079         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7080         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7081         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7082         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7083         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7084         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7085         accurately specify what we're looking for.
7086         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7087         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7088         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7089         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7090         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7091
7092 2015-04-30  James Norris  <jnorris@codesourcery.com>
7093
7094         PR testsuite/65205
7095         * testsuite/lib/libgomp.exp
7096         (check_effective_target_openacc_host_selected)
7097         (check_effective_target_openacc_host_nonshm_selected): New
7098         procedures.
7099         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7100         dg-shouldfail.
7101         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7102         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7103         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7104         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7105         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7106         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7107         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7108         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7109         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7110         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7111         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7112         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7113         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7114         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7115         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7116         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7117         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7118         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7119         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7120         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7121         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7122         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7123         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7124         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7125         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7126         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7127         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7128         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7129         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7130         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7131         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7132         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7133         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7134         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7135         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7136         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7137         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7138         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7139         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7140         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7141         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7142         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7143         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7144
7145 2015-04-08  Julian Brown  <julian@codesourcery.com>
7146
7147         * libgomp.h (target_mem_desc: Remove mem_map field.
7148         (acc_dispatch_t): Remove open_device_func, close_device_func,
7149         get_device_num_func, set_device_num_func, target_data members.
7150         Change create_thread_data_func argument to device number instead of
7151         generic pointer.
7152         * oacc-async.c (assert.h): Include.
7153         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7154         (acc_wait_all, acc_wait_all_async): Use current host thread's
7155         active device, not base_dev.
7156         * oacc-cuda.c (acc_get_current_cuda_device)
7157         (acc_get_current_cuda_context, acc_get_cuda_stream)
7158         (acc_set_cuda_stream): Likewise.
7159         * oacc-host.c (host_dispatch): Don't set open_device_func,
7160         close_device_func, get_device_num_func or set_device_num_func.
7161         * oacc-init.c (base_dev, init_key): Remove.
7162         (cached_base_dev): New.
7163         (name_of_acc_device_t): New.
7164         (acc_init_1): Initialise default-numbered device, not zeroth.
7165         (acc_shutdown_1): Close all devices of a given type.
7166         (goacc_destroy_thread): Don't use base_dev.
7167         (lazy_open, lazy_init, lazy_init_and_open): Remove.
7168         (goacc_attach_host_thread_to_device): New.
7169         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7170         (acc_get_num_devices): Don't use base_dev.
7171         (acc_set_device_type): Reimplement.
7172         (acc_get_device_type): Don't use base_dev.
7173         (acc_get_device_num): Tweak logic.
7174         (acc_set_device_num): Likewise.
7175         (acc_on_device): Use acc_get_device_type.
7176         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7177         (goacc_lazy_initialize): Reimplement with acc_init and
7178         goacc_attach_host_thread_to_device.
7179         * oacc-int.h (goacc_thread): Add base_dev field.
7180         (base_dev): Remove extern declaration.
7181         (goacc_attach_host_thread_to_device): Add prototype.
7182         * oacc-mem.c (acc_malloc): Use current thread's device instead of
7183         base_dev.
7184         (acc_free): Likewise.
7185         (acc_memcpy_to_device): Likewise.
7186         (acc_memcpy_from_device): Likewise.
7187         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7188         goacc_lazy_initialize (throughout).
7189         (GOACC_parallel): Use tgt_offset to locate target functions.
7190         * target.c (gomp_map_vars): Don't set tgt->mem_map.
7191         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7192         (gomp_load_plugin_for_device): Remove open_device, close_device,
7193         get_device_num, set_device_num openacc hook initialisation. Don't set
7194         openacc.target_data.
7195         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7196         (GOMP_OFFLOAD_openacc_close_device)
7197         (GOMP_OFFLOAD_openacc_get_device_num)
7198         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7199         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7200         to int.
7201         * plugin/plugin-nvptx.c (ptx_inited): Remove.
7202         (instantiated_devices, ptx_dev_lock): New.
7203         (struct ptx_image_data): New.
7204         (ptx_devices, ptx_images, ptx_image_lock): New.
7205         (fini_streams_for_device): Reorder cuStreamDestroy call.
7206         (nvptx_get_num_devices): Remove forward declaration.
7207         (nvptx_init): Change return type to bool.
7208         (nvptx_fini): Remove.
7209         (nvptx_attach_host_thread_to_device): New.
7210         (nvptx_open_device): Return struct ptx_device* instead of void*.
7211         (nvptx_close_device): Change argument type to struct ptx_device*,
7212         return type to void.
7213         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7214         (kernel_target_data, kernel_host_table): Remove static globals.
7215         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7216         (GOMP_OFFLOAD_init_device): Reimplement.
7217         (GOMP_OFFLOAD_fini_device): Likewise.
7218         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7219         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7220         (GOMP_OFFLOAD_host2dev): Use ORD argument.
7221         (GOMP_OFFLOAD_openacc_open_device)
7222         (GOMP_OFFLOAD_openacc_close_device)
7223         (GOMP_OFFLOAD_openacc_set_device_num)
7224         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7225         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7226         (device number).
7227
7228         testsuite/
7229         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7230
7231 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
7232
7233         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7234         * libgomp.h (struct gomp_memory_mapping): Remove.
7235         (struct target_mem_desc): Change type of mem_map from
7236         gomp_memory_mapping * to splay_tree_s *.
7237         (struct gomp_device_descr): Remove register_image_func, get_table_func.
7238         Add load_image_func, unload_image_func.
7239         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7240         Remove offload_regions_registered.
7241         (gomp_init_tables): Remove.
7242         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7243         to splay_tree_s *.
7244         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7245         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7246         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7247         offload_regions_registered.
7248         Initialize load_image_func, unload_image_func, mem_map.root.
7249         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7250         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7251         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7252         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7253         gomp_memory_mapping *.  Use dev's lock and splay_tree.
7254         (lookup_dev): Use dev's lock.
7255         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7256         (acc_is_present): Likewise.
7257         (acc_map_data): Likewise.
7258         (acc_unmap_data): Likewise.  Use dev's lock.
7259         (present_create_copy): Likewise.
7260         (delete_copyout): Pass dev to lookup_host instead of mem_map.
7261         (update_dev_host): Likewise.
7262         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
7263         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7264         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7265         (GOMP_OFFLOAD_get_table): Remove
7266         (GOMP_OFFLOAD_load_image): New function.
7267         (GOMP_OFFLOAD_unload_image): New function.
7268         * target.c (register_lock): New mutex for offload image registration.
7269         (num_devices): Do not guard with PLUGIN_SUPPORT.
7270         (gomp_realloc_unlock): New static function.
7271         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
7272         before gomp_fatal.
7273         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7274         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
7275         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7276         mem_map's.
7277         (gomp_unmap_vars): Likewise.
7278         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
7279         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
7280         (gomp_offload_image_to_device): New static function.
7281         (GOMP_offload_register): Add mutex lock.
7282         Call gomp_offload_image_to_device for all initialized devices.
7283         Replace gomp_realloc with gomp_realloc_unlock.
7284         (GOMP_offload_unregister): New function.
7285         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
7286         get_table_func from the plugin with calls to init_device_func and
7287         gomp_offload_image_to_device.
7288         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7289         to splay_tree_s *.
7290         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
7291         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
7292         (GOMP_target_data): Do not call gomp_init_tables.
7293         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
7294         (gomp_load_plugin_for_device): Replace register_image and get_table
7295         with load_image and unload_image in DLSYM ().
7296         (gomp_register_images_for_device): Remove function.
7297         (gomp_target_init): Do not initialize current_device.mem_map.*,
7298         current_device.offload_regions_registered.
7299         Remove call to gomp_register_images_for_device.
7300         Do not free offload_images and num_offload_images.
7301
7302 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
7303
7304         PR fortran/65597
7305         * testsuite/libgomp.fortran/pr65597.f90: New test.
7306
7307 2015-03-27  Tom de Vries  <tom@codesourcery.com>
7308
7309         PR testsuite/65594
7310         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7311         (init, check): New function.
7312         (foo): Change return type to void.
7313         (main): Call init and check.
7314
7315 2015-03-27  Tom de Vries  <tom@codesourcery.com>
7316
7317         PR testsuite/65594
7318         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7319         (foo): Use M for non-inner loops to scale down test-case.
7320
7321 2015-03-25  Kai Tietz  <ktietz@redhat.com>
7322
7323         PR libgomp/64972
7324         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7325         (GOACC_data_start): Likewise.
7326         * target.c (gomp_map_vars): Likewise.
7327
7328 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
7329
7330         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7331         hppa*-*-hpux*.
7332
7333 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
7334
7335         * testsuite/libgomp.c/target-10.c: New test.
7336         * testsuite/libgomp.c++/target-4.C: New test.
7337
7338 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
7339
7340         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7341         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7342
7343 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7344
7345         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7346         * configure.ac (*-*-rtems*): Assume Pthread is supported.
7347         (pthread.h): Check for this header file.
7348         * configure: Regenerate.
7349
7350 2015-02-25  Tom de Vries  <tom@codesourcery.com>
7351
7352         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7353         (check_reduction_op, check_reduction_macro, max, min):
7354         Declare.
7355         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7356         function.
7357         (main): Use new functions.
7358
7359 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
7360
7361         * target.c (gomp_load_plugin_for_device): Use const char * instead of
7362         char * for variables holding dlerror return values.
7363         (DLSYM_OPT): Ditto.
7364
7365 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
7366
7367         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7368
7369 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
7370             Cesar Philippidis  <cesar@codesourcery.com>
7371
7372         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7373         GOACC_ctaid, and GOACC_nctaid routines.
7374
7375 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
7376
7377         PR c/64824
7378         * testsuite/libgomp.c/atomic-18.c: New test.
7379         * testsuite/libgomp.c++/atomic-16.C: New test.
7380
7381 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
7382
7383         PR c/64824
7384         PR c/64868
7385         * testsuite/libgomp.c/pr64824.c: New test.
7386         * testsuite/libgomp.c/pr64868.c: New test.
7387         * testsuite/libgomp.c++/pr64824.C: New test.
7388         * testsuite/libgomp.c++/pr64868.C: New test.
7389
7390 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
7391
7392         PR libgomp/64635
7393         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7394         Link with -lpthread.
7395         * config/aix/plugin-suffix.h: Delete.
7396
7397 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
7398
7399         PR libgomp/64635
7400         * configure.tgt (*-*-aix*): Use config_path "aix posix".
7401         (*-*-darwin*): Use config_path "bsd darwin posix".
7402         (*-*-hpux*): Use config_path "hpux posix".
7403         * target.c: Add include of plugin-suffix.h and use
7404         SONAME_SUFFIX macro.
7405         * config/aix/plugin-suffix.h: New file.
7406         * config/darwin/plugin-suffix.h: New file.
7407         * config/hpux/plugin-suffix.h: New file.
7408         * config/posix/plugin-suffix.h: New file.
7409
7410 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
7411
7412         PR middle-end/64734
7413         * libgomp.c/pr64734.c: New test.
7414
7415 2015-01-23  Tom de Vries  <tom@codesourcery.com>
7416
7417         PR libgomp/64672
7418         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7419
7420 2015-01-23  Tom de Vries  <tom@codesourcery.com>
7421
7422         PR libgomp/64707
7423         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7424         dg-options.
7425
7426 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
7427
7428         PR libgomp/64625
7429         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7430         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7431         formal parameter.  Update all users.
7432         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7433         Document unused formal parameter.
7434
7435 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
7436
7437         * oacc-parallel.c: Don't include <alloca.h>.
7438         (GOACC_parallel): Use gomp_alloca instead of alloca.
7439
7440 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
7441
7442         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7443
7444 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
7445             James Norris  <jnorris@codesourcery.com>
7446             Tom de Vries  <tom@codesourcery.com>
7447             Julian Brown  <julian@codesourcery.com>
7448             Cesar Philippidis  <cesar@codesourcery.com>
7449             Nathan Sidwell  <nathan@codesourcery.com>
7450             Tobias Burnus  <burnus@net-b.de>
7451
7452         * Makefile.am (search_path): Add $(top_srcdir)/../include.
7453         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7454         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7455         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7456         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7457         Include $(top_srcdir)/plugin/Makefrag.am.
7458         (nodist_libsubinclude_HEADERS): Add openacc.h.
7459         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7460         openacc.f90, openacc.mod, openacc_kinds.mod.
7461         (omp_lib.mod): Generalize into...
7462         (%.mod): ... this new rule.
7463         (openacc_kinds.mod, openacc.mod): New rules.
7464         * plugin/configfrag.ac: New file.
7465         * configure.ac: Move plugin/offloading support into it.  Include
7466         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
7467         * plugin/Makefrag.am: New file.
7468         * testsuite/Makefile.am (OFFLOAD_TARGETS)
7469         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7470         export.
7471         (libgomp-test-support.exp): New rule.
7472         (all-local): Depend on it.
7473         * Makefile.in: Regenerate.
7474         * testsuite/Makefile.in: Regenerate.
7475         * config.h.in: Likewise.
7476         * configure: Likewise.
7477         * configure.tgt: Harden shell syntax.
7478         * env.c: Include "oacc-int.h".
7479         (parse_acc_device_type): New function.
7480         (gomp_debug_var, goacc_device_type, goacc_device_num): New
7481         variables.
7482         (initialize_env): Initialize those.  Call
7483         goacc_runtime_initialize.
7484         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7485         (gomp_fatal): Call gomp_vfatal.
7486         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7487         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7488         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7489         (splay_tree_node, splay_tree, splay_tree_key)
7490         (struct target_mem_desc, struct splay_tree_key_s)
7491         (struct gomp_memory_mapping, struct acc_dispatch_t)
7492         (struct gomp_device_descr, gomp_acc_insert_pointer)
7493         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7494         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7495         (gomp_free_memmap, gomp_fini_device): New declarations.
7496         (gomp_vdebug, gomp_debug): New macros.
7497         Include "splay-tree.h".
7498         * libgomp.map (OACC_2.0): New symbol version.  Use for
7499         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7500         acc_set_device_type_h_, acc_get_device_type,
7501         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7502         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7503         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7504         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7505         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7506         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7507         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7508         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7509         acc_copyin_array_h_, acc_present_or_copyin,
7510         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7511         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7512         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7513         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7514         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7515         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7516         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7517         acc_update_device, acc_update_device_32_h_,
7518         acc_update_device_64_h_, acc_update_device_array_h_,
7519         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7520         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7521         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7522         acc_is_present_64_h_, acc_is_present_array_h_,
7523         acc_memcpy_to_device, acc_memcpy_from_device,
7524         acc_get_current_cuda_device, acc_get_current_cuda_context,
7525         acc_get_cuda_stream, acc_set_cuda_stream.
7526         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
7527         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7528         GOACC_update, GOACC_wait, GOACC_get_thread_num,
7529         GOACC_get_num_threads.
7530         (GOMP_PLUGIN_1.0): New symbol version.  Use for
7531         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7532         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7533         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7534         GOMP_PLUGIN_acc_thread.
7535         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7536         environment variable.
7537         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7538         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7539         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7540         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7541         (splay_tree_remove): New declarations.
7542         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7543         (splay_tree_remove, splay_tree_lookup): Move into...
7544         * splay-tree.c: ... this new file.
7545         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7546         (splay_tree_node, splay_tree, splay_tree_key)
7547         (struct target_mem_desc, struct splay_tree_key_s)
7548         (struct gomp_device_descr): Don't declare.
7549         (num_devices_openmp): New variable.
7550         (gomp_get_num_devices ): Use it.
7551         (gomp_init_targets_once): New function.
7552         (gomp_get_num_devices ): Use it.
7553         (get_kind, gomp_copy_from_async, gomp_free_memmap)
7554         (gomp_fini_device, gomp_register_image_for_device): New functions.
7555         (gomp_map_vars): Add devaddrs parameter.
7556         (gomp_update): Add mm parameter.
7557         (gomp_init_device): Move most of it into...
7558         (gomp_init_tables): ... this new function.
7559         (gomp_register_images_for_device): Remove function.
7560         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7561         Make them hidden instead of static.
7562         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7563         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7564         (GOMP_target_end_data, GOMP_target_update)
7565         (gomp_load_plugin_for_device, gomp_target_init): Update for
7566         OpenACC changes.
7567         * oacc-async.c: New file.
7568         * oacc-cuda.c: Likewise.
7569         * oacc-host.c: Likewise.
7570         * oacc-init.c: Likewise.
7571         * oacc-int.h: Likewise.
7572         * oacc-mem.c: Likewise.
7573         * oacc-parallel.c: Likewise.
7574         * oacc-plugin.c: Likewise.
7575         * oacc-plugin.h: Likewise.
7576         * oacc-ptx.h: Likewise.
7577         * openacc.f90: Likewise.
7578         * openacc.h: Likewise.
7579         * openacc_lib.h: Likewise.
7580         * plugin/plugin-host.c: Likewise.
7581         * plugin/plugin-nvptx.c: Likewise.
7582         * libgomp-plugin.c: Likewise.
7583         * libgomp-plugin.h: Likewise.
7584         * libgomp_target.h: Remove file after merging content into the
7585         former file.  Update all users.
7586         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7587         (offload_targets_s, offload_targets_s_openacc): New variables.
7588         (check_effective_target_openacc_nvidia_accel_present)
7589         (check_effective_target_openacc_nvidia_accel_selected): New
7590         procedures.
7591         (libgomp_init): Update for OpenACC changes.
7592         * testsuite/libgomp-test-support.exp.in: New file.
7593         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7594         * testsuite/libgomp.oacc-c/c.exp: Likewise.
7595         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7596         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7597         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7598         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7599         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7600         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7601         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7602         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7603         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7604         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7605         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7606         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7607         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7608         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7609         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7610         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7611         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7612         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7613         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7614         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7615         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7616         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7617         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7618         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7619         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7620         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7621         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7622         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7623         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7624         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7625         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7626         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7627         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7628         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7629         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7630         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7631         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7632         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7633         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7634         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7635         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7636         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7637         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7638         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7639         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7640         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7641         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7642         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7643         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7644         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7645         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7646         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7647         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7648         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7649         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7650         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7651         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7652         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7653         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7654         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
7655         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7656         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7657         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7658         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
7659         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
7660         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7661         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7662         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7663         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
7664         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7665         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7666         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7667         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
7668         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
7669         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7670         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7671         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
7672         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
7673         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
7674         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
7675         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7676         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7677         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7678         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
7679         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
7680         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7681         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7682         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
7683         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
7684         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
7685         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
7686         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7687         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7688         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7689         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7690         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
7691         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7692         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7693         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
7694         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
7695         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
7696         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7697         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
7698         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
7699         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
7700         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
7701         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
7702         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7703         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
7704         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7705         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7706         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
7707         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7708         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7709         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
7710         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7711         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
7712         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
7713         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
7714         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
7715         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7716         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
7717         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7718         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
7719         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7720         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
7721         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
7722         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
7723         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
7724         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
7725         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7726         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
7727         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7728         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7729         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7730         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7731         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7732         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
7733         Likewise.
7734         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
7735         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
7736         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
7737         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7738         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
7739         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7740         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7741         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7742         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7743         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7744         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7745         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7746         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7747         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7748         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7749         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7750         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7751         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7752         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7753         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7754         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7755         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7756         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7757         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7758         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7759         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7760         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7761         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7762         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7763         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7764         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7765         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7766         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7767         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7768         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7769         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7770         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7771         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7772         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7773         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7774         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7775         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7776         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7777         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7778         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7779         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7780         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7781         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7782         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7783         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7784         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7785         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7786         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7787         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7788         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7789         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7790         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7791         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7792         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7793         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7794
7795 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
7796             Julian Brown  <julian@codesourcery.com>
7797             David Malcolm  <dmalcolm@redhat.com>
7798
7799         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7800         to "GNU Offloading and Multi Processing Runtime Library".  Change
7801         all users.
7802         * configure: Regenerate.
7803         * libgomp.texi: Update.
7804
7805 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
7806
7807         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7808         "$tgt_dir/lib32".
7809         * configure: Regenerate.
7810
7811         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7812         "intelmic" in $offload_targets.
7813
7814 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
7815
7816         Update copyright years.
7817
7818         * libgomp.texi: Bump @copying's copyright year.
7819
7820 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7821
7822         * testsuite/lib/libgomp.exp: Load target-utils.exp.
7823         Move load of target-supportes.exp earlier.
7824
7825 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
7826
7827         * testsuite/libgomp.c/target-9.c: New test.
7828
7829 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
7830
7831         * config.h.in: Regenerate.
7832         * configure: Regenerate.
7833         * configure.ac: Add GCC_CHECK_EMUTLS.
7834         * libgomp.h: Add check for USE_EMUTLS: this case
7835         is equal to HAVE_TLS.
7836         * team.c: Likewise.
7837
7838 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
7839
7840         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7841
7842 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
7843             Ilya Verbin  <ilya.verbin@intel.com>
7844
7845         * testsuite/libgomp.c/target-critical-1.c: New test.
7846
7847 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
7848
7849         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
7850         to dg-options unless expensive testing is on.
7851         (TESTITERS): Define to N if not defined.
7852         (main): Use TESTITERS instead of N.
7853         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7854         dg-additional-options depending on whether expensive testing is on.
7855         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7856         Decrease N to 100000 and CHUNKSZ to 10000.
7857
7858 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
7859
7860         PR fortran/63938
7861         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7862         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
7863
7864 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
7865
7866         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7867
7868 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
7869
7870         PR bootstrap/63784
7871         * configure: Regenerated.
7872
7873 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
7874
7875         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7876         vect_simd_clones effective target.
7877         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7878
7879 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
7880
7881         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7882         of 32 as block_size.
7883         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7884         instead of 32 as block_size.
7885
7886 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
7887             Ilya Verbin  <ilya.verbin@intel.com>
7888
7889         * Makefile.in: Regenerate.
7890         * configure: Regenerate.
7891         * configure.ac: Set up offload_additional_options,
7892         offload_additional_lib_paths and offload_targets.
7893         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7894         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7895         * testsuite/Makefile.in: Regenerate.
7896         * testsuite/lib/libgomp.exp (libgomp_init): Append
7897         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
7898         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
7899         build directory to LD_LIBRARY_PATH for intelmic offload targets.
7900
7901 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
7902             Ilya Verbin  <ilya.verbin@intel.com>
7903             Kirill Yukhin  <kirill.yukhin@intel.com>
7904             Ilya Tocar  <ilya.tocar@intel.com>
7905
7906         * testsuite/lib/libgomp.exp
7907         (check_effective_target_offload_device): New.
7908         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7909         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7910         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7911         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7912         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7913         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7914         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7915         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7916         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7917         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7918         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7919         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7920         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7921         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7922         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7923         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7924         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7925         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7926         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7927         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7928         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7929         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7930         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7931         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7932         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7933         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7934         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7935         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7936         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7937         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7938         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7939         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7940         * testsuite/libgomp.c/target-7.c: Fix test.
7941         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7942         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7943         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7944         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7945         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7946         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7947         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7948         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7949         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7950         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7951         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7952         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7953         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7954         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7955         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7956         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7957         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7958         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7959         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7960         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7961         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7962         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7963         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7964         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7965         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7966         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7967         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7968         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7969         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7970         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7971         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7972
7973 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
7974             Ilya Verbin  <ilya.verbin@intel.com>
7975             Thomas Schwinge  <thomas@codesourcery.com>
7976             Andrey Turetskiy  <andrey.turetskiy@intel.com>
7977
7978         * libgomp.map (GOMP_4.0.1): New symbol version.
7979         Add GOMP_offload_register.
7980         * libgomp_target.h: New file.
7981         * splay-tree.h: New file.
7982         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7983         (gomp_target_init): New forward declaration.
7984         (gomp_is_initialized): New static variable.
7985         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7986         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7987         New structures.
7988         (offload_images, num_offload_images, devices, num_devices): New static
7989         variables.
7990         (splay_compare): New static function.
7991         (struct gomp_device_descr): New structure.
7992         (gomp_get_num_devices): Call gomp_target_init.
7993         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7994         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7995         (GOMP_offload_register): New function.
7996         (GOMP_target): Arrange for host callback to be performed in a separate
7997         initial thread and contention group, inheriting ICVs from
7998         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
7999         Add device initialization and lookup for target function in splay tree.
8000         (GOMP_target_data): Add device initialization and call gomp_map_vars.
8001         (GOMP_target_end_data): Call gomp_unmap_vars.
8002         (GOMP_target_update): Add device initialization and call gomp_update.
8003         (gomp_load_plugin_for_device, gomp_register_images_for_device)
8004         (gomp_target_init): New static functions.
8005
8006 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
8007             Thomas Schwinge  <thomas@codesourcery.com>
8008             Ilya Verbin  <ilya.verbin@intel.com>
8009             Andrey Turetskiy  <andrey.turetskiy@intel.com>
8010
8011         * config.h.in: Regenerate.
8012         * configure: Regenerate.
8013         * configure.ac: Check for libdl, required for plugin support.
8014         (PLUGIN_SUPPORT): Define if plugins are supported.
8015         (enable_offload_targets): Support Intel MIC targets.
8016         (OFFLOAD_TARGETS): List of target names suitable for offloading.
8017
8018 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
8019
8020         PR target/63610
8021         * configure: Regenerate.
8022
8023 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8024
8025         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8026
8027 2014-10-06  Marek Polacek  <polacek@redhat.com>
8028
8029         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8030         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8031         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8032         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8033
8034 2014-10-06  Marek Polacek  <polacek@redhat.com>
8035
8036         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8037         * testsuite/libgomp.c/nqueens-1.c: Likewise.
8038         * testsuite/libgomp.c/pr26943-3.c: Likewise.
8039         * testsuite/libgomp.c/pr26943-4.c: Likewise.
8040         * testsuite/libgomp.c/pr36802-2.c: Likewise.
8041         * testsuite/libgomp.c/pr36802-3.c: Likewise.
8042         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8043         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8044         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8045         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8046         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8047         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8048         * testsuite/libgomp.c/omp-single-1.c: Likewise.
8049         * testsuite/libgomp.c/omp-single-2.c: Likewise.
8050         * testsuite/libgomp.c/omp_matvec.c: Likewise.
8051         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8052         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8053         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
8054         declarations.
8055
8056 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
8057
8058         PR libgomp/61200
8059         * testsuite/libgomp.c/pr61200.c: New test.
8060
8061 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
8062
8063         PR c++/63248
8064         * testsuite/libgomp.c++/pr63248.C: New test.
8065
8066 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
8067
8068         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8069         is not zero, but taskgroup->children is NULL and there are
8070         any task->children, schedule those instead of waiting.
8071         * testsuite/libgomp.c/depend-6.c: New test.
8072         * testsuite/libgomp.c/depend-7.c: New test.
8073         * testsuite/libgomp.c/depend-8.c: New test.
8074         * testsuite/libgomp.c/depend-9.c: New test.
8075         * testsuite/libgomp.c/depend-10.c: New test.
8076
8077 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
8078
8079         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8080         (struct gomp_taskwait): New type.
8081         (struct gomp_task): Add taskwait and parent_depends_on, remove
8082         in_taskwait and taskwait_sem fields.
8083         (gomp_finish_task): Don't destroy taskwait_sem.
8084         * task.c (gomp_init_task): Don't init in_taskwait, instead init
8085         taskwait and parent_depends_on.
8086         (GOMP_task): For if (0) tasks with depend clause that depend on
8087         earlier tasks don't defer them, instead call
8088         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8089         Initialize redundant_out field, for redundant out entries just
8090         move them at the end of linked list instead of removing them
8091         completely, and set redundant_out flag instead of redundant.
8092         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8093         that task.
8094         (gomp_task_run_post_handle_dependers): If parent is in
8095         gomp_task_maybe_wait_for_dependencies and newly runnable task
8096         is not parent_depends_on, queue it in parent->children linked
8097         list after all runnable tasks with parent_depends_on set.
8098         Adjust for addition of taskwait indirection.
8099         (gomp_task_run_post_remove_parent): If parent is in
8100         gomp_task_maybe_wait_for_dependencies and task to be removed
8101         is parent_depends_on, decrement n_depend and if needed awake
8102         parent.  Adjust for addition of taskwait indirection.
8103         (GOMP_taskwait): Adjust for addition of taskwait indirection.
8104         (gomp_task_maybe_wait_for_dependencies): New function.
8105         * testsuite/libgomp.c/depend-5.c: New test.
8106
8107 2014-07-13  Tobias Burnus  <burnus@net-b.de>
8108
8109         * testsuite/libgomp.fortran/pr34020.f90: Make compile
8110         with TS 18508/Fortran 2015.
8111
8112 2014-07-06  Marek Polacek  <polacek@redhat.com>
8113
8114         PR c/6940
8115         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8116
8117 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
8118
8119         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8120         matches regex $lang_source_re, add $lang_include_flags to options.
8121         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8122         * testsuite/libgomp.c++/c++.exp: Likewise.
8123         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
8124         and lang_include_flags instead of adding -fintrinsic-modules-path= to
8125         ALWAYS_CFLAGS.
8126         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8127
8128 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
8129
8130         * testsuite/libgomp.fortran/fortran.exp: Explain
8131         gfortran-dg-runtest usage.
8132
8133 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
8134
8135         * testsuite/libgomp.fortran/simd5.f90: New test.
8136         * testsuite/libgomp.fortran/simd6.f90: New test.
8137         * testsuite/libgomp.fortran/simd7.f90: New test.
8138
8139 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
8140
8141         * testsuite/libgomp.c/for-2.c: Define SC to static for
8142         #pragma omp for simd testing.
8143         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8144         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8145         SC macro.
8146         * testsuite/libgomp.c/simd-14.c: New test.
8147         * testsuite/libgomp.c/simd-15.c: New test.
8148         * testsuite/libgomp.c/simd-16.c: New test.
8149         * testsuite/libgomp.c/simd-17.c: New test.
8150         * testsuite/libgomp.c++/for-10.C: Define SC to static for
8151         #pragma omp for simd testing.
8152         * testsuite/libgomp.c++/simd10.C: New test.
8153         * testsuite/libgomp.c++/simd11.C: New test.
8154         * testsuite/libgomp.c++/simd12.C: New test.
8155         * testsuite/libgomp.c++/simd13.C: New test.
8156
8157         * testsuite/libgomp.fortran/aligned1.f03: New test.
8158         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8159         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8160         tasks with !$omp parallel !$omp single.
8161         * testsuite/libgomp.fortran/target8.f90: New test.
8162         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8163         not to use trim in the combiner, instead call elemental function.
8164         (fn): New elemental function.
8165         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8166         Make elemental.
8167         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8168         omp_in): Likewise.
8169         * testsuite/libgomp.fortran/udr12.f90: New test.
8170         * testsuite/libgomp.fortran/udr13.f90: New test.
8171         * testsuite/libgomp.fortran/udr14.f90: New test.
8172         * testsuite/libgomp.fortran/udr15.f90: New test.
8173
8174 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
8175
8176         * omp_lib.f90.in (openmp_version): Set to 201307.
8177         * omp_lib.h.in (openmp_version): Likewise.
8178         * testsuite/libgomp.c/target-8.c: New test.
8179         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8180         and inbranch clauses.
8181         * testsuite/libgomp.fortran/depend-3.f90: New test.
8182         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8183         openmp_version.
8184         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8185         * testsuite/libgomp.fortran/target1.f90: New test.
8186         * testsuite/libgomp.fortran/target2.f90: New test.
8187         * testsuite/libgomp.fortran/target3.f90: New test.
8188         * testsuite/libgomp.fortran/target4.f90: New test.
8189         * testsuite/libgomp.fortran/target5.f90: New test.
8190         * testsuite/libgomp.fortran/target6.f90: New test.
8191         * testsuite/libgomp.fortran/target7.f90: New test.
8192
8193 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
8194
8195         PR fortran/60928
8196         * testsuite/libgomp.fortran/allocatable9.f90: New test.
8197         * testsuite/libgomp.fortran/allocatable10.f90: New test.
8198         * testsuite/libgomp.fortran/allocatable11.f90: New test.
8199         * testsuite/libgomp.fortran/allocatable12.f90: New test.
8200         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8201         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8202         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8203         * testsuite/libgomp.fortran/associate1.f90: New test.
8204         * testsuite/libgomp.fortran/associate2.f90: New test.
8205         * testsuite/libgomp.fortran/procptr1.f90: New test.
8206
8207 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
8208
8209         * testsuite/libgomp.fortran/simd1.f90: New test.
8210         * testsuite/libgomp.fortran/udr1.f90: New test.
8211         * testsuite/libgomp.fortran/udr2.f90: New test.
8212         * testsuite/libgomp.fortran/udr3.f90: New test.
8213         * testsuite/libgomp.fortran/udr4.f90: New test.
8214         * testsuite/libgomp.fortran/udr5.f90: New test.
8215         * testsuite/libgomp.fortran/udr6.f90: New test.
8216         * testsuite/libgomp.fortran/udr7.f90: New test.
8217         * testsuite/libgomp.fortran/udr8.f90: New test.
8218         * testsuite/libgomp.fortran/udr9.f90: New test.
8219         * testsuite/libgomp.fortran/udr10.f90: New test.
8220         * testsuite/libgomp.fortran/udr11.f90: New test.
8221
8222 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
8223
8224         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8225         vect_simd_clones effective target.
8226         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8227
8228 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
8229
8230         PR middle-end/61252
8231         * testsuite/libgomp.c++/simd-9.C: New test.
8232
8233 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
8234
8235         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8236         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8237         texts according to their @menu entry positions.
8238
8239 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
8240
8241         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8242         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8243         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8244         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8245         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8246         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8247         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8248         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8249         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8250         * testsuite/libgomp.fortran/depend-1.f90: New test.
8251         * testsuite/libgomp.fortran/depend-2.f90: New test.
8252         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8253         * testsuite/libgomp.fortran/simd1.f90: New test.
8254         * testsuite/libgomp.fortran/simd2.f90: New test.
8255         * testsuite/libgomp.fortran/simd3.f90: New test.
8256         * testsuite/libgomp.fortran/simd4.f90: New test.
8257         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8258
8259 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
8260
8261         * testsuite/libgomp.c/simd-10.c: New test.
8262         * testsuite/libgomp.c/simd-11.c: New test.
8263         * testsuite/libgomp.c/simd-12.c: New test.
8264         * testsuite/libgomp.c/simd-13.c: New test.
8265
8266 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
8267
8268         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8269         atomic type clauses in any order and optional comma in between.
8270         * testsuite/libgomp.c++/atomic-15.C: Likewise.
8271         * testsuite/libgomp.c/atomic-17.c: Likewise.
8272
8273         * testsuite/libgomp.c/simd-7.c: New test.
8274         * testsuite/libgomp.c/simd-8.c: New test.
8275         * testsuite/libgomp.c/simd-9.c: New test.
8276         * testsuite/libgomp.c/loop-16.c: New test.
8277
8278 2014-04-02  Richard Henderson  <rth@redhat.com>
8279
8280         * config/linux/futex.h (futex_wait): Get error value from errno.
8281         (futex_wake): Likewise.
8282
8283 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
8284
8285         PR c++/60331
8286         * testsuite/libgomp.c++/udr-11.C: New test.
8287         * testsuite/libgomp.c++/udr-12.C: New test.
8288         * testsuite/libgomp.c++/udr-13.C: New test.
8289         * testsuite/libgomp.c++/udr-14.C: New test.
8290         * testsuite/libgomp.c++/udr-15.C: New test.
8291         * testsuite/libgomp.c++/udr-16.C: New test.
8292         * testsuite/libgomp.c++/udr-17.C: New test.
8293         * testsuite/libgomp.c++/udr-18.C: New test.
8294         * testsuite/libgomp.c++/udr-19.C: New test.
8295
8296 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8297
8298         Update copyright years
8299
8300 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8301
8302         * hashtab.h: Use the standard form for the copyright notice.
8303
8304 2014-01-02  Tobias Burnus  <burnus@net-b.de>
8305
8306         * libgomp.texi: Bump @copying's copyright year.
8307
8308 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
8309
8310         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
8311         alloca () with __builtin_alloca ().
8312         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8313         * testsuite/libgomp.c/lock-3.c: Likewise.
8314         * testsuite/libgomp.c/pr48591.c: Likewise.
8315
8316 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
8317
8318         PR testsuite/59534
8319         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8320         comparisons.
8321
8322 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
8323
8324         PR libgomp/58756
8325         * testsuite/libgomp.c/pr58756.c: New test.
8326
8327 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
8328
8329         PR libgomp/59467
8330         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8331         !$omp parallel.
8332
8333 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
8334
8335         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8336         ALWAYS_CFLAGS.
8337         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8338         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8339         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8340         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8341         Likewise.
8342
8343         * libgomp_g.h: Include <stddef.h> for size_t.
8344
8345         * libgomp.spec.in: Update comment about libgomp's dependencies.
8346         * configure.ac: Likewise.
8347         * configure: Regenerate.
8348
8349 2013-10-16  Tobias Burnus  <burnus@net-b.de>
8350
8351         * libgomp.texi: (Runtime Library Routines): Update references for
8352         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8353         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8354         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8355         (Environment Variables): Update references for OpenMP 4.0. Add
8356         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8357         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8358         order.
8359
8360 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
8361
8362         * env.c (parse_bind_var): Initialize value to avoid
8363         (false positive) warning.
8364
8365 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
8366
8367         PR libgomp/58691
8368         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8369         to check variable.
8370         (gomp_init_num_threads): Move i variable declaration into
8371         #ifdef CPU_ALLOC_SIZE block.
8372         * config/linux/affinity.c (gomp_affinity_init_level): Test
8373         gomp_places_list_len == 0 rather than gomp_places_list == 0
8374         when checking for topology reading error.
8375         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8376         * env.c (parse_affinity): Add ignore argument, if true, don't populate
8377         gomp_places_list, only parse env var and always return false.
8378         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
8379         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8380         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8381         and either of these variables were parsed correctly into a places
8382         list.
8383
8384 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
8385             Jakub Jelinek  <jakub@redhat.com>
8386
8387         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8388         of 5 loopfn matches.
8389         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8390         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8391         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8392         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8393         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8394         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8395         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8396         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8397
8398 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
8399
8400         * Makefile.am (omp_lib.mod): Streamline rule.
8401         * Makefile.in: Regenerate.
8402
8403         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8404         exceptions.
8405
8406         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8407         * testsuite/libgomp.fortran/lib1.f90: Likewise.
8408         * testsuite/libgomp.fortran/lib2.f: Likewise.
8409         * testsuite/libgomp.fortran/lib3.f: Likewise.
8410
8411         * configure.ac: Typo fix.
8412         * configure: Regenerate.
8413
8414         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8415         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8416
8417         * omp.h.in: Don't touch the user's namespace.
8418
8419 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
8420             Tobias Burnus  <burnus@net-b.de>
8421             Richard Henderson  <rth@redhat.com>
8422
8423         * target.c: New file.
8424         * Makefile.am (libgomp_la_SOURCES): Add target.c.
8425         * Makefile.in: Regenerated.
8426         * libgomp_g.h (GOMP_task): Add depend argument.
8427         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8428         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8429         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8430         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8431         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8432         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8433         GOMP_taskgroup_start, GOMP_taskgroup_end,
8434         GOMP_parallel_sections): New prototypes.
8435         * fortran.c (omp_is_initial_device): Add ialias_redirect.
8436         (omp_is_initial_device_): New function.
8437         (ULP, STR1, STR2, ialias_redirect): Removed.
8438         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8439         omp_set_default_device_8_, omp_get_default_device_,
8440         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8441         functions.
8442         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8443         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8444         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8445         @@GOMP_4.0.
8446         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8447         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8448         omp_set_default_device, omp_set_default_device_,
8449         omp_set_default_device_8_, omp_get_default_device,
8450         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8451         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8452         omp_get_team_num_): Export @@OMP_4.0.
8453         * team.c (struct gomp_thread_start_data): Add place field.
8454         (gomp_thread_start): Clear thr->thread_pool and
8455         thr->task before returning.  Use gomp_team_barrier_wait_final
8456         instead of gomp_team_barrier_wait.  Initialize thr->place.
8457         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8458         team_cancelled and task_queued_count fields.
8459         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8460         before calling pthread_exit.
8461         (gomp_free_thread): No longer static.  Use
8462         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8463         (gomp_team_start): Add flags argument.  Set
8464         thr->thread_pool->threads_busy to nthreads immediately after creating
8465         new pool.  Use gomp_managed_threads_lock instead of
8466         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
8467         (gomp_team_end): Use gomp_managed_threads_lock instead of
8468         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
8469         of gomp_team_barrier_wait.  If team->team_cancelled, call
8470         gomp_fini_worshare on ws chain starting at team->work_shares_to_free
8471         rather than thr->ts.work_share.
8472         (initialize_team): Don't call gomp_sem_init here.
8473         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8474         caller.
8475         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8476         * env.c (gomp_global_icv): Add default_device_var, target_data and
8477         bind_var initializers.
8478         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8479         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8480         gomp_places_list_len): New variables.
8481         (parse_bind_var, parse_one_place, parse_places_var): New functions.
8482         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8483         sized places.
8484         (gomp_cancel_var): New global variable.
8485         (parse_int): New function.
8486         (handle_omp_display_env): New function.
8487         (initialize_env): Use it.  Initialize default_device_var.
8488         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
8489         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
8490         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
8491         been successfully parsed (and call gomp_init_affinity in that case).
8492         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8493         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8494         omp_get_team_num, omp_is_initial_device): New functions.
8495         * libgomp.h: Include stdlib.h.
8496         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8497         Define.
8498         (struct target_mem_desc): Forward declare.
8499         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8500         and thread_limit_var fields.
8501         (gomp_get_num_devices): New prototype.
8502         (gomp_cancel_var): New extern decl.
8503         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8504         team_cancelled and task_queued_count fields.  Add comments about
8505         task_{,queued_,running_}count.
8506         (gomp_cancel_kind): New enum.
8507         (gomp_work_share_end_cancel): New prototype.
8508         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8509         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8510         and depend fields.
8511         (struct gomp_taskgroup): New type.
8512         (struct gomp_task_depend_entry,
8513         struct gomp_dependers_vec): New types.
8514         (gomp_finish_task): Free depend_hash if non-NULL.
8515         (struct gomp_team_state): Add place_partition_off
8516         and place_partition_len fields.
8517         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8518         gomp_places_list_len): New extern decls.
8519         (struct gomp_thread): Add place field.
8520         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8521         (gomp_init_thread_affinity): Add place argument.
8522         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8523         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8524         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8525         gomp_affinity_init_level, gomp_affinity_print_place): New
8526         prototypes.
8527         (gomp_team_start): Add flags argument.
8528         (gomp_thread_limit_var, gomp_remaining_threads_count,
8529         gomp_remaining_threads_lock): Remove.
8530         (gomp_managed_threads_lock): New variable.
8531         (struct gomp_thread_pool): Add threads_busy field.
8532         (gomp_free_thread): New prototype.
8533         * task.c: Include hashtab.h.
8534         (hash_entry_type): New typedef.
8535         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8536         (gomp_init_task): Clear dependers, depend_hash, depend_count,
8537         copy_ctors_done and taskgroup fields.
8538         (GOMP_task): Add depend argument, handle depend clauses.  If
8539         gomp_team_barrier_cancelled or if it's taskgroup has been
8540         cancelled, don't queue or start new tasks.  Set copy_ctors_done
8541         field if needed.  Initialize taskgroup field.  If copy_ctors_done
8542         and already cancelled, don't discard the task.  If taskgroup is
8543         non-NULL, enqueue the task into taskgroup queue.  Increment
8544         num_children field in taskgroup.  Increment task_queued_count.
8545         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8546         gomp_task_run_post_remove_taskgroup): New inline functions.
8547         (gomp_task_run_post_handle_depend_hash,
8548         gomp_task_run_post_handle_dependers,
8549         gomp_task_run_post_handle_depend): New functions.
8550         (GOMP_taskwait): Use them.  If more than one new tasks
8551         have been queued, wake other threads if needed.
8552         (gomp_barrier_handle_tasks): Likewise.  If
8553         gomp_team_barrier_cancelled, don't start any new tasks, just free
8554         all tasks.
8555         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8556         * omp_lib.f90.in
8557         (omp_proc_bind_kind, omp_proc_bind_false,
8558         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8559         omp_proc_bind_spread): New params.
8560         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8561         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8562         omp_get_team_num, omp_is_initial_device): New interfaces.
8563         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8564         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8565         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8566         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8567         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8568         useless use omp_lib_kinds.
8569         * omp.h.in (omp_proc_bind_t): New typedef.
8570         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8571         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8572         omp_get_team_num, omp_is_initial_device): New prototypes.
8573         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8574         through to gomp_team_start.
8575         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8576         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8577         Adjust gomp_parallel_loop_start callers.
8578         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8579         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8580         GOMP_loop_end_cancel): New functions.
8581         (GOMP_parallel_end): Add ialias_redirect.
8582         * hashtab.h: New file.
8583         * libgomp.texi (Environment Variables): Minor cleanup,
8584         update section refs to OpenMP 4.0rc2.
8585         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8586         environment variables.
8587         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8588         team->work_shares_to_free to thr->ts.work_share before calling
8589         free_work_share.
8590         (gomp_work_share_end_cancel): New function.
8591         * config/linux/proc.c: Include errno.h.
8592         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8593         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8594         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
8595         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
8596         gomp_cpuset_size is sizeof (cpu_set_t).
8597         (gomp_init_num_threads): Initialize gomp_cpuset_size,
8598         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8599         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8600         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
8601         contain any logical CPUs.
8602         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8603         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
8604         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8605         pthread_getaffinity_np.  Check gomp_places_list instead of
8606         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
8607         * config/linux/bar.c (gomp_barrier_wait_end,
8608         gomp_barrier_wait_last): Use BAR_* defines.
8609         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
8610         from state where needed.  Set work_share_cancelled to 0 on last
8611         thread.
8612         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8613         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8614         functions.
8615         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8616         Add cpusetsize argument.
8617         (gomp_cpuset_size, gomp_cpusetp): Declare.
8618         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8619         (affinity_counter): Remove.
8620         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8621         if CPU_ALLOC_SIZE isn't defined.
8622         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8623         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8624         bind current thread to the first place.
8625         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
8626         pthread_setaffinity_np to gomp_places_list[place].
8627         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8628         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8629         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8630         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8631         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8632         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8633         (gomp_barrier_t): Add awaited_final field.
8634         (gomp_barrier_init): Initialize awaited_final field.
8635         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8636         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8637         prototypes.
8638         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
8639         defines.
8640         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8641         gomp_team_barrier_cancelled): New inline functions.
8642         (gomp_barrier_last_thread,
8643         gomp_team_barrier_set_task_pending,
8644         gomp_team_barrier_clear_task_pending,
8645         gomp_team_barrier_set_waiting_for_tasks,
8646         gomp_team_barrier_waiting_for_tasks,
8647         gomp_team_barrier_done): Use BAR_* defines.
8648         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8649         (gomp_barrier_wait_end): Use BAR_* defines.
8650         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8651         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8652         Use BAR_* defines.
8653         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
8654         gomp_team_barrier_cancel): New functions.
8655         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
8656         argument.
8657         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8658         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8659         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8660         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
8661         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8662         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8663         (gomp_barrier_t): Add cancellable field.
8664         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
8665         gomp_team_barrier_cancel): New prototypes.
8666         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
8667         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
8668         gomp_team_barrier_cancelled): New inline functions.
8669         (gomp_barrier_wait_start, gomp_barrier_last_thread,
8670         gomp_team_barrier_set_task_pending,
8671         gomp_team_barrier_clear_task_pending,
8672         gomp_team_barrier_set_waiting_for_tasks,
8673         gomp_team_barrier_waiting_for_tasks,
8674         gomp_team_barrier_done): Use BAR_* defines.
8675         * barrier.c (GOMP_barrier_cancel): New function.
8676         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
8677         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8678         omp_proc_bind_spread): New params.
8679         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8680         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8681         omp_get_team_num, omp_is_initial_device): New externals.
8682         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
8683         New functions.
8684         (gomp_resolve_num_threads): Adjust for thread_limit now being in
8685         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
8686         infinity.  If not nested, just return minimum of max_num_threads
8687         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
8688         to the returned value.  Otherwise, don't update atomically
8689         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
8690         (GOMP_parallel_end): Adjust for thread_limit now being in
8691         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
8692         infinity.  Adjust threads_busy in the pool rather than
8693         gomp_remaining_threads_count.  Remember team->nthreads and call
8694         gomp_team_end before adjusting threads_busy, if not nested
8695         afterwards, just set it to 1 non-atomically.  Add ialias.
8696         (GOMP_parallel_start): Adjust gomp_team_start caller.
8697         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
8698         * testsuite/libgomp.c/affinity-1.c: New test.
8699         * testsuite/libgomp.c/atomic-15.c: New test.
8700         * testsuite/libgomp.c/atomic-16.c: New test.
8701         * testsuite/libgomp.c/atomic-17.c: New test.
8702         * testsuite/libgomp.c/cancel-for-1.c: New test.
8703         * testsuite/libgomp.c/cancel-for-2.c: New test.
8704         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
8705         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
8706         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
8707         * testsuite/libgomp.c/cancel-sections-1.c: New test.
8708         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
8709         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
8710         * testsuite/libgomp.c/depend-1.c: New test.
8711         * testsuite/libgomp.c/depend-2.c: New test.
8712         * testsuite/libgomp.c/depend-3.c: New test.
8713         * testsuite/libgomp.c/depend-4.c: New test.
8714         * testsuite/libgomp.c/for-1.c: New test.
8715         * testsuite/libgomp.c/for-1.h: New file.
8716         * testsuite/libgomp.c/for-2.c: New test.
8717         * testsuite/libgomp.c/for-2.h: New file.
8718         * testsuite/libgomp.c/for-3.c: New test.
8719         * testsuite/libgomp.c/pr58392.c: New test.
8720         * testsuite/libgomp.c/simd-1.c: New test.
8721         * testsuite/libgomp.c/simd-2.c: New test.
8722         * testsuite/libgomp.c/simd-3.c: New test.
8723         * testsuite/libgomp.c/simd-4.c: New test.
8724         * testsuite/libgomp.c/simd-5.c: New test.
8725         * testsuite/libgomp.c/simd-6.c: New test.
8726         * testsuite/libgomp.c/target-1.c: New test.
8727         * testsuite/libgomp.c/target-2.c: New test.
8728         * testsuite/libgomp.c/target-3.c: New test.
8729         * testsuite/libgomp.c/target-4.c: New test.
8730         * testsuite/libgomp.c/target-5.c: New test.
8731         * testsuite/libgomp.c/target-6.c: New test.
8732         * testsuite/libgomp.c/target-7.c: New test.
8733         * testsuite/libgomp.c/taskgroup-1.c: New test.
8734         * testsuite/libgomp.c/thread-limit-1.c: New test.
8735         * testsuite/libgomp.c/thread-limit-2.c: New test.
8736         * testsuite/libgomp.c/thread-limit-3.c: New test.
8737         * testsuite/libgomp.c/udr-1.c: New test.
8738         * testsuite/libgomp.c/udr-2.c: New test.
8739         * testsuite/libgomp.c/udr-3.c: New test.
8740         * testsuite/libgomp.c++/affinity-1.C: New test.
8741         * testsuite/libgomp.c++/atomic-10.C: New test.
8742         * testsuite/libgomp.c++/atomic-11.C: New test.
8743         * testsuite/libgomp.c++/atomic-12.C: New test.
8744         * testsuite/libgomp.c++/atomic-13.C: New test.
8745         * testsuite/libgomp.c++/atomic-14.C: New test.
8746         * testsuite/libgomp.c++/atomic-15.C: New test.
8747         * testsuite/libgomp.c++/cancel-for-1.C: New test.
8748         * testsuite/libgomp.c++/cancel-for-2.C: New test.
8749         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
8750         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
8751         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
8752         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
8753         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
8754         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
8755         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
8756         * testsuite/libgomp.c++/cancel-test.h: New file.
8757         * testsuite/libgomp.c++/for-9.C: New test.
8758         * testsuite/libgomp.c++/for-10.C: New test.
8759         * testsuite/libgomp.c++/for-11.C: New test.
8760         * testsuite/libgomp.c++/simd-1.C: New test.
8761         * testsuite/libgomp.c++/simd-2.C: New test.
8762         * testsuite/libgomp.c++/simd-3.C: New test.
8763         * testsuite/libgomp.c++/simd-4.C: New test.
8764         * testsuite/libgomp.c++/simd-5.C: New test.
8765         * testsuite/libgomp.c++/simd-6.C: New test.
8766         * testsuite/libgomp.c++/simd-7.C: New test.
8767         * testsuite/libgomp.c++/simd-8.C: New test.
8768         * testsuite/libgomp.c++/target-1.C: New test.
8769         * testsuite/libgomp.c++/target-2.C: New test.
8770         * testsuite/libgomp.c++/target-2-aux.cc: New file.
8771         * testsuite/libgomp.c++/target-3.C: New test.
8772         * testsuite/libgomp.c++/taskgroup-1.C: New test.
8773         * testsuite/libgomp.c++/udr-1.C: New test.
8774         * testsuite/libgomp.c++/udr-2.C: New test.
8775         * testsuite/libgomp.c++/udr-3.C: New test.
8776         * testsuite/libgomp.c++/udr-4.C: New test.
8777         * testsuite/libgomp.c++/udr-5.C: New test.
8778         * testsuite/libgomp.c++/udr-6.C: New test.
8779         * testsuite/libgomp.c++/udr-7.C: New test.
8780         * testsuite/libgomp.c++/udr-8.C: New test.
8781         * testsuite/libgomp.c++/udr-9.C: New test.
8782
8783 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
8784
8785         PR testsuite/57605
8786         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8787         ALWAYS_CFLAGS.
8788
8789 2013-09-20  Alan Modra  <amodra@gmail.com>
8790
8791         * configure: Regenerate.
8792
8793 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
8794
8795         * testsuite/libgomp.c/sections-2.c: New test.
8796
8797 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8798
8799         * testsuite/libgomp.fortran/strassen.f90:
8800         Add dg-skip-if aarch64_tiny.
8801
8802 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
8803             Cesar Philippidis  <cesar@codesourcery.com>
8804
8805         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8806         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8807         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8808         * testsuite/libgomp.fortran/fortran.exp: Likewise.
8809         * testsuite/libgomp.graphite/graphite.exp: Likewise.
8810         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8811         Use dg-runtest rather than gfortran-dg-runtest.
8812
8813 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
8814
8815         * testsuite/libgomp.c/icv-2.c: Extend current handling of
8816         Linux-based x86 systems to cover all GNU systems.
8817         * testsuite/libgomp.c/lock-3.c: Likewise.
8818         * testsuite/libgomp.c/pr48591.c: Likewise.
8819
8820 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
8821
8822         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8823         GNU/Hurd, as done for Linux-based systems.
8824
8825         * config/posix/ptrlock.h: Fix comment.
8826
8827 2013-05-27  Tobias Burnus  <burnus@net-b.de>
8828
8829         PR fortran/57423
8830         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8831         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8832         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8833         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8834         omp_destroy_nest_lock): Correct arguments to match the one in
8835         the OpenMP spec.
8836         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8837         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8838         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8839         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8840
8841 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
8842
8843         * testsuite/libgomp.c/loop-13.c: New test.
8844         * testsuite/libgomp.c/loop-14.c: New test.
8845         * testsuite/libgomp.c/loop-15.c: New test.
8846         * testsuite/libgomp.c++/loop-13.C: New test.
8847         * testsuite/libgomp.c++/loop-14.C: New test.
8848         * testsuite/libgomp.c++/loop-15.C: New test.
8849
8850 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
8851
8852         PR middle-end/56217
8853         * testsuite/libgomp.c++/pr56217.C: New test.
8854
8855 2013-02-01  Alan Modra  <amodra@gmail.com>
8856
8857         * task.c (GOMP_task, GOMP_taskwait): Comment.
8858
8859 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
8860             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
8861
8862         PR libgomp/55561
8863         * config/linux/wait.h (do_spin): Use atomic load for addr.
8864         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8865         for intptr and ptrlock.
8866         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8867         for ptrlock.
8868
8869 2013-01-22  Alan Modra  <amodra@gmail.com>
8870
8871         PR libgomp/51376
8872         PR libgomp/56073
8873         * task.c (GOMP_task): Revert 2011-12-09 change.
8874         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
8875         barrier to read task->children..
8876         (gomp_barrier_handle_tasks): ..and matching atomic store with
8877         release barrier here when setting parent->children to NULL.
8878
8879 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
8880             Tobias Burnus  <burnus@net-b.de>
8881
8882         PR driver/55884
8883         * testsuite/libgomp.fortran/fortran.exp: Use
8884         -fintrinsic-modules-path= instead of
8885         -fintrinsic-modules-path.
8886
8887 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
8888
8889         Update copyright years.
8890
8891 2012-12-19  Tobias Burnus  <burnus@net-b.de>
8892
8893         * testsuite/libgomp.fortran/fortran.exp: Set
8894         -fintrinsic-modules-path.
8895
8896 2012-12-19  Tobias Burnus  <burnus@net-b.de>
8897
8898         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8899         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8900
8901 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
8902
8903         PR libgomp/55411
8904         * team.c (gomp_free_thread): Decrease gomp_managed_threads
8905         if pool had any threads_used.
8906
8907 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
8908
8909         * testsuite/libgomp.c++/pr24455.C: Use
8910         -Wl,-undefined,dynamic_lookup on darwin.
8911
8912 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
8913
8914         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8915
8916 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
8917
8918         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8919
8920 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
8921             Jim MacArthur  <jim.macarthur@arm.com>
8922             Marcus Shawcroft  <marcus.shawcroft@arm.com>
8923             Nigel Stephens  <nigel.stephens@arm.com>
8924             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
8925             Richard Earnshaw  <rearnsha@arm.com>
8926             Sofiane Naci  <sofiane.naci@arm.com>
8927             Stephen Thomas  <stephen.thomas@arm.com>
8928             Tejas Belagod  <tejas.belagod@arm.com>
8929             Yufeng Zhang  <yufeng.zhang@arm.com>
8930
8931         * configure.tgt: Add AArch64.
8932
8933 2012-10-04  Jason Merrill  <jason@redhat.com>
8934
8935         * testsuite/libgomp.c++/tls-init1.C: New.
8936
8937 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
8938
8939         * configure: Regenerated.
8940
8941 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
8942
8943         * config/linux/mips/futex.h (sys_futex0): Change to static
8944         function with noinline, nomips16 attributes under MIPS16. Adjust
8945         asm statement to place 'li v0,SYS_futex' immediately before
8946         syscall insn.
8947
8948 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
8949
8950         * libgomp.texi (Library Index): Renamed from "Index" to prevent
8951         conflict with index.html on case-insensitive file systems.
8952
8953 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
8954
8955         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8956         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8957
8958 2012-07-02  Richard Guenther  <rguenther@suse.de>
8959             Michael Matz  <matz@suse.de>
8960             Tobias Grosser <tobias@grosser.es>
8961             Sebastian Pop <sebpop@gmail.com>
8962
8963         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8964         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8965         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8966         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8967
8968 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
8969
8970         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8971
8972 2012-06-22  Richard Guenther  <rguenther@suse.de>
8973
8974         Merge from graphite branch
8975         2012-01-13  Tobias Grosser  <tobias@grosser.es>
8976
8977         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8978         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8979
8980 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
8981
8982         PR middle-end/53580
8983         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8984         use GOMP_barrier () call instead.
8985         * testsuite/libgomp.c/pr26943-3.c: Likewise.
8986         * testsuite/libgomp.c/pr26943-4.c: Likewise.
8987         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8988         call GOMP_barrier instead.
8989         * testsuite/libgomp.fortran/vla5.f90: Likewise.
8990
8991 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
8992
8993         PR libgomp/52993
8994         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8995         argument to memset call.
8996
8997 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
8998
8999         * configure: Regenerated.
9000
9001 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9002
9003         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9004
9005 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
9006
9007         PR bootstrap/52812
9008         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9009
9010 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
9011
9012         PR middle-end/52547
9013         * testsuite/libgomp.c/pr52547.c: New test.
9014
9015 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
9016
9017         * testsuite/lib/libgomp.exp: load fortran-modules.exp
9018
9019 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9020
9021         * configure.tgt (mips-sgi-irix6*): Remove.
9022
9023 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9024
9025         * configure.tgt (alpha*-dec-osf*): Remove.
9026
9027         * config/osf/sem.h: Remove.
9028         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9029
9030 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
9031
9032         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9033
9034 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9035
9036         PR libstdc++/52188
9037         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9038         Remove ENABLE_SYMVERS_SOL2.
9039         * configure: Regenerate.
9040         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9041         (PREPROCESS): New variable.
9042         (libgomp.ver): New target.
9043         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9044         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9045         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9046         Use libgomp.ver.
9047         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9048         * Makefile.in: Regenerate.
9049
9050 2012-02-14  Walter Lee  <walt@tilera.com>
9051
9052         * configure.tgt: Handle tilegx and tilepro.
9053         * config/linux/tile/futex.h: New file.
9054
9055 2012-02-08  Richard Guenther  <rguenther@suse.de>
9056
9057         PR tree-optimization/46886
9058         * testsuite/libgomp.c/pr46886.c: New testcase.
9059
9060 2012-01-25  Matthias Klose  <doko@ubuntu.com>
9061
9062         * config/linux/arm: Remove empty directory.
9063         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9064
9065 2011-12-09  Alan Modra  <amodra@gmail.com>
9066
9067         PR libgomp/51376
9068         * task.c (GOMP_taskwait): Don't access task->children outside of
9069         task_lock mutex region.
9070         (GOMP_task): Likewise.
9071
9072 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
9073
9074         PR libgomp/51132
9075         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9076         to file scope.
9077         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9078         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9079         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9080         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9081         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9082
9083 2011-12-02  Alan Modra  <amodra@gmail.com>
9084
9085         * config/linux/affinity.c: Use atomic rather than sync builtin.
9086         * config/linux/lock.c: Likewise.
9087         * config/linux/ptrlock.h: Likewise.
9088         * config/linux/ptrlock.c: Likewise.
9089         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9090         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9091         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9092         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9093         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9094         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9095         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9096         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9097         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9098         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9099
9100 2011-11-30  Alan Modra  <amodra@gmail.com>
9101
9102         PR libgomp/51298
9103         * config/linux/bar.h: Use atomic rather than sync builtins.
9104         * config/linux/bar.c: Likewise.  Add missing acquire
9105         synchronisation on generation field.
9106         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9107         double unlock.
9108
9109 2011-11-30  Alan Modra  <amodra@gmail.com>
9110
9111         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9112         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9113         * config/linux/mutex.h: Use atomic rather than sync builtins.
9114         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
9115         * config/linux/omp-lock.h: Comment fix.
9116         * config/linux/arm/mutex.h: Delete.
9117         * config/linux/powerpc/mutex.h: Delete.
9118         * config/linux/ia64/mutex.h: Delete.
9119         * config/linux/mips/mutex.h: Delete.
9120
9121 2011-11-30  Alan Modra  <amodra@gmail.com>
9122
9123         PR libgomp/51249
9124         * config/linux/sem.h: Rewrite.
9125         * config/linux/sem.c: Rewrite.
9126
9127 2011-11-28  Richard Henderson  <rth@redhat.com>
9128
9129         * libgomp.h (enum memmodel): New.
9130
9131 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
9132
9133         * configure: Regenerate.
9134
9135 2011-10-10  Matthias Klose  <doko@ubuntu.com>
9136
9137         * config/posix95: Remove empty directory.
9138
9139 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
9140
9141         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9142
9143 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
9144
9145         PR fortran/49792
9146         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9147         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9148
9149 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9150
9151         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9152
9153 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9154
9155         PR libgomp/49965
9156         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9157
9158 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
9159
9160         * config/linux/proc.h: New.
9161         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
9162         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
9163         (gomp_init_num_threads): Update call to cpuset_popcount.
9164         (get_num_procs): Ditto.
9165         * config/linux/affinity.c (gomp_init_affinity): Call
9166         gomp_cpuset_popcount.
9167
9168 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
9169
9170         PR fortran/42041
9171         PR fortran/46752
9172         * omp.h.in (omp_in_final): New prototype.
9173         * omp_lib.f90.in (omp_in_final): New interface.
9174         (omp_integer_kind, omp_logical_kind): Remove
9175         and replace all its uses in the module with 4.
9176         (openmp_version): Change to 201107.
9177         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9178         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9179         kind for the parameters.
9180         (omp_in_final): New external.
9181         (openmp_version): Change to 201107.
9182         * task.c (omp_in_final): New function.
9183         (gomp_init_task): Initialize final_task.
9184         (GOMP_task): Remove unused attribute from flags.  Handle final
9185         tasks.
9186         (GOMP_taskyield): New function.
9187         (omp_in_final): Return true if if (false) or final (true) task
9188         or descendant of final (true).
9189         * fortran.c (omp_in_final_): New function.
9190         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9191         (GOMP_3.0): Export GOMP_taskyield.
9192         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9193         variables.
9194         (parse_unsigned_long_list): New function.
9195         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
9196         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
9197         even if parse_affinity returned false.
9198         * config/linux/affinity.c (gomp_init_affinity): Handle
9199         gomp_cpu_affinity_len == 0.
9200         * libgomp_g.h (GOMP_taskyield): New prototype.
9201         * libgomp.h (struct gomp_task): Add final_task field.
9202         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9203         * team.c (gomp_team_start): Override new task's nthreads_var icv
9204         if list form OMP_NUM_THREADS has been used and it has value for
9205         the new nesting level.
9206
9207         * testsuite/libgomp.c/atomic-11.c: New test.
9208         * testsuite/libgomp.c/atomic-12.c: New test.
9209         * testsuite/libgomp.c/atomic-13.c: New test.
9210         * testsuite/libgomp.c/atomic-14.c: New test.
9211         * testsuite/libgomp.c/reduction-6.c: New test.
9212         * testsuite/libgomp.c/task-5.c: New test.
9213         * testsuite/libgomp.c++/atomic-2.C: New test.
9214         * testsuite/libgomp.c++/atomic-3.C: New test.
9215         * testsuite/libgomp.c++/atomic-4.C: New test.
9216         * testsuite/libgomp.c++/atomic-5.C: New test.
9217         * testsuite/libgomp.c++/atomic-6.C: New test.
9218         * testsuite/libgomp.c++/atomic-7.C: New test.
9219         * testsuite/libgomp.c++/atomic-8.C: New test.
9220         * testsuite/libgomp.c++/atomic-9.C: New test.
9221         * testsuite/libgomp.c++/task-8.C: New test.
9222         * testsuite/libgomp.c++/reduction-4.C: New test.
9223         * testsuite/libgomp.fortran/allocatable7.f90: New test.
9224         * testsuite/libgomp.fortran/allocatable8.f90: New test.
9225         * testsuite/libgomp.fortran/crayptr3.f90: New test.
9226         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9227         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9228         * testsuite/libgomp.fortran/pointer1.f90: New test.
9229         * testsuite/libgomp.fortran/pointer2.f90: New test.
9230         * testsuite/libgomp.fortran/task4.f90: New test.
9231
9232 2011-08-02  Tobias Burnus  <burnus@net-b.de>
9233
9234         * libgomp.texi: Update OpenMP spec references to 3.1.
9235         (omp_in_final,OMP_PROC_BIND): New sections.
9236         (OMP_NUM_THREADS): Document that the value can be now a list.
9237         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9238
9239 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
9240
9241         * config/linux/x86/futex.h: Check __x86_64__ instead of
9242         __LP64__.
9243
9244 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
9245
9246         PR middle-end/49897
9247         PR middle-end/49898
9248         * testsuite/libgomp.c/pr49897-1.c: New test.
9249         * testsuite/libgomp.c/pr49897-2.c: New test.
9250         * testsuite/libgomp.c/pr49898-1.c: New test.
9251         * testsuite/libgomp.c/pr49898-2.c: New test.
9252
9253 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
9254
9255         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9256         for ia32 instead of ilp32.
9257
9258         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9259         * testsuite/libgomp.c/atomic-6.c: Likewise.
9260
9261 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
9262
9263         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9264         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9265
9266 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9267
9268         PR libgomp/45351
9269         * config/osf/sem.h: New file.
9270         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9271
9272 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9273
9274         PR target/49541
9275         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9276         ldflags.
9277
9278 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
9279
9280         * config/linux/wait.h (do_spin): New inline, largely copied
9281         from do_wait, just don't do futex_wait here, instead return true if
9282         it should be done.
9283         (do_wait): Implement using do_spin.
9284         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9285         to prototype.
9286         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9287         __sync_bool_compare_and_swap, pass the oldval to
9288         gomp_mutex_lock_slow.
9289         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9290         If all mutex contenders are just spinning and not sleeping, don't
9291         change state to 2 unnecessarily.  Optimize the loop when state has
9292         already become 2 to use just one atomic operation per loop instead
9293         of two.
9294         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9295         to prototype.
9296         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9297         __sync_bool_compare_and_swap, pass the oldval to
9298         gomp_mutex_lock_slow.
9299
9300 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
9301
9302         PR libgomp/49490
9303         * iter.c (gomp_iter_static_next): For chunk size 0
9304         only use n ceil/ nthreads size for the first
9305         n % nthreads threads in the team instead of
9306         all threads except for the last few ones which
9307         get less work or none at all.
9308         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9309         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9310         chunk argument, set run_sched_modifier to 0 for static
9311         resp. 1 for other kinds.  If chunk argument is 0
9312         and not static, set value to 1.
9313
9314 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
9315
9316         PR c++/49043
9317         * testsuite/libgomp.c++/pr49043.C: New test.
9318
9319         PR c++/48869
9320         * testsuite/libgomp.c++/pr48869.C: New test.
9321
9322 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
9323
9324         PR fortran/48894
9325         * fortran.c: Include limits.h.
9326         (TO_INT): Define.
9327         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9328         *set.
9329         (omp_set_num_threads_8_, omp_set_schedule_8_,
9330         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9331         omp_get_team_size_8_): Use TO_INT macro.
9332         * testsuite/libgomp.fortran/pr48894.f90: New test.
9333
9334 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
9335
9336         PR middle-end/48591
9337         * testsuite/libgomp.c/pr48591.c: New test.
9338
9339 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9340
9341         PR bootstrap/48135
9342         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9343         * configure: Regenerate.
9344
9345 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
9346
9347         PR fortran/47886
9348         * testsuite/libgomp.fortran/task3.f90: New test.
9349
9350 2011-02-24  Tobias Burnus  <burnus@net-b.de>
9351
9352         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9353
9354 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
9355
9356         PR libgomp/47854
9357         * libgomp.texi (omp_get_wtime): Don't say time in the past
9358         must be Unix Epoch.
9359
9360 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
9361
9362         PR libgomp/47804
9363         * testsuite/libgomp.fortran/fortran.exp: Check for both
9364         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
9365         but $blddir != "", still append ${blddir}/${lang_library_path}
9366         to ld_library_path.
9367
9368 2011-02-16  Tobias Burnus  <burnus@net-b.de>
9369
9370         PR libgomp/47758
9371         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9372         of libquadmath.a before adding its libpath to ldflags.
9373
9374 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
9375
9376         PR libgomp/47731
9377         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9378         to FUTEX_WAIT futex syscall.
9379         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9380
9381 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9382
9383         * configure: Regenerate.
9384
9385 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
9386
9387         PR libstdc++/36104
9388         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9389
9390 2011-01-16  Gerald Pfeifer
9391
9392         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9393
9394 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
9395
9396         PR fortran/46874
9397         * libgomp.fortran/allocatable6.f90: New test.
9398
9399 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9400
9401         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9402         * configure: Regenerate.
9403
9404 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
9405
9406         PR target/40125
9407         PR lto/46695
9408         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9409         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9410         * aclocal.m4: Regenerate.
9411         * configure: Regenerate.
9412         * Makefile.in: Regenerate.
9413         * testsuite/Makefile.in: Regenerate.
9414
9415 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
9416
9417         PR fortran/46753
9418         * libgomp.fortran/pr46753.f90: New test.
9419
9420         PR libgomp/43706
9421         * env.c (initialize_env): Default to spin count 300000
9422         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9423         is specified.
9424
9425         PR libgomp/45240
9426         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9427         at the end if sync builtins aren't supported.
9428
9429 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9430
9431         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9432
9433 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9434
9435         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9436
9437 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
9438
9439         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9440
9441 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9442             Tobias Burnus  <burnus@net-b.de>
9443
9444         PR fortran/32049
9445         * configure.ac:
9446         * configure: Regenerate.
9447
9448 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
9449
9450         * config/linux/futex.h: New.
9451         * config/linux/arm/mutex.h: New.
9452         * configure.tgt (arm*-*-linux*): Add config path.
9453
9454 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
9455
9456         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9457
9458 2010-09-23  Tobias Burnus  <burnus@net-b.de>
9459
9460         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9461         Change Fortran datatype to LOGICAL.
9462         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9463         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9464
9465 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9466
9467         * configure: Regenerate.
9468
9469 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
9470
9471         * libgomp.texi: Add function keyword to a couple of Fortran
9472         interfaces, use integer instead of int for Fortran.
9473
9474 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
9475
9476         * libgomp.texi: Fix spelling and pasto problems throughout.
9477         Adjust prototypes to match code.
9478
9479 2010-07-24  Tobias Burnus  <burnus@net-b.de>
9480
9481         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9482         silence -fwhole-file warning.
9483
9484 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9485
9486         * configure.tgt (*-*-solaris2.[56]*): Removed.
9487
9488 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9489
9490         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9491         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9492         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9493         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9494         targetting solaris2*.
9495         * configure: Regenerate.
9496         * config.h.in: Regenerate.
9497
9498         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9499         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9500         Add libgomp_version_dep.
9501         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9502         versioning.
9503         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9504         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9505         * Makefile.in: Regenerate.
9506
9507         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9508         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9509         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9510         to common block, protected by
9511         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9512
9513 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
9514
9515         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
9516
9517 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
9518
9519         PR bootstrap/43170
9520         * configure: Regenerate.
9521
9522 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9523
9524         PR other/43620
9525         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9526         * configure: Regenerate.
9527         * Makefile.in: Regenerate.
9528         * testsuite/Makefile.in: Regenerate.
9529
9530 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
9531
9532         PR c/43893
9533         * testsuite/libgomp.c/pr43893.c: New test.
9534         * testsuite/libgomp.c++/pr43893.C: New test.
9535
9536 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
9537
9538         PR middle-end/43570
9539         * testsuite/libgomp.fortran/vla8.f90: New test.
9540
9541 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
9542
9543         PR libgomp/43706
9544         * config/linux/affinity.c (gomp_init_affinity): Decrease
9545         gomp_available_cpus if affinity mask confines the process to fewer
9546         CPUs.
9547         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9548         non-NULL, just return gomp_available_cpus.
9549
9550         PR libgomp/43569
9551         * sections.c (gomp_sections_init): Initialize ws->mode.
9552
9553 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
9554
9555         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9556         not unused bar variable.
9557         * configure: Regenerate.
9558
9559 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9560
9561         * Makefile.in: Regenerate.
9562         * aclocal.m4: Regenerate.
9563         * testsuite/Makefile.in: Regenerate.
9564
9565 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
9566
9567         PR libgomp/42942
9568         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9569         (initialize_env): Adjust callers.
9570         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9571         when the argument is 0.
9572
9573         * testsuite/libgomp.c/pr42942.c: New test.
9574
9575 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
9576
9577         PR middle-end/42644
9578         PR middle-end/42130
9579         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9580         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9581
9582 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9583
9584         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9585         * testsuite/libgomp.c++/task-6.C: Likewise.
9586
9587 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
9588
9589         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9590
9591 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
9592
9593         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9594         * configure: Regenerate.
9595
9596 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
9597
9598         PR fortran/42866
9599         * testsuite/libgomp.fortran/allocatable5.f90: New test.
9600
9601 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
9602
9603         * configure.ac: Test for executability of GFORTRAN.
9604         * configure: Regenerate.
9605
9606 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9607
9608         * configure: Regenerate.
9609
9610 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
9611
9612         PR libgomp/42602
9613         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9614
9615 2010-01-03  Richard Guenther  <rguenther@suse.de>
9616
9617         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9618
9619 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
9620
9621         * testsuite/libgomp.graphite/pr4118.c: New.
9622
9623 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
9624
9625         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9626         for darwin, protect the test with require-effective-target tls_runtime.
9627         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9628
9629 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
9630
9631         PR target/41605
9632         * testsuite/lib/libgomp.exp: Provide -B options to allow for
9633         link spec %s substitutions for static libraries.
9634
9635 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
9636
9637         PR testsuite/42135
9638         * libgomp.graphite/force-parallel-2.c: Reduce array size.
9639
9640 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9641
9642         * Makefile.in: Regenerate.
9643         * configure: Regenerate.
9644         * testsuite/Makefile.in: Regenerate.
9645
9646 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
9647
9648         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9649         settings for LC_ALL and LANG.
9650
9651 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
9652
9653         PR fortran/42162
9654         * testsuite/libgomp.fortran/pr42162.f90: New test.
9655
9656 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
9657
9658         PR middle-end/42029
9659         * testsuite/libgomp.c/pr42029.c: New test.
9660
9661 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
9662
9663         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
9664         *s.  Accept ld version without text in ()s.
9665         * configure: Regenerated.
9666
9667 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
9668
9669         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
9670
9671 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9672
9673         PR libgomp/41418
9674         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
9675         or a hyphen (happens with fortran language disabled).
9676         * configure: Regenerate.
9677
9678 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9679
9680         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
9681         use sed script portable to Solaris /bin/sed for extracting ld
9682         version.
9683         * configure: Regenerate.
9684
9685 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
9686
9687         * testsuite/libgomp.graphite/bounds.c: New test.
9688
9689 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9690
9691         * Makefile.am (libgomp_la_LINK): New.
9692         * Makefile.in: Regenerate.
9693
9694 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9695
9696         * configure.ac (AC_PREREQ): Bump to 2.64.
9697
9698 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9699
9700         * Makefile.am (install-html, install-pdf): Remove.
9701         * Makefile.in: Regenerate.
9702
9703         * Makefile.in: Regenerate.
9704         * aclocal.m4: Regenerate.
9705         * config.h.in: Regenerate.
9706         * configure: Regenerate.
9707         * testsuite/Makefile.in: Regenerate.
9708
9709 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9710
9711         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
9712         * Makefile.in: Regenerate.
9713
9714 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
9715
9716         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
9717         * Makefile.in: Regenerate.
9718
9719 2009-08-19  Tobias Burnus  <burnus@net-b.de>
9720
9721         PR fortran/41102
9722         omp_lib.h.in: Fix -std=f95 errors.
9723
9724 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
9725
9726         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
9727         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
9728         * testsuite/libgomp.graphite/graphite.exp: New.
9729
9730 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
9731
9732         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
9733         only build.
9734
9735 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
9736
9737         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
9738         needed memory barrier semantics.
9739         * config/linux/mips/mutex.h: New file.
9740
9741 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9742
9743         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
9744
9745 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
9746
9747         * configure: Regenerate.
9748
9749 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
9750
9751         PR testsuite/40699
9752         PR testsuite/40707
9753         PR testsuite/40709
9754         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
9755         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
9756         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
9757
9758 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
9759
9760         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
9761         options when choosing a multilib.
9762
9763 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
9764
9765         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
9766         ld_library_path.  Use add_path.  Add just find_libgcc_s to
9767         ld_library_path, not every libgcc multilib directory.
9768         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
9769         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
9770         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
9771         Use add_path.
9772         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
9773
9774 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
9775
9776         * Makefile.am (LTLDFLAGS): Define.
9777         (LINK): Define.
9778         * Makefile.in: Regenerate.
9779
9780 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
9781
9782         PR fortran/39718
9783         * testsuite/libgomp.fortran/fortran.exp: Don't link with
9784         libgfortranbegin, check existence of libgfortran.a instead of
9785         libgfortranbegin.a.
9786
9787 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
9788
9789         PR libgomp/40174
9790         * team.c (gomp_thread_start): Destroy thr->release semaphore.
9791         (gomp_free_pool_helper): Likewise.
9792
9793 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
9794             Jakub Jelinek  <jakub@redhat.com>
9795
9796         PR fortran/35423
9797         * testsuite/libgomp.fortran/workshare2.f90: New test.
9798
9799 2009-04-09  Nick Clifton  <nickc@redhat.com>
9800
9801         * iter.c: Change copyright header to refer to version 3 of the
9802         GNU General Public License with version 3.1 of the GCC Runtime
9803         Library Exception and to point readers at the COPYING3 and
9804         COPYING3.RUNTIME files and the FSF's license web page.
9805         * alloc.c: Likewise.
9806         * barrier.c: Likewise.
9807         * config/bsd/proc.c: Likewise.
9808         * config/linux/affinity.c: Likewise.
9809         * config/linux/alpha/futex.h: Likewise.
9810         * config/linux/bar.c: Likewise.
9811         * config/linux/bar.h: Likewise.
9812         * config/linux/ia64/futex.h: Likewise.
9813         * config/linux/ia64/mutex.h: Likewise.
9814         * config/linux/lock.c: Likewise.
9815         * config/linux/mips/futex.h: Likewise.
9816         * config/linux/mutex.c: Likewise.
9817         * config/linux/mutex.h: Likewise.
9818         * config/linux/powerpc/futex.h: Likewise.
9819         * config/linux/proc.c: Likewise.
9820         * config/linux/ptrlock.c: Likewise.
9821         * config/linux/ptrlock.h: Likewise.
9822         * config/linux/s390/futex.h: Likewise.
9823         * config/linux/sem.c: Likewise.
9824         * config/linux/sem.h: Likewise.
9825         * config/linux/sparc/futex.h: Likewise.
9826         * config/linux/wait.h: Likewise.
9827         * config/linux/x86/futex.h: Likewise.
9828         * config/mingw32/proc.c: Likewise.
9829         * config/mingw32/time.c: Likewise.
9830         * config/posix/affinity.c: Likewise.
9831         * config/posix/bar.c: Likewise.
9832         * config/posix/bar.h: Likewise.
9833         * config/posix/lock.c: Likewise.
9834         * config/posix/mutex.h: Likewise.
9835         * config/posix/proc.c: Likewise.
9836         * config/posix/ptrlock.h: Likewise.
9837         * config/posix/sem.c: Likewise.
9838         * config/posix/sem.h: Likewise.
9839         * config/posix/time.c: Likewise.
9840         * config/posix95/lock.c: Likewise.
9841         * critical.c: Likewise.
9842         * env.c: Likewise.
9843         * error.c: Likewise.
9844         * fortran.c: Likewise.
9845         * iter_ull.c: Likewise.
9846         * libgomp.h: Likewise.
9847         * libgomp_f.h.in: Likewise.
9848         * libgomp_g.h: Likewise.
9849         * loop.c: Likewise.
9850         * loop_ull.c: Likewise.
9851         * omp.h.in: Likewise.
9852         * omp_lib.f90.in: Likewise.
9853         * omp_lib.h.in: Likewise.
9854         * ordered.c: Likewise.
9855         * parallel.c: Likewise.
9856         * sections.c: Likewise.
9857         * single.c: Likewise.
9858         * task.c: Likewise.
9859         * team.c: Likewise.
9860         * work.c: Likewise.
9861
9862 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
9863
9864         * testsuite/config/default.exp: Change copyright header to refer to
9865         version 3 of the GNU General Public License and to point readers
9866         at the COPYING3 file and the FSF's license web page.
9867
9868 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
9869
9870         PR middle-end/39573
9871         * libgomp.c++/pr39573.C: New test.
9872
9873 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
9874
9875         PR other/39591
9876         * testsuite/libgomp.c/pr39591-1.c: New test.
9877         * testsuite/libgomp.c/pr39591-2.c: New test.
9878         * testsuite/libgomp.c/pr39591-3.c: New test.
9879
9880 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
9881
9882         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9883         * testsuite/libgomp.c/atomic-6.c: Ditto.
9884
9885 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
9886
9887         PR c/39495
9888         * testsuite/libgomp.c/loop-12.c: New test.
9889         * testsuite/libgomp.c/loop-11.c: New test.
9890         * testsuite/libgomp.c++/loop-11.C: New test.
9891         * testsuite/libgomp.c++/loop-12.C: New test.
9892         * testsuite/libgomp.c++/for-8.C: New test.
9893
9894 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9895
9896         * configure: Regenerate.
9897
9898 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
9899
9900         PR middle-end/39154
9901         * testsuite/libgomp.c/pr39154.c: New test.
9902
9903 2009-01-30  Ian Lance Taylor  <iant@google.com>
9904
9905         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9906         libgomp_ld_is_gold.  Get gold version number.
9907         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9908         * configure: Rebuild.
9909
9910 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
9911
9912         * testsuite/lib/libgomp.exp: Add -B option for targets that
9913         use libgfortran.a%s in their specs.
9914
9915 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
9916
9917         PR libgomp/38086
9918         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9919         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9920         HAVE_AS_SYMVER_DIRECTIVE is not defined.
9921         * configure: Regenerated.
9922         * config.h.in: Likewise.
9923
9924 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
9925
9926         PR c++/38650
9927         * testsuite/libgomp.c/pr38650.c: New test.
9928         * testsuite/libgomp.c++/pr38650.C: New test.
9929
9930 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
9931
9932         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9933
9934 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
9935
9936         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9937
9938 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9939
9940         * configure: Regenerate.
9941
9942 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
9943
9944         PR middle-end/36802
9945         * testsuite/libgomp.c/pr36802-1.c: New test.
9946         * testsuite/libgomp.c/pr36802-2.c: New test.
9947         * testsuite/libgomp.c/pr36802-3.c: New test.
9948
9949 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
9950
9951         PR libgomp/38270
9952         * config/linux/powerpc/mutex.h: New.
9953
9954 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
9955
9956         PR c++/38257
9957         * testsuite/libgomp.c++/for-7.C: New test.
9958
9959         PR c++/38348
9960         * testsuite/libgomp.c++/for-6.C: New test.
9961
9962 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
9963
9964         PR testsuite/28870
9965         * testsuite/lib/libgomp.exp: Include new timeout library files.
9966         (libgomp_target_compile): Set timeout value from new proc.
9967
9968 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
9969
9970         PR libgomp/37938
9971         * config/linux/ia64/mutex.h: New.
9972
9973 2008-11-04  Tobias Burnus  <burnus@net-b.de>
9974
9975         PR libgomp/37935
9976         * libgomp.texi (Runtime library routines, environment variables):
9977         Update for OpenMP version 3.0.
9978
9979 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
9980             Steve Ellcey  <sje@cup.hp.com>
9981
9982         * configure: Regenerate for new libtool.
9983         * Makefile.in: Ditto.
9984         * testsuite/Makefile.in: Ditto.
9985
9986 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
9987             Andreas Tobler  <a.tobler@schweiz.org>
9988
9989         * config/bsd/proc.c: New file.
9990         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
9991         * configure.ac: Check for header <sys/sysctl.h>
9992         * configure: Regenerate.
9993         * config.h.in: Likewise.
9994
9995 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
9996
9997         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9998
9999 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
10000
10001         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10002         * Makefile.in: Regenerated.
10003         * testsuite/Makefile.in: Regenerated.
10004
10005 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
10006
10007         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
10008         depend on blddir if blddir exists.
10009         (libgomp_target_compile): Likewise.
10010         * testsuite/libgomp.c++/c++.exp: Likewise.
10011         * testsuite/libgomp.fortran/fortran.exp: Likewise.
10012
10013 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10014
10015         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
10016         Do not list GPL as Invariant Section.
10017
10018 2008-07-28  Ilie Garbacea  <ilie@mips.com>
10019             Chao-ying Fu  <fu@mips.com>
10020
10021         * configure.tgt: Enable futex for MIPS.
10022         * config/linux/mips/futex.h: New file.
10023
10024 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
10025
10026         * team.c (gomp_team_end): Free team immediately if it has
10027         just one thread.
10028
10029 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
10030
10031         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10032         * testsuite/libgomp.fortran/fortran.exp: Same.
10033         * testsuite/libgomp.c/c.exp: Same.
10034         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10035         directory to library path first.
10036
10037 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
10038
10039         * env.c (parse_stacksize): Add cast to avoid warning.
10040         (parse_spincount): Likewise.
10041
10042 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
10043
10044         * testsuite/libgomp.c/loop-10.c: New test.
10045         * libgomp.c/loop-3.c (main): Add lastprivate clause.
10046         * libgomp.c++/loop-6.C (main): Likewise.
10047
10048         PR debug/36617
10049         * testsuite/libgomp.c/debug-1.c: New test.
10050
10051 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
10052
10053         * testsuite/libgomp.c/nqueens-1.c: New test.
10054
10055         PR c++/36523
10056         * testsuite/libgomp.c++/task-7.C: New function.
10057
10058 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10059
10060         * configure: Regenerate.
10061
10062 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10063
10064         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10065         mutex when HAVE_SYNC_BUILTINS isn't defined.
10066
10067 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10068
10069         * libgomp.texi (omp_test_lock): Fix typo.
10070
10071 2008-06-12  Tobias Burnus  <burnus@net-b.de>
10072
10073         * omp_lib.f90.in: Add "implicit none".
10074
10075 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
10076
10077         PR middle-end/36506
10078         * testsuite/libgomp.c/reduction-5.c: New test.
10079
10080 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
10081
10082         * libgomp.h (struct gomp_task): Add in_tied_task field.
10083         * task.c (gomp_init_task): Initialize it.
10084         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
10085         unconditionally.  Don't call gomp_team_barrier_wake if
10086         current task is implicit or if(0) from implicit and number of
10087         running tasks is equal to nthreads - 1.
10088
10089         PR libgomp/36471
10090         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10091         omp_get_team_size_8): Fix pastos.
10092
10093         PR libgomp/36469
10094         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10095         * configure: Regenerated.
10096         * config.h.in: Regenerated.
10097         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10098         defined.
10099
10100 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
10101
10102         PR bootstrap/36452
10103         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10104         (GOMP_loop_ull_dynamic_start): Likewise.
10105         (GOMP_loop_ull_guided_start): Likewise.
10106         (GOMP_loop_ull_ordered_static_start): Likewise.
10107         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10108         (GOMP_loop_ull_ordered_guided_start): Likewise.
10109
10110 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
10111             Richard Henderson  <rth@redhat.com>
10112             Ulrich Drepper  <drepper@redhat.com>
10113             Jakob Blomer  <jakob.blomer@ira.uka.de>
10114
10115         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10116         Substitute also OMP_*LOCK_25*.
10117         * configure: Regenerated.
10118         * config.h.in: Regenerated.
10119         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10120         ptrlock.c and task.c.
10121         * Makefile.in: Regenerated.
10122         * testsuite/Makefile.in: Regenerated.
10123         * task.c: New file.
10124         * loop_ull.c: New file.
10125         * iter_ull.c: New file.
10126         * libgomp.h: Include ptrlock.h.
10127         (enum gomp_task_kind): New type.
10128         (struct gomp_team): Add task_lock, task_queue, task_count,
10129         task_running_count, single_count fields.  Add
10130         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10131         Remove work_share_lock, generation_mask,
10132         oldest_live_gen, num_live_gen and init_work_shares fields, add
10133         work work_share_list_alloc, work_share_list_free and work_share_chunk
10134         fields.  Change work_shares from pointer to pointers into an array.
10135         Change ordered_release field into gomp_sem_t ** from flexible array
10136         member.  Add implicit_task and initial_work_shares fields.
10137         Move close to the end of the struct.
10138         (struct gomp_team_state): Add single_count, last_work_share,
10139         active_level and level fields, remove work_share_generation.
10140         (gomp_barrier_handle_tasks): New prototype.
10141         (gomp_finish_task): New inline function.
10142         (struct gomp_work_share): Move chunk_size, end, incr into
10143         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10144         next_ll fields.  Reshuffle fields.  Add next_alloc,
10145         next_ws, next_free and inline_ordered_team_ids fields, change
10146         ordered_team_ids into pointer from flexible array member.
10147         Add mode field.  Put lock and next into a different cache line
10148         from most of the write-once fields.
10149         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10150         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10151         gomp_iter_ull_guided_next): New prototypes.
10152         (gomp_new_icv): New prototype.
10153         (struct gomp_thread): Add thread_pool and task fields.
10154         (struct gomp_thread_pool): New type.
10155         (gomp_new_team): New prototype.
10156         (gomp_team_start): Change type of last argument.
10157         (gomp_new_work_share): Removed.
10158         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10159         (gomp_work_share_init_done): New static inline.
10160         (gomp_throttled_spin_count_var, gomp_available_cpus,
10161         gomp_managed_threads): New extern decls.
10162         (gomp_init_task): New prototype.
10163         (gomp_spin_count_var): New extern var decl.
10164         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10165         or no alias support, or if not PIC.
10166         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10167         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10168         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10169         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10170         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10171         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10172         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10173         gomp_test_nest_lock_25): New prototypes.
10174         (omp_lock_symver, strong_alias): Define.
10175         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10176         decls.
10177         (gomp_end_task): New.
10178         (struct gomp_task_icv, gomp_global_icv): New.
10179         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10180         (struct gomp_task): New.
10181         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10182         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10183         (gomp_icv): New.
10184         (gomp_schedule_type): Reorder enum to match
10185         omp_sched_t.
10186         * team.c (struct gomp_thread_start_data): Add thread_pool and task
10187         fields.
10188         (gomp_thread_start): Add gomp_team_barrier_wait call.
10189         For non-nested case remove clearing of docked thread thr fields.
10190         Use pool fields instead of global gomp_* variables.  Use
10191         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
10192         Create tasks for each member thread.
10193         (free_team): Only destroy team barrier, task_lock here and free it.
10194         (gomp_free_thread): Free last_team if non-NULL.
10195         (gomp_team_end): Call gomp_team_barrier_wait instead of
10196         gomp_barrier_wait.  For nested case call one extra
10197         gomp_barrier_wait.  Move here some destruction from free_team.
10198         Call free_team on pool->last_team if any, rather than freeing
10199         current team.  Destroy work_share_list_free_lock ifndef
10200         HAVE_SYNC_BUILTINS.
10201         (gomp_new_icv): New function.
10202         (gomp_threads, gomp_threads_size, gomp_threads_used,
10203         gomp_threads_dock): Removed.
10204         (gomp_thread_destructor): New variable.
10205         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10206         functions.
10207         (gomp_team_start): Create new pool if current thread doesn't have
10208         one.  Use pool fields instead of global gomp_* variables.
10209         Initialize thread_pool field for new threads.  Clear single_count.
10210         Change last argument from ws to team, don't create
10211         new team, set ts.work_share to &team->work_shares[0] and clear
10212         ts.last_work_share.  Don't clear ts.work_share_generation.
10213         If number of threads changed, adjust atomically gomp_managed_threads.
10214         Use gomp_init_task instead of gomp_new_task,
10215         set thr->task to the corresponding implicit_task array entry.
10216         Create tasks for each member thread.  Initialize ts.level.
10217         (initialize_team): Call pthread_key_create on
10218         gomp_thread_destructor.
10219         (team_destructor): New function.
10220         (new_team): Removed.
10221         (gomp_new_team): New function.
10222         (free_team): Free gomp_work_share blocks chained through next_alloc,
10223         instead of freeing work_shares and destroying work_share_lock.
10224         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
10225         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
10226         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10227         of gomp_barrier_wait.
10228         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10229         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
10230         if gomp_work_share_start returned true.  Don't unlock ws->lock.
10231         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10232         of gomp_barrier_wait.
10233         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
10234         gomp_work_share_init_done if gomp_work_share_start returned true.
10235         Don't unlock ws->lock.
10236         * work.c: Include stddef.h.
10237         (free_work_share): Use work_share_list_free_lock instead
10238         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
10239         Call gomp_fini_work_share and then either free ws if orphaned, or
10240         put it into work_share_list_free list of the current team.
10241         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10242         functions.
10243         (gomp_work_share_start, gomp_work_share_end,
10244         gomp_work_share_end_nowait): Rewritten.
10245         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10246         (openmp_version): Set to 200805.
10247         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10248         omp_sched_guided, omp_sched_auto): New parameters.
10249         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10250         omp_set_max_active_levels, omp_get_max_active_levels,
10251         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10252         omp_get_active_level): New interfaces.
10253         * omp_lib.h.in (openmp_version): Set to 200805.
10254         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10255         omp_sched_guided, omp_sched_auto): New parameters.
10256         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10257         omp_set_max_active_levels, omp_get_max_active_levels,
10258         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10259         omp_get_active_level): New externals.
10260         * loop.c: Include limits.h.
10261         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10262         GFS_AUTO.
10263         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10264         Likewise.  Use gomp_icv.
10265         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10266         ts.static_trip here.
10267         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10268         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
10269         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10270         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
10271         don't unlock ws->lock, otherwise lock it.
10272         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10273         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
10274         (gomp_parallel_loop_start): Call gomp_new_team instead of
10275         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
10276         Adjust gomp_team_start caller.  Pass 0 as second argument to
10277         gomp_resolve_num_threads.
10278         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10279         If adding ws->chunk_size nthreads + 1 times after end won't
10280         overflow, set ws->mode to 1.
10281         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10282         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10283         GOMP_loop_ull_ordered_static_start,
10284         GOMP_loop_ull_ordered_dynamic_start,
10285         GOMP_loop_ull_ordered_guided_start,
10286         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10287         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10288         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10289         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10290         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10291         prototypes.
10292         * libgomp.map: Export lock routines also @@OMP_2.0.
10293         (GOMP_loop_ordered_dynamic_first,
10294         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10295         GOMP_loop_ordered_static_first): Remove.
10296         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10297         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10298         GOMP_loop_ull_ordered_dynamic_next,
10299         GOMP_loop_ull_ordered_dynamic_start,
10300         GOMP_loop_ull_ordered_guided_next,
10301         GOMP_loop_ull_ordered_guided_start,
10302         GOMP_loop_ull_ordered_runtime_next,
10303         GOMP_loop_ull_ordered_runtime_start,
10304         GOMP_loop_ull_ordered_static_next,
10305         GOMP_loop_ull_ordered_static_start,
10306         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10307         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10308         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10309         (omp_set_schedule, omp_get_schedule,
10310         omp_get_thread_limit, omp_set_max_active_levels,
10311         omp_get_max_active_levels, omp_get_level,
10312         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10313         omp_set_schedule_, omp_set_schedule_8_,
10314         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10315         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10316         omp_get_max_active_levels_, omp_get_level_,
10317         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10318         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10319         New exports @@OMP_3.0.
10320         * omp.h.in (omp_sched_t): New type.
10321         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10322         omp_set_max_active_levels, omp_get_max_active_levels,
10323         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10324         omp_get_active_level): New prototypes.
10325         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10326         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10327         gomp_thread_limit_var, gomp_remaining_threads_count,
10328         gomp_remaining_threads_lock): New variables.
10329         (parse_spincount): New function.
10330         (initialize_env): Call gomp_init_num_threads unconditionally.
10331         Initialize gomp_available_cpus.  Call parse_spincount,
10332         initialize gomp_{,throttled_}spin_count_var
10333         depending on presence and value of OMP_WAIT_POLICY and
10334         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
10335         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10336         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
10337         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
10338         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
10339         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10340         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10341         (gomp_global_icv): New.
10342         (parse_schedule): Use it.  Parse "auto".
10343         (omp_set_num_threads): Use gomp_icv.
10344         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10345         Likewise.
10346         (omp_get_max_threads): Move from parallel.c.
10347         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10348         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10349         add ialias.
10350         (parse_stacksize, parse_wait_policy): New functions.
10351         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10352         both wrappers for compatibility and new locks.
10353         (omp_set_schedule, omp_get_schedule,
10354         omp_get_thread_limit, omp_set_max_active_levels,
10355         omp_get_max_active_levels, omp_get_level,
10356         omp_get_ancestor_thread_num, omp_get_team_size,
10357         omp_get_active_level): New ialias_redirect.
10358         (omp_set_schedule_, omp_set_schedule_8_,
10359         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10360         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10361         omp_get_max_active_levels_, omp_get_level_,
10362         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10363         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10364         New functions.
10365         * parallel.c: Include limits.h.
10366         (gomp_resolve_num_threads): Add count argument.  Rewritten.
10367         (GOMP_parallel_start): Call gomp_new_team and pass that as last
10368         argument to gomp_team_start.  Pass 0 as second argument to
10369         gomp_resolve_num_threads.
10370         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10371         if gomp_thread_limit_var != ULONG_MAX.
10372         (omp_in_parallel): Implement using ts.active_level.
10373         (omp_get_max_threads): Move to env.c.
10374         (omp_get_level, omp_get_ancestor_thread_num,
10375         omp_get_team_size, omp_get_active_level): New functions,
10376         add ialias.
10377         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10378         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
10379         gomp_iter_dynamic_next instead of the _locked variant and don't take
10380         lock around it, otherwise acquire it before calling
10381         gomp_iter_dynamic_next_locked.
10382         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10383         gomp_iter_dynamic_next instead of the _locked variant and don't take
10384         lock around it.
10385         (GOMP_parallel_sections_start): Call gomp_new_team instead of
10386         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
10387         Adjust gomp_team_start caller.  Pass count as second argument to
10388         gomp_resolve_num_threads, don't adjust num_threads after the call.
10389         Use gomp_icv.
10390         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10391         ws->chunk_size by incr.
10392         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
10393         code.
10394         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10395         types.
10396         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10397         (omp_check_defines): Check even the compat defines.
10398         * config/linux/ptrlock.c: New file.
10399         * config/linux/ptrlock.h: New file.
10400         * config/linux/wait.h: New file.
10401         * config/posix/ptrlock.c: New file.
10402         * config/posix/ptrlock.h: New file.
10403         * config/linux/bar.h (gomp_team_barrier_wait,
10404         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10405         (gomp_team_barrier_set_task_pending,
10406         gomp_team_barrier_clear_task_pending,
10407         gomp_team_barrier_set_waiting_for_tasks,
10408         gomp_team_barrier_waiting_for_tasks,
10409         gomp_team_barrier_done): New inlines.
10410         (gomp_barrier_t): Rewritten.
10411         (gomp_barrier_state_t): New typedef.
10412         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10413         gomp_barrier_wait_start): Rewritten.
10414         (gomp_barrier_wait_end): Change second argument to
10415         gomp_barrier_state_t.
10416         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10417         inlines.
10418         * config/linux/bar.c: Include wait.h instead of libgomp.h and
10419         futex.h.
10420         (gomp_barrier_wait_end): Rewritten.
10421         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10422         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10423         * config/posix/bar.h (gomp_barrier_t): Add generation field.
10424         (gomp_barrier_state_t): New typedef.
10425         (gomp_team_barrier_wait,
10426         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10427         (gomp_barrier_wait_start): Or all but low 2 bits from generation
10428         into the return value.  Return gomp_barrier_state_t.
10429         (gomp_team_barrier_set_task_pending,
10430         gomp_team_barrier_clear_task_pending,
10431         gomp_team_barrier_set_waiting_for_tasks,
10432         gomp_team_barrier_waiting_for_tasks,
10433         gomp_team_barrier_done): New inlines.
10434         (gomp_barrier_wait_end): Change second argument to
10435         gomp_barrier_state_t.
10436         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10437         inlines.
10438         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10439         (gomp_barrier_wait_end): Change second argument to
10440         gomp_barrier_state_t.
10441         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10442         gomp_team_barrier_wake): New functions.
10443         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10444         futex.h.
10445         (gomp_futex_wake, gomp_futex_wait): New variables.
10446         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10447         * config/linux/lock.c: Rewrite to make locks task owned,
10448         for backwards compatibility provide the old entrypoints
10449         if symbol versioning.  Include wait.h instead of libgomp.h and
10450         futex.h.
10451         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10452         * config/posix95/lock.c: Rewrite to make locks task owned,
10453         for backwards compatibility provide the old entrypoints
10454         if symbol versioning.
10455         * config/posix/lock.c: Rewrite to make locks task owned,
10456         for backwards compatibility provide the old entrypoints
10457         if symbol versioning.
10458         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10459         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10460         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10461         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10462         (sys_futex0): Return error code.
10463         (futex_wake, futex_wait): If ENOSYS was returned, clear
10464         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10465         (cpu_relax, atomic_write_barrier): New static inlines.
10466         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10467         (futex_wake, futex_wait): If ENOSYS was returned, clear
10468         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10469         (cpu_relax, atomic_write_barrier): New static inlines.
10470         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10471         (sys_futex0): Return error code.
10472         (futex_wake, futex_wait): If ENOSYS was returned, clear
10473         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10474         (cpu_relax, atomic_write_barrier): New static inlines.
10475         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10476         (sys_futex0): Return error code.
10477         (futex_wake, futex_wait): If ENOSYS was returned, clear
10478         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10479         (cpu_relax, atomic_write_barrier): New static inlines.
10480         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10481         (sys_futex0): Return error code.
10482         (futex_wake, futex_wait): If ENOSYS was returned, clear
10483         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10484         (cpu_relax, atomic_write_barrier): New static inlines.
10485         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10486         (sys_futex0): Return error code.
10487         (futex_wake, futex_wait): If ENOSYS was returned, clear
10488         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10489         (cpu_relax, atomic_write_barrier): New static inlines.
10490         * config/linux/sem.c: Include wait.h instead of libgomp.h and
10491         futex.h.
10492         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10493         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10494         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10495         types.
10496         (omp_nest_lock_t): Change owner into void *, add lock field.
10497         * config/posix95/omp-lock.h: Include semaphore.h.
10498         (omp_lock_25_t, omp_nest_lock_25_t): New types.
10499         (omp_lock_t): Use sem_t instead of mutex if semaphores
10500         aren't broken.
10501         (omp_nest_lock_t): Likewise.  Change owner to void *.
10502         * config/posix/omp-lock.h: Include semaphore.h.
10503         (omp_lock_25_t, omp_nest_lock_25_t): New types.
10504         (omp_lock_t): Use sem_t instead of mutex if semaphores
10505         aren't broken.
10506         (omp_nest_lock_t): Likewise.  Add owner field.
10507
10508 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
10509
10510         * testsuite/libgomp.c/collapse-1.c: New test.
10511         * testsuite/libgomp.c/collapse-2.c: New test.
10512         * testsuite/libgomp.c/collapse-3.c: New test.
10513         * testsuite/libgomp.c/icv-1.c: New test.
10514         * testsuite/libgomp.c/icv-2.c: New test.
10515         * testsuite/libgomp.c/lib-2.c: New test.
10516         * testsuite/libgomp.c/lock-1.c: New test.
10517         * testsuite/libgomp.c/lock-2.c: New test.
10518         * testsuite/libgomp.c/lock-3.c: New test.
10519         * testsuite/libgomp.c/loop-4.c: New test.
10520         * testsuite/libgomp.c/loop-5.c: New test.
10521         * testsuite/libgomp.c/loop-6.c: New test.
10522         * testsuite/libgomp.c/loop-7.c: New test.
10523         * testsuite/libgomp.c/loop-8.c: New test.
10524         * testsuite/libgomp.c/loop-9.c: New test.
10525         * testsuite/libgomp.c/nested-3.c: New test.
10526         * testsuite/libgomp.c/nestedfn-6.c: New test.
10527         * testsuite/libgomp.c/sort-1.c: New test.
10528         * testsuite/libgomp.c/task-1.c: New test.
10529         * testsuite/libgomp.c/task-2.c: New test.
10530         * testsuite/libgomp.c/task-3.c: New test.
10531         * testsuite/libgomp.c/task-4.c: New test.
10532         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10533         to C++ testsuite default compiler options.
10534         * testsuite/libgomp.c++/collapse-1.C: New test.
10535         * testsuite/libgomp.c++/collapse-2.C: New test.
10536         * testsuite/libgomp.c++/ctor-10.C: New test.
10537         * testsuite/libgomp.c++/for-1.C: New test.
10538         * testsuite/libgomp.c++/for-2.C: New test.
10539         * testsuite/libgomp.c++/for-3.C: New test.
10540         * testsuite/libgomp.c++/for-4.C: New test.
10541         * testsuite/libgomp.c++/for-5.C: New test.
10542         * testsuite/libgomp.c++/loop-8.C: New test.
10543         * testsuite/libgomp.c++/loop-9.C: New test.
10544         * testsuite/libgomp.c++/loop-10.C: New test.
10545         * testsuite/libgomp.c++/task-1.C: New test.
10546         * testsuite/libgomp.c++/task-2.C: New test.
10547         * testsuite/libgomp.c++/task-3.C: New test.
10548         * testsuite/libgomp.c++/task-4.C: New test.
10549         * testsuite/libgomp.c++/task-5.C: New test.
10550         * testsuite/libgomp.c++/task-6.C: New test.
10551         * testsuite/libgomp.fortran/allocatable1.f90: New test.
10552         * testsuite/libgomp.fortran/allocatable2.f90: New test.
10553         * testsuite/libgomp.fortran/allocatable3.f90: New test.
10554         * testsuite/libgomp.fortran/allocatable4.f90: New test.
10555         * testsuite/libgomp.fortran/collapse1.f90: New test.
10556         * testsuite/libgomp.fortran/collapse2.f90: New test.
10557         * testsuite/libgomp.fortran/collapse3.f90: New test.
10558         * testsuite/libgomp.fortran/collapse4.f90: New test.
10559         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10560         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10561         * testsuite/libgomp.fortran/lib4.f90: New test.
10562         * testsuite/libgomp.fortran/lock-1.f90: New test.
10563         * testsuite/libgomp.fortran/lock-2.f90: New test.
10564         * testsuite/libgomp.fortran/nested1.f90: New test.
10565         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10566         * testsuite/libgomp.fortran/strassen.f90: New test.
10567         * testsuite/libgomp.fortran/tabs1.f90: New test.
10568         * testsuite/libgomp.fortran/tabs2.f: New test.
10569         * testsuite/libgomp.fortran/task1.f90: New test.
10570         * testsuite/libgomp.fortran/task2.f90: New test.
10571         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10572         * testsuite/libgomp.fortran/vla5.f90: Likewise.
10573         * testsuite/libgomp.c/pr26943-2.c: Likewise.
10574         * testsuite/libgomp.c/pr26943-3.c: Likewise.
10575         * testsuite/libgomp.c/pr26943-4.c: Likewise.
10576
10577 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
10578
10579         PR c++/36308
10580         * testsuite/libgomp.c++/ctor-11.C: New test.
10581         * testsuite/libgomp.c++/ctor-12.C: New test.
10582
10583 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
10584
10585         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10586
10587 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
10588
10589         PR middle-end/36106
10590         * testsuite/libgomp.c/atomic-5.c: New test.
10591         * testsuite/libgomp.c/atomic-6.c: New test.
10592         * testsuite/libgomp.c/autopar-1.c: New test.
10593
10594 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10595
10596         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10597         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10598         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10599         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10600         * configure: Regenerate.
10601         * Makefile.in, testsuite/Makefile.in: Likewise.
10602
10603 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
10604
10605         PR bootstrap/35457
10606         * aclocal.m4: Regenerate.
10607         * configure: Regenerate.
10608
10609 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
10610
10611         PR middle-end/35611
10612         * testsuite/libgomp.c/atomic-4.c: New test.
10613
10614         PR libgomp/35625
10615         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10616         (gomp_iter_guided_next): Likewise.
10617         * testsuite/libgomp.c/pr35625.c: New test.
10618
10619 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10620
10621         * aclocal.m4: Regenerate.
10622         * configure: Likewise.
10623         * Makefile.in: Likewise.
10624         * testsuite/Makefile.in: Likewise.
10625
10626 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
10627
10628         PR middle-end/35185
10629         * testsuite/libgomp.c++/pr35185.C: New test.
10630
10631 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
10632
10633         PR middle-end/35549
10634         * testsuite/libgomp.c/pr35549.c: New test.
10635
10636 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
10637
10638         * testsuite/libgomp.c/atomic-3.c: New test.
10639
10640 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
10641
10642         PR fortran/33197
10643         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
10644         .F08 file suffixes.
10645
10646 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
10647
10648         PR libgomp/33131
10649         * configure.ac: Add ACX_HEADER_STRING.
10650         * env.c: Include strings.h.
10651         * aclocal.m4: Regenerate.
10652         * config.h.in: Regenerate.
10653         * configure: Regenerate.
10654         * Makefile.in: Regenerate.
10655         * testsuite/Makefile.in: Regenerate.
10656
10657 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
10658
10659         PR middle-end/35196
10660         * testsuite/libgomp.c/pr35196.c: New test.
10661
10662         PR middle-end/35130
10663         * testsuite/libgomp.fortran/pr35130.f90: New test.
10664         * testsuite/libgomp.c/pr35130.c: New test.
10665
10666 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
10667
10668         PR middle-end/33880
10669         * testsuite/libgomp.c/pr33880.c: New test.
10670         * testsuite/libgomp.fortran/pr33880.f90: New test.
10671
10672 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
10673
10674         * configure: Regenerate.
10675
10676 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
10677
10678         * configure.ac: Move futex checking into ../config/futex.m4.
10679         * configure: Rebuilt.
10680         * aclocal.m4: Rebuilt.
10681         * Makefile.in: Rebuilt.
10682
10683         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
10684         2007-10-15 ../config/tls.m4 change.
10685
10686 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
10687
10688         PR c++/34513
10689         * testsuite/libgomp.c/pr34513.c: New test.
10690         * testsuite/libgomp.c++/pr34513.C: New test.
10691
10692 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
10693
10694         PR target/32765
10695         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
10696
10697 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
10698
10699         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
10700
10701 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
10702
10703         * testsuite/libgomp.c/private-1.c: New test.
10704
10705 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
10706             Paolo Bonzini  <bonzini@gnu.org>
10707
10708         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
10709         instead of 'VPATH ='.
10710         * Makefile.in: Regenerate.
10711
10712 2007-11-23  Matthias Klose  <doko@ubuntu.com>
10713
10714         * configure.ac: Adjust makeinfo version check.
10715         * configure: Regenerate.
10716
10717 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
10718
10719         PR fortran/34020
10720         * testsuite/libgomp.fortran/pr34020.f90: New test.
10721
10722 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
10723
10724         PR c++/33894
10725         * testsuite/libgomp.c++/atomic-1.C: New test.
10726
10727 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
10728
10729         PR libgomp/33275
10730         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
10731         Make x and y integers rather than (implicit) reals.  Add private (j)
10732         clause to the last omp parallel.
10733
10734 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
10735
10736         * configure: Regenerate following changes to ../config/tls.m4.
10737
10738 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
10739
10740         * testsuite/libgomp.fortran/stack.f90: New test.
10741
10742 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
10743
10744         * config/mingw32/proc.c: New file.
10745
10746 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
10747
10748         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
10749         (main): Use __get_cpuid to get i386 target fetaures.
10750         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
10751         (main): Use __get_cpuid to get x86_64 target fetaures.
10752
10753 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
10754
10755         PR target/32765
10756         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
10757         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
10758
10759 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
10760
10761         PR fortran/32550
10762         * testsuite/libgomp.fortran/pr32550.f90: New test.
10763         * testsuite/libgomp.fortran/crayptr2.f90: New test.
10764
10765 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
10766
10767         * aclocal.m4: Regenerated.
10768
10769 2007-07-05  Tobias Burnus  <burnus@net-b.de>
10770
10771         PR fortran/32359
10772         * testsuite/libgomp.fortran/pr32359.f90: New.
10773
10774 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
10775
10776         PR libgomp/32468
10777         * sections.c (GOMP_parallel_sections_start): Only decrease
10778         number of threads to COUNT if dyn_var is true.
10779         * testsuite/libgomp.c/pr32468.c: New test.
10780
10781 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10782
10783         PR libgomp/26308
10784         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10785
10786 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
10787
10788         PR middle-end/32362
10789         * testsuite/libgomp.c/pr32362-1.c: New test.
10790         * testsuite/libgomp.c/pr32362-2.c: New test.
10791         * testsuite/libgomp.c/pr32362-3.c: New test.
10792
10793 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
10794
10795         * team.c (gomp_team_start): Fix setting up thread_attr
10796         stack size.
10797
10798 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
10799
10800         * configure: Regenerate.
10801
10802 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
10803
10804         * Makefile.in: Regenerate.
10805         * configure: Regenerate.
10806         * aclocal.m4: Regenerate.
10807         * testsuite/Makefile.in: Regenerate.
10808
10809 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
10810
10811         * config/linux/proc.c: New file.
10812
10813         PR libgomp/28482
10814         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10815
10816 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
10817
10818         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10819
10820 2007-04-16  Matthias Klose  <doko@debian.org>
10821
10822         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10823         flags if not building with -m64.
10824         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10825         flag for i?86-*-* targets, if current target matches -m64.
10826
10827 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
10828
10829         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10830         * Makefile.in: Regenerate.
10831
10832 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10833
10834         PR testsuite/31369
10835         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10836         ld_library_path.
10837         * testsuite/libgomp.fortran/fortran.exp: Likewise.
10838
10839 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
10840
10841         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10842         decls.
10843         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10844         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10845         (parse_affinity): New function.
10846         (initialize_env): Call it and gomp_init_affinity.
10847         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10848         create new pthread_attr_t and call gomp_init_thread_affinity
10849         on it for each thread before passing the attribute to pthread_create.
10850         * config/linux/affinity.c: New file.
10851         * config/posix/affinity.c: New file.
10852         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10853         * configure: Rebuilt.
10854         * config.h.in: Rebuilt.
10855         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10856         * Makefile.in: Rebuilt.
10857
10858 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
10859
10860         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10861         *-*-darwin*.
10862         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10863         and use it if found.
10864
10865 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
10866
10867         * testsuite/config/default.exp: New file.
10868         * testsuite/lib/libgomp.exp: New file.
10869         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10870         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10871         load_lib *, load_gcc_lib *): Move to libgomp.exp.
10872         (libgomp_load): Remove.
10873         * testsuite/lib/libgomp.exp (libgomp_init): Compute
10874         always_ld_library_path, not ld_library_path.  Set additional_flags
10875         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10876         (target_compile): Do not call libgomp_init.  Append lang_library_path
10877         and lang_link_flags to options.
10878         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
10879         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
10880         here.
10881         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10882         always_ld_library_path.  Set LD_LIBRARY_PATH here.
10883         * testsuite/libgomp.fortran/fortran.exp: Ditto.
10884         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10885         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10886         CX8 flag.
10887         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10888         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10889         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10890         * testsuite/libgomp.c/pr29947-1.c: Ditto.
10891         * testsuite/libgomp.c/atomic-10.c: Ditto.
10892
10893 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
10894
10895         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10896         dg-final cleanup-modules line.
10897         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10898         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10899         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10900         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10901         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10902         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10903         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10904
10905 2007-03-18  Andreas Schwab  <schwab@suse.de>
10906
10907         * acinclude.m4: Adjust regular expression for ld version
10908         extraction.
10909         * configure: Regenerate.
10910
10911 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
10912
10913         * Makefile.am: Add install-pdf target as copied from
10914         automake v1.10 rules.
10915         * Makefile.in: Regenerate
10916
10917 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
10918
10919         PR libgomp/28486
10920         * configure: Regenerate.
10921
10922         PR c++/30703
10923         * testsuite/libgomp.c++/pr30703.C: New test.
10924
10925 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
10926
10927         Revert:
10928         2006-07-05  Eric Christopher  <echristo@apple.com>
10929         * configure.ac: Depend addition of -pthread on host OS.
10930         * configure: Regenerate.
10931
10932 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10933
10934         * libgomp.texi: Fix spacing after abbreviations.
10935
10936 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
10937
10938         PR libgomp/30546
10939         * configure.ac: Add check for makeinfo
10940         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10941         if an appropiate version of makeinfo is found.
10942         * aclocal.m4: Regenerated.
10943         * configure: Regenerated.
10944         * Makefile.in: Regenerated.
10945         * testsuite/Makefile.in: Regenerated.
10946
10947 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
10948
10949         PR libgomp/30540
10950         * libgomp.texi: More about implementation-dependent settings.
10951
10952 2007-01-26  Tobias Burnus  <burnus@net-b.de>
10953
10954         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10955
10956 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
10957
10958         PR middle-end/30494
10959         * testsuite/libgomp.c/pr30494.c: New test.
10960
10961 2007-01-15  Tom Tromey  <tromey@redhat.com>
10962
10963         * configure: Rebuilt.
10964         * configure.ac: Fixed comment.
10965
10966 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
10967
10968         * libgomp.texi: Document implementation specific default values of
10969         environment variables.
10970
10971 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
10972
10973         PR libgomp/28209
10974         * libgomp.texi: New file.
10975         * configure.ac: Add --enable-generated-files-in-srcdir option.
10976         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10977         files to srcdir.
10978         * Makefile.in: Regenerated.
10979         * config.h.in: Regenerated.
10980         * testsuite/Makefile.in: Regenerated.
10981         * NOTES: Removed.
10982
10983 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
10984
10985         PR libgomp/29949
10986         * env.c (omp_set_num_threads): Set illegal thread count to 1.
10987
10988 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
10989
10990         * configure: Regenerate.
10991
10992 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
10993
10994         PR libgomp/29947
10995         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
10996         start if there shouldn't be any loop iterations.
10997         (gomp_loop_ordered_static_start): Remove start == end test.
10998         * testsuite/libgomp.c/pr29947-1.c: New test.
10999         * testsuite/libgomp.c/pr29947-2.c: New test.
11000
11001 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
11002
11003         * configure.tgt: Force initial-exec TLS model on Linux only.
11004
11005 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
11006
11007         * configure: Regenerated.
11008
11009 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
11010
11011         * env.c (parse_schedule): Reject out of range values.
11012         (parse_unsigned_long): Reject out of range, negative or zero values.
11013
11014 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
11015
11016         PR fortran/29629
11017         * testsuite/libgomp.fortran/pr29629.f90: New test.
11018
11019 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
11020
11021         PR libgomp/29494
11022         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11023         * config/posix95: New directory.
11024         * config/posix95/omp-lock.h: New file.
11025         * config/posix95/lock.c: Likewise.
11026
11027 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
11028
11029         * aclocal.m4: Regenerate.
11030         * configure: Regenerate.
11031
11032 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
11033
11034         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11035         '<' to '<='.
11036
11037 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
11038
11039         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11040         test.
11041         * configure: Regenerate.
11042         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11043
11044 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
11045
11046         PR middle-end/25261
11047         PR middle-end/28790
11048         * testsuite/libgomp.c/nestedfn-4.c: New test.
11049         * testsuite/libgomp.c/nestedfn-5.c: New test.
11050         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11051
11052         PR fortran/29097
11053         * testsuite/libgomp.fortran/condinc1.f: New test.
11054         * testsuite/libgomp.fortran/condinc2.f: New test.
11055         * testsuite/libgomp.fortran/condinc3.f90: New test.
11056         * testsuite/libgomp.fortran/condinc4.f90: New test.
11057         * testsuite/libgomp.fortran/condinc1.inc: New file.
11058
11059 2006-09-18  Tom Tromey  <tromey@redhat.com>
11060
11061         * configure: Rebuilt.
11062
11063 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
11064
11065         PR c/28768
11066         PR preprocessor/14634
11067         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11068         to AC_DEFINE.
11069         * configure: Regenerate.
11070
11071 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
11072
11073         * testsuite/libgomp.fortran/reduction3.f90: Change
11074         -2147483648 to -huge(i)-1 to avoid overflow.
11075         * testsuite/libgomp.fortran/reduction4.f90: Change
11076         Z'ffffffff' to not(0) to avoid overflow.
11077
11078 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
11079
11080         PR libgomp/25938
11081         * Makefile.am (libsubincludedir): New.
11082         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11083         * Makefile.in: Regenerate.
11084
11085 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
11086
11087         PR libgomp/28725
11088         * env.c: Include ctype.h.
11089         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11090         leading and/or trailing whitespace and compare strings case
11091         insensitively.
11092
11093 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
11094
11095         PR fortran/28390
11096         * testsuite/libgomp.fortran/pr28390.f: New test.
11097
11098 2006-07-05  Eric Christopher  <echristo@apple.com>
11099
11100         * configure.ac: Depend addition of -pthread on host OS.
11101         * configure: Regenerate.
11102
11103 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
11104
11105         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11106         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11107         defined.
11108
11109 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
11110
11111         PR libgomp/26175
11112         PR libgomp/26477
11113         * configure.ac: If neither --enable-linux-futex nor
11114         --disable-linux-futex is passed, determine the default by checking
11115         for compiling and/or running against NPTL.  With --enable-linux-futex,
11116         check if SYS_gettid and SYS_futex are defined.
11117         * configure: Rebuilt.
11118
11119 2006-06-14  Richard Henderson  <rth@redhat.com>
11120
11121         PR libgomp/28008
11122         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11123         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11124
11125 2006-06-09  Richard Henderson  <rth@redhat.com>
11126
11127         * env.c (gomp_nthreads_var): Change to unsigned long.
11128         (gomp_run_sched_chunk): Likewise.
11129         (parse_unsigned_long): Rename from parse_num_threads and generalize.
11130         (initialize_env): Initialize gomp_thread_attr.
11131         * libgomp.h (gomp_nthreads_var): Update decl.
11132         (gomp_run_sched_chunk): Likewise.
11133         (gomp_thread_attr): Declare.
11134         * team.c (gomp_thread_attr): Export.
11135         (initialize_team): Don't initialize it.
11136
11137 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
11138
11139         PR fortran/27916
11140         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11141         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11142
11143 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
11144
11145         * config/mingw32/time.c: New file.
11146         * configure.tgt: Use it.
11147
11148 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
11149
11150         * Makefile.am: Add install-html target. Add install-html to .PHONY
11151         * Makefile.in: Regenerate.
11152
11153 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11154
11155         PR libgomp/27612
11156         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11157         * testsuite/libgomp.c/critical-1.c: Likewise.
11158         * testsuite/libgomp.c/loop-1.c: Likewise.
11159         * testsuite/libgomp.c/loop-2.c: Likewise.
11160         * testsuite/libgomp.c/single-1.c: Likewise.
11161         * testsuite/libgomp.c/ordered-1.c: Likewise.
11162         * testsuite/libgomp.c/ordered-2.c: Likewise.
11163
11164 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
11165
11166         PR middle-end/27416
11167         * libgomp.fortran/pr27416-1.f90: New test.
11168
11169 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
11170
11171         PR fortran/27395
11172         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11173         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11174
11175 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
11176
11177         PR c++/26943
11178         * testsuite/libgomp.c/pr26943-1.c: New test.
11179         * testsuite/libgomp.c/pr26943-2.c: New test.
11180         * testsuite/libgomp.c/pr26943-3.c: New test.
11181         * testsuite/libgomp.c/pr26943-4.c: New test.
11182         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11183         * testsuite/libgomp.c++/pr26943.C: New test.
11184
11185 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
11186
11187         PR middle-end/27337
11188         * testsuite/libgomp.c++/pr27337.C: New test.
11189
11190 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
11191
11192         PR c/26171
11193         * testsuite/libgomp.c/pr26171.c: New test.
11194
11195 2006-04-25  Richard Henderson  <rth@redhat.com>
11196
11197         PR libgomp/25865
11198         * configure.ac: Use GCC_CHECK_TLS.
11199         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11200         * Makefile.in, aclocal.m4, configure: Regenerate.
11201
11202 2006-04-10  Matthias Klose  <doko@debian.org>
11203
11204         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11205         directory names containing underscores.
11206
11207 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
11208
11209         PR c++/26691
11210         * testsuite/libgomp.c++/pr26691.C: New test.
11211
11212 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
11213
11214         * testsuite/libgomp.fortran/retval2.f90: New test.
11215
11216 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
11217
11218         * testsuite/libgomp.c++: New directory.
11219
11220 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
11221
11222         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11223         * config/posix/sem.c: Implement the above.
11224
11225 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
11226
11227         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11228         define HAVE_BROKEN_POSIX_SEMAPHORES.
11229         * configure: Rebuilt.
11230         * config.h.in: Rebuilt.
11231
11232 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
11233
11234         PR bootstrap/26161
11235         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11236         for the other pthread check.
11237         * configure: Regenerate.
11238         * config.h.in: Regenerate.
11239
11240 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
11241
11242         PR libgomp/25938
11243         PR libgomp/25984
11244         * Makefile.am (fincludedir): New variable.
11245         (nodist_include_HEADERS): Remove Fortran files.
11246         (nodist_finclude_HEADERS): New variable.
11247         * Makefile.in: Regenerated.
11248
11249 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
11250
11251         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11252         Remove tests for returning assumed character length arrays.
11253
11254 2006-02-12  Roger Sayle  <roger@eyesopen.com>
11255             John David Anglin  <dave@hiauly1.hia.nrc.ca>
11256
11257         PR libgomp/25936
11258         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
11259
11260 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
11261
11262         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11263
11264 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
11265
11266         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11267         part of LD_LIBRARY_PATH manually.
11268
11269 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
11270
11271         PR libgomp/25852
11272         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11273         libgomp_init.
11274
11275 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
11276
11277         PR libgomp/25884
11278         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11279         * configure.ac (PERL): Don't set.
11280         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11281         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11282         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11283         * omp.h.in: Wrap the new configure substitutions with @ characters.
11284         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11285         * aclocal.m4, configure, Makefile.in: Regenerate.
11286         * mkomp_h.pl: Delete.
11287
11288 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
11289
11290         PR libgomp/25259
11291         * configure.ac: Use GCC_HEADER_STDINT.
11292         * libgomp.h: Include gstdint.h.
11293         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11294         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11295
11296 2006-01-24  Richard Henderson  <rth@redhat.com>
11297
11298         PR libgomp/25942
11299         * configure.ac: Add AM_MAINTAINER_MODE.
11300         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11301
11302 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
11303
11304         * Makefile.in: Regenerate.
11305         * testsuite/Makefile.in: Regenerate.
11306         * aclocal.m4: Regenerate.
11307
11308 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
11309
11310         * config/posix/proc.c: Conditional include of sys/loadavg.h for
11311         Solaris.
11312         * configure.ac: Add check for loadavg.h.
11313         (link_gomp): Adjust comment.
11314         * configure: Regenerate.
11315         * config.h.in: Regenerate.
11316
11317 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
11318
11319         PR libgomp/25877
11320         * configure.ac: Remove check for alloca.h.
11321         * configure: Regenerate.
11322         * config.h.in: Regenerate.
11323         * libgomp.h: define gomp_alloca to be __builtin_alloca.
11324         * team.c: Remove use of alloca.h.
11325         Call gomp_alloca instead of alloca.
11326
11327 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
11328
11329         PR libgomp/25877
11330         * team.c: Add include of alloca.h.
11331         * configure.ac: Add check for alloca.h.
11332         * configure: Regenerate.
11333         * config.h.in: Regenerate.
11334
11335 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
11336
11337         PR fortran/25219
11338         * testsuite/libgomp.fortran/pr25219.f90: New test.
11339
11340 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
11341
11342         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11343         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11344         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11345         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11346         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11347         testsuite/libgomp.fortran/threadprivate1.f90,
11348         testsuite/libgomp.fortran/threadprivate2.f90,
11349         testsuite/libgomp.fortran/threadprivate3.f90,
11350         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11351         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11352         testsuite/libgomp.fortran/omp_parse3.f90: Change required
11353         effective-target to TLS runtime.
11354
11355         * testsuite/libgomp.fortran/pr25162.f: Require
11356         effective-target TLS runtime.
11357
11358 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
11359
11360         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11361         * testsuite/libgomp.c/nestedfn-3.c: New test.
11362
11363 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
11364
11365         PR fortran/25162
11366         * testsuite/libgomp.fortran/pr25162.f: New test.
11367
11368 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
11369
11370         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11371         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11372
11373 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
11374
11375         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11376         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11377         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11378         single.c, team.c, work.c, config/linux/alpha/futex.h,
11379         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11380         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11381         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11382         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11383         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11384         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11385         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11386         FSF address.
11387
11388 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
11389
11390         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11391         to nodist_noinst_HEADERS.
11392         * Makefile.in: Rebuilt.
11393
11394         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11395         add integer count field.
11396         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11397         omp_nest_lock_t type change.
11398         (omp_init_nest_lock): Likewise.  Initialize count to 0.
11399         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11400         Increment count.
11401         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11402         Decrement count.
11403         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11404         Increment count if successful and return the new nesting level.
11405         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11406         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11407         * testsuite/libgomp.c/lib-1.c: New test.
11408         * testsuite/libgomp.fortran/lib1.f90: New test.
11409         * testsuite/libgomp.fortran/lib2.f: New test.
11410         * testsuite/libgomp.fortran/lib3.f: New test.
11411
11412 2005-11-17  Richard Henderson  <rth@redhat.com>
11413
11414         PR 24845
11415         * Makefile.am (nodist_toolexeclib_HEADERS): New.
11416         * configure.ac (link_gomp): New.  Substitute it.
11417         (AC_CONFIG_FILES): Add libgomp.spec.
11418         * libgomp.spec.in: New file.
11419         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11420         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11421
11422 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
11423
11424         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11425         reduction(-:var) behaving the same as reduction(+:var).
11426         * testsuite/libgomp.c/reduction-4.c: New test.
11427
11428 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
11429
11430         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11431         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11432         testsuite/libgomp.c/copyin-3.c,
11433         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11434         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11435         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11436         testsuite/libgomp.c++/pr24455.C,
11437         testsuite/libgomp.fortran/threadprivate1.f90,
11438         testsuite/libgomp.fortran/threadprivate2.f90,
11439         testsuite/libgomp.fortran/threadprivate3.f90,
11440         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11441         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11442         testsuite/libgomp.fortran/omp_parse3.f90: Require
11443         effective-target TLS.
11444
11445 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
11446
11447         * HEADER: Remove.
11448
11449 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
11450
11451         PR libgomp/24797
11452         * team.c (initialize_team): Pass NULL rather than free as
11453         pthread_key_create destructor.  Initialize thread specific data
11454         pointer in initial thread to a static local variable rather than
11455         malloced memory.
11456
11457 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
11458
11459         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11460         its location to ld_library_path.
11461
11462 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
11463
11464         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11465
11466 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
11467
11468         * testsuite/libgomp.c: Rename from libgomp.dg.
11469
11470 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
11471
11472         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11473         threadprivate variable 'i'.
11474
11475 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
11476
11477         * config/linux/s390/futex.h: New file.
11478         * configure.tgt: Use it.
11479
11480         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11481         before the parallel.
11482
11483 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
11484
11485         PR c++/24734
11486         * testsuite/libgomp.c++/master-1.C: New test.
11487
11488 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
11489
11490         * testsuite/libgomp.dg/copyin-3.c: New test.
11491
11492 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
11493
11494         * testsuite/libgomp.fortran/retval1.f90: New test.
11495         * testsuite/libgomp.fortran/vla7.f90: New test.
11496
11497 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
11498
11499         * testsuite/libgomp.fortran/vla2.f90: New test.
11500         * testsuite/libgomp.fortran/vla3.f90: New test.
11501         * testsuite/libgomp.fortran/vla4.f90: New test.
11502         * testsuite/libgomp.fortran/vla5.f90: New test.
11503         * testsuite/libgomp.fortran/vla6.f90: New test.
11504
11505 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
11506
11507         * config/linux/sparc/futex.h: New file.
11508         * configure.tgt: Use it.
11509         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11510
11511         * critical.c: Include stdlib.h.
11512         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11513         ignoring return value.
11514         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11515         LIBGOMP_CHECK_SYNC_BUILTINS check.
11516         * configure: Rebuilt.
11517
11518 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
11519
11520         * testsuite/libgomp.fortran/vla1.f90: New test.
11521
11522 2005-10-31  Richard Henderson  <rth@redhat.com>
11523
11524         * testsuite/libgomp.fortran/character2.f90: Fix race condition
11525         setting 's' in different threads.
11526
11527 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
11528
11529         * libgomp.h (attribute_hidden, ialias): Define.
11530         * config/posix/proc.c (omp_get_num_procs): Add ialias.
11531         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11532         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11533         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11534         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11535         omp_test_lock, omp_test_nest_lock): Likewise.
11536         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11537         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11538         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11539         omp_test_lock, omp_test_nest_lock): Likewise.
11540         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11541         omp_get_dynamic, omp_get_nested): Likewise.
11542         * parallel.c (omp_get_num_threads, omp_get_max_threads,
11543         omp_get_thread_num, omp_in_parallel): Likewise.
11544         * fortran.c (ialias_redirect): Define.
11545         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11546         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11547         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11548         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11549         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11550         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11551         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11552         omp_get_wtime): Add ialias_redirect.
11553
11554 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
11555
11556         * fortran.c: Include stdlib.h.
11557
11558 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
11559
11560         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11561         * Makefile.in: Regenerated.
11562
11563 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
11564
11565         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11566         * libgomp_f.h.in (omp_check_defines): New function.
11567         * env.c: Include libgomp_f.h.
11568         (initialize_env): Call omp_check_defines.
11569
11570         * testsuite/libgomp.dg/copyin-2.c: New test.
11571         * testsuite/libgomp.c++/copyin-2.C: New test.
11572         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11573
11574         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11575         * testsuite/libgomp.fortran/sharing2.f90: New test.
11576
11577         * testsuite/libgomp.dg/copyin-1.c: New test.
11578         * testsuite/libgomp.c++/copyin-1.C: New test.
11579
11580 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
11581
11582         * testsuite/libgomp.fortran/crayptr1.f90: New test.
11583
11584         * testsuite/libgomp.fortran/workshare1.f90: New test.
11585
11586         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11587         only test.
11588         * libgomp.fortran/sharing1.f90: New test.
11589
11590 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
11591
11592         PR c++/24502
11593         * testsuite/libgomp.c++/loop-7.C: New test.
11594
11595         * testsuite/libgomp.dg/nestedfn-2.c: New test.
11596
11597         * testsuite/libgomp.dg/nestedfn-1.c: New test.
11598         * testsuite/libgomp.fortran/reduction6.f90: New test.
11599         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11600
11601 2005-10-23  Richard Henderson  <rth@redhat.com>
11602
11603         * testsuite/libgomp.c++/ctor-1.C: New.
11604         * testsuite/libgomp.c++/ctor-2.C: New.
11605         * testsuite/libgomp.c++/ctor-3.C: New.
11606         * testsuite/libgomp.c++/ctor-4.C: New.
11607         * testsuite/libgomp.c++/ctor-5.C: New.
11608         * testsuite/libgomp.c++/ctor-6.C: New.
11609         * testsuite/libgomp.c++/ctor-7.C: New.
11610         * testsuite/libgomp.c++/ctor-8.C: New.
11611         * testsuite/libgomp.c++/ctor-9.C: New.
11612
11613 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
11614
11615         PR 24455
11616         * testsuite/libgomp.c++/pr24455-1.C: New test.
11617         * testsuite/libgomp.c++/pr24455.C: New test.
11618         * testsuite/libgomp.dg/pr24455-1.c: New test.
11619         * testsuite/libgomp.dg/pr24455.c: New test.
11620
11621 2005-10-20  Richard Henderson  <rth@redhat.com>
11622
11623         * testsuite/libgomp.c++/loop-6.C: New.
11624         * testsuite/libgomp.dg/loop-3.c: New.
11625
11626 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
11627
11628         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11629         explicitly private.
11630         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11631         explicitly shared.
11632
11633 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
11634
11635         * testsuite/libgomp.fortran/jacobi.f: New test.
11636
11637 2005-10-19  Richard Henderson  <rth@redhat.com>
11638
11639         * configure.tgt (i?86-linux): Default to with_arch instead of
11640         CFLAGS.  Add -mtune to match target_cpu.
11641         (x86_64-linux): Tune to i686.
11642
11643         * fortran.c (omp_test_nest_lock_): Fix typo.
11644
11645 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
11646
11647         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11648         gomp_ordered_sync): Do nothing if team->nthreads == 1.
11649         * testsuite/libgomp.dg/ordered-3.c: New test.
11650
11651         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11652         Remove volatile keyword.
11653
11654         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
11655         in COMMON block to avoid warnings on 64-bit targets.
11656
11657 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
11658
11659         * testsuite/libgomp.dg/shared-3.c: New test.
11660
11661 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
11662
11663         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
11664         * testsuite/libgomp.fortran/reduction5.f90: New test.
11665
11666 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
11667
11668         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
11669         dg-options.
11670         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
11671         flush loop now that __sync_synchronize has proper memory barrier.
11672         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
11673         Add -ffixed-form to dg-options.
11674
11675 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
11676
11677         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
11678         from subdirectories.
11679         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
11680         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
11681         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
11682         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
11683         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
11684         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
11685         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
11686         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
11687         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
11688         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
11689         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
11690         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
11691         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
11692         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
11693         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
11694         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
11695         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
11696         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
11697         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
11698         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
11699         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
11700         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
11701         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
11702         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
11703         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
11704
11705 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
11706
11707         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
11708         lang_library_path exists.  Use find instead of glob to gather tests.
11709         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
11710
11711 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
11712
11713         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
11714         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
11715         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
11716         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
11717         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
11718         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
11719         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
11720         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
11721         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
11722         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
11723         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
11724         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
11725         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
11726
11727 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
11728
11729         * testsuite/libgomp.dg/vla-1.c: New test.
11730
11731         * testsuite/libgomp.fortran/reference2.f90: New test.
11732
11733         * testsuite/libgomp.fortran/character2.f90: Remove explicit
11734         declaration of omp_get_thread_num.
11735         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
11736         use omp_lib.
11737
11738         * testsuite/libgomp.fortran/reduction1.f90: New test.
11739         * testsuite/libgomp.fortran/reduction2.f90: New test.
11740         * testsuite/libgomp.fortran/reduction3.f90: New test.
11741         * testsuite/libgomp.fortran/reduction4.f90: New test.
11742
11743 2005-10-13  Richard Henderson  <rth@redhat.com>
11744
11745         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
11746         * Makefile.in: Regenerate.
11747         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
11748         * libgomp.h: Include bar.h.
11749         (struct gomp_barrier): Remove.
11750         (struct gomp_team): Add barrier.  Replace master_barrier with
11751         master_release.  Replace threads with ordered_release.
11752         (struct gomp_thread): Replace barrier with release.
11753         * ordered.c (gomp_ordered_first): Update for ordered_release change.
11754         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
11755         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
11756         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
11757         (GOMP_single_copy_end): Likewise.
11758         * team.c (gomp_threads_dock): New.
11759         (gomp_barrier_init, gomp_barrier_destroy): Remove.
11760         (gomp_thread_start): Use gomp_barrier_wait.
11761         (new_team, free_team): Update for gomp_team changes.
11762         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
11763         (gomp_team_end): Use gomp_barrier_wait.
11764         (initialize_team): Update for gomp_thread changes.
11765         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
11766         (gomp_work_share_end_nowait): Use atomic ops when available.
11767         * config/linux/bar.c, config/linux/bar.h: New files.
11768         * config/posix/bar.c, config/posix/bar.h: New files.
11769
11770 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
11771
11772         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
11773         * testsuite/libgomp.dg/single-2.c: New test.
11774
11775         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
11776         lang_link_flags): Unset, so that they aren't inherited from previously
11777         sourced *.exp.
11778
11779         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
11780
11781 2005-10-12  Richard Henderson  <rth@redhat.com>
11782
11783         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11784         (libgomp_init): Use lang_test_file, lang_library_path, and
11785         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
11786
11787         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11788         (lang_test_file, lang_link_flags): New.
11789         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11790
11791         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11792         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11793         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11794         testsuite/libgomp.c++/parallel-1.C,
11795         testsuite/libgomp.c++/reduction-1.C,
11796         testsuite/libgomp.c++/reduction-2.C,
11797         testsuite/libgomp.c++/reduction-3.C,
11798         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11799         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11800         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11801         New files, largely cribbed from the C testsuite.
11802
11803 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
11804
11805         * testsuite/libgomp.fortran/character1.f90: New test.
11806         * testsuite/libgomp.fortran/character2.f90: New test.
11807
11808         * testsuite/libgomp.dg/nested-1.c: New test.
11809         * testsuite/libgomp.dg/nested-2.c: New test.
11810         * testsuite/libgomp.fortran/do1.f90: New test.
11811         * testsuite/libgomp.fortran/do2.f90: New test.
11812
11813         * testsuite/libgomp.fortran/reference1.f90: New test.
11814
11815 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
11816
11817         * testsuite/libgomp.dg/reduction-1.c: New test.
11818         * testsuite/libgomp.dg/reduction-2.c: New test.
11819         * testsuite/libgomp.dg/reduction-3.c: New test.
11820
11821 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
11822
11823         * testsuite/libgomp.dg/atomic-1.c: New test.
11824         * testsuite/libgomp.dg/atomic-2.c: New test.
11825
11826 2005-10-09  Richard Henderson  <rth@redhat.com>
11827
11828         * critical.c (atomic_lock): New.
11829         (initialize_critical): Initialize it.
11830         (GOMP_atomic_start, GOMP_atomic_end): New.
11831         * libgomp.map: Export them.
11832         * libgomp_g.h: Declare them.
11833
11834         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11835
11836 2005-10-02  Richard Henderson  <rth@redhat.com>
11837
11838         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
11839         to XCFLAGS instead of CFLAGS.
11840
11841 2005-09-30  Richard Henderson  <rth@redhat.com>
11842
11843         * configure.ac: Determine whether -pthread or -lpthread is needed.
11844         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11845         * Makefine.in, configure: Rebuild.
11846
11847 2005-09-28  Richard Henderson  <rth@redhat.com>
11848
11849         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11850         * testsuite/libgomp.dg/omp-single-3.c: New test.
11851
11852 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
11853
11854         * testsuite/libgomp.dg/omp-single-2.c: New test.
11855         * testsuite/libgomp.dg/shared-2.c: Fix return code.
11856
11857 2005-09-27  Richard Henderson  <rth@redhat.com>
11858
11859         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11860         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11861
11862 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
11863
11864         * testsuite/libgomp.dg/omp-loop03.c: New test.
11865
11866 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
11867
11868         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11869
11870 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
11871
11872         * testsuite/libgomp.dg/omp-single-1.c: New test.
11873         * testsuite/libgomp.dg/shared-1.c: Return 0.
11874         Add prototype for abort.
11875         * testsuite/libgomp.dg/shared-2.c: Likewise.
11876
11877 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
11878
11879         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11880         constructs.
11881
11882 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
11883
11884         * testsuite/libgomp.dg/shared-1.c: New test.
11885         * testsuite/libgomp.dg/shared-2.c: New test.
11886
11887 2005-09-24  Richard Henderson  <rth@redhat.com>
11888
11889         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11890
11891 2005-09-24  Richard Henderson  <rth@redhat.com>
11892
11893         * iter.c (gomp_iter_static_next): Round up when computing number
11894         of iterations.  Don't bother distributing a remainder equally.
11895
11896         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11897         Don't call srand.  Zero b before testing.
11898         (main): New.
11899
11900 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
11901
11902         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11903         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11904
11905 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
11906
11907         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11908         without !$omp end do, followed immediately by subroutine end.
11909
11910 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
11911
11912         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11913
11914 2005-09-22  Richard Henderson  <rth@redhat.com>
11915
11916         * critical.c (GOMP_critical_name_start): Change argument to void**.
11917         Reuse the pointer space if the mutex fits.
11918         (GOMP_critical_name_end): Likewise.
11919         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11920         * libgomp_g.h (GOMP_critical_name_start): Update decl.
11921         (GOMP_critical_name_end): Likewise.
11922         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11923         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11924
11925 2005-09-20  Richard Henderson  <rth@redhat.com>
11926
11927         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11928         (create_lock_lock): New.
11929         (initialize_critical): Initialize it.
11930         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11931         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11932
11933 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
11934
11935         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11936
11937 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
11938
11939         * testsuite/libgomp.dg/omp-loop01.c: New test.
11940         * testsuite/libgomp.dg/omp-loop02.c: New test.
11941
11942 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
11943
11944         * configure.ac (AC_PROG_FC): Add.
11945         (USE_FORTRAN): New automake conditional.
11946         * configure: Rebuilt.
11947         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11948         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11949         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11950         Add rules to build them.
11951         * Makefile.in: Rebuilt.
11952         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11953         OMP_NEST_LOCK_KIND.
11954         * libgomp.map: Add Fortran wrappers.
11955         * libgomp_f.h.in: New file.
11956         * omp_lib.h.in: New file.
11957         * omp_lib.f90.in: New file.
11958         * fortran.c: New file.
11959         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11960         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11961         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11962         libgfortran has been built.
11963         * testsuite/libgomp.fortran/fortran.exp: New file.
11964         * testsuite/libgomp.fortran/omp_cond1.f: New test.
11965         * testsuite/libgomp.fortran/omp_cond2.f: New test.
11966         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11967         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11968         * testsuite/libgomp.fortran/omp_hello.f: New test.
11969         * testsuite/libgomp.fortran/omp_orphan.f: New test.
11970         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11971         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11972         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11973         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11974         * testsuite/libgomp.fortran/omp_reduction.f: New test.
11975         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11976         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11977
11978 2005-08-30  Richard Henderson  <rth@redhat.com>
11979
11980         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11981         function for when aliases are not usable.
11982         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11983         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11984         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11985         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11986         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11987         GOMP_loop_ordered_guided_next): Likewise.
11988         * ordered.c (GOMP_ordered_start): Likewise.
11989
11990 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
11991
11992         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11993         * testsuite/libgomp.dg/omp_hello.c: Fix return code
11994         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11995         * testsuite/libgomp.dg/omp_orphan.c: Likewise
11996         * testsuite/libgomp.dg/omp_reduction.c: Likewise
11997         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11998         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11999         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12000         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12001
12002 2005-07-07  Eric Christopher  <echristo@redhat.com>
12003             Diego Novillo  <dnovillo@redhat.com>
12004
12005         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12006         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12007         up code.
12008         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12009         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12010         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12011         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12012         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12013         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12014         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12015
12016 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
12017
12018         * TOPLEVEL.patch: Remove.
12019
12020 2005-05-16  Richard Henderson  <rth@redhat.com>
12021
12022         * configure.ac: Test for clock_gettime.
12023         * config.h.in, configure: Rebuild.
12024         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12025         (omp_get_wtime): Use clock_gettime if available.
12026         (omp_get_wtick): Use clock_getres if available.
12027
12028 2005-05-11  Richard Henderson  <rth@redhat.com>
12029
12030         * config/linux/ia64/futex.h: New file.
12031         * configure.tgt: Use it.
12032
12033         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12034
12035 2005-05-07  Richard Henderson  <rth@redhat.com>
12036
12037         * config/linux/powerpc/futex.h: New file.
12038         * configure.tgt: Use it.
12039
12040         * config/linux/i486/futex.h: Merge ...
12041         * config/linux/x86_64/futex.h: ... into ...
12042         * config/linux/x86/futex.h: ... here.
12043         * configure.tgt: Update to match.
12044
12045 2005-05-06  Richard Henderson  <rth@redhat.com>
12046
12047         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12048         * config/linux/i486/futex.h: Likewise.
12049         * config/linux/x86_64/futex.h: Likewise.
12050
12051         * config/linux/lock.c: New file.
12052         * config/linux/omp-lock.h: New file.
12053
12054         * critical.c, env.h: Don't include omp.h
12055         * config/posix/lock.c: Include libgomp.h instead of omp.h.
12056         * config/posix/time.c: Likewise.
12057         * config/posix/omp-lock.h: New file.
12058         * libgomp.h: Include omp-lock.h and omp.h.
12059         * Makefile.am (nodist_include_HEADERS): New.
12060         (omp.h): New rule.
12061         * configure.ac (PERL): New.
12062         * mkomp_h.pl: New file.
12063         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12064         with templates.
12065         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12066
12067         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12068         build directory.  Re-add -march=i486 hack.
12069
12070         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12071         (libgomp_link_flags): Remove.
12072         (libgomp_initialized): Remove.
12073         (libgomp_init): Don't protect from reinitialization.  Copy code
12074         from libstdc++ for getting the multilib set correctly.
12075
12076 2005-05-05  Richard Henderson  <rth@redhat.com>
12077
12078         * config/linux/alpha/futex.h: New file.
12079         * configure.tgt (alpha*-*-linux*): Use it.
12080
12081         * config/posix/mutex.c: New file.
12082         * config/posix/sem.c: Use libgomp.h.
12083
12084         * configure.tgt (x86_64-linux): Also test CC for -m32.
12085         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12086
12087         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
12088         after $gccpath.
12089
12090         * Makefile.am (SUBDIRS): New.
12091         (libgomp_la_LDFLAGS): Add -lpthread.
12092         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12093         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12094
12095         * libgomp_g.h: New file.
12096         * libgomp.h: Split out all public declarations to libgomp_g.h.
12097         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12098         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12099         * config/linux/sem.h: Likewise.
12100         * config/posix/sem.h: Likewise.
12101
12102         * Makefile.am (AM_LDFLAGS): New.
12103         (libgomp_version_script): Split out from ...
12104         (libgomp_la_LDFLAGS): ... here.
12105         (libgomp_version_info): New.
12106         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12107         (LIBGOMP_ENABLE): New.
12108         (LIBGOMP_CHECK_LINKER_FEATURES): New.
12109         (LIBGOMP_ENABLE_SYMVERS): New.
12110         * configure.ac (AC_INIT): Version 1.0.
12111         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12112         (enable-linux-futex): Likewise.  Rename from enable-futex.
12113         (libtool_VERSION): New.
12114         (LIBGOMP_ENABLE_SYMVERS): Use it.
12115         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12116         * Makefile.in, aclocal.m4, configure: Rebuild.
12117
12118         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12119         (gomp_mutex_unlock_slow): Fix typo.
12120         * config/linux/sem.c: Similarly.
12121         (gomp_sem_post_slow): Fix typo.
12122         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12123         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12124         [__PIC__] (sys_futex0): Don't use tmp output in asm.
12125
12126         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12127         (libgomp_la_LDFLAGS): Add top_srcdir to path.
12128         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12129         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
12130         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12131         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12132         LDFLAGS.  Pull enable_futex check to top-level.
12133         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
12134         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12135
12136         First attempt at real configury.
12137         * Makefile, config.h: Remove file.
12138         * Makefile.am, Makefile.in: New file.
12139         * acinclude.m4 aclocal.m4: New file.
12140         * configure.ac, configure.tgt, configure: New file.
12141
12142         * config/posix/lock.c: Rename from sys-lock.c.
12143         * config/posix/mutex.h: Rename from sys-mutex.h.
12144         * config/posix/sem.c: Rename from sys-sem.c.
12145         * config/posix/sem.h: Rename from sys-sem.h.
12146         * config/posix/proc.c: Rename from sys-proc.c.
12147         * config/posix/time.c: Rename from sys-proc.c.
12148
12149         * config/linux/mutex.c: New file.
12150         * config/linux/mutex.h: New file.
12151         * config/linux/sem.c: New file.
12152         * config/linux/sem.h: New file.
12153         * config/linux/i486/futex.h: New file.
12154         * config/linux/x86_64/futex.h: New file.
12155
12156 2005-05-04  Richard Henderson  <rth@redhat.com>
12157
12158         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12159         * libgomp.h: Declare them.
12160         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12161         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12162
12163 2005-05-04  Richard Henderson  <rth@redhat.com>
12164
12165         * libgomp-1 code drop
12166
12167 2005-05-04  Richard Henderson  <rth@redhat.com>
12168
12169         * iter.c (gomp_iter_static_next): Return tri-state on 0.
12170         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12171         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12172         (gomp_iter_static_next): Update.
12173         (gomp_ordered_static_next): Update.
12174         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12175         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
12176         totally empty range.
12177         (gomp_loop_ordered_static_next): Refine test for calling
12178         gomp_ordered_static_next.
12179         * testsuite/ordered-1.c: Add case for more threads than iterations.
12180
12181         * iter.c (gomp_iter_runtime_next_locked): Remove.
12182         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
12183         gomp_loop_guided_start, gomp_loop_ordered_static_start,
12184         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12185         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12186         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12187         gomp_loop_ordered_guided_next): Downcase name, make static, add
12188         an external alias with the old name.
12189         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12190         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12191         switch and call one of the above static functions.
12192         * libgomp.h: Update.
12193
12194         * work.c (gomp_work_share_start): Lock the mutex for !first too.
12195         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12196         GOMP_loop_guided_start, GOMP_loop_runtime_start,
12197         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12198         GOMP_loop_ordered_guided_start): Update to match.
12199         * sections.c (GOMP_sections_start): Likewise.
12200         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12201
12202         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12203         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12204         Use bounds check instead of modulus.
12205         (gomp_ordered_sync): Split out of GOMP_ordered_start.
12206         (gomp_ordered_last): Don't sync with ordered_owner here.
12207         (gomp_ordered_next): Likewise.
12208         (gomp_ordered_static_loop_next): Likewise.
12209         * loop.c, libgomp.h: Update to match.
12210
12211         * libgomp.h (GOMP_barrier): Declare.
12212
12213         * testsuite/barrier-1.c: New file.
12214         * testsuite/critical-1.c: New file.
12215         * testsuite/ordered-2.c: New file.
12216         * testsuite/ordered-1.c: New file.
12217         * testsuite/sections-1.c: New file.
12218         * testsuite/single-1.c: New file.
12219         * testsuite/Makefile (TESTS): Add them.
12220
12221 2005-05-04  Richard Henderson  <rth@redhat.com>
12222
12223         * libgomp.h (struct gomp_work_share): Add ordered_owner.
12224         * loop.c (GOMP_loop_static_start): If not the startup thread,
12225         acquire the mutex to wait for initialization complete.
12226         (GOMP_loop_ordered_static_start): Likewise.
12227         (GOMP_loop_ordered_runtime_start): Likewise.
12228         (GOMP_loop_ordered_static_first): Remove.
12229         (GOMP_loop_ordered_dynamic_first): Remove.
12230         (GOMP_loop_ordered_guided_first): Remove.
12231         (GOMP_loop_ordered_runtime_first): Remove.
12232         * ordered.c (gomp_ordered_loop_first): Post to own release when
12233         we're the first thread.
12234         (gomp_ordered_loop_last): Wait on release if not owner.
12235         (gomp_ordered_loop_next): Likewise.
12236         (gomp_ordered_static_loop_init): New.
12237         (gomp_ordered_static_loop_next): Use ordered_owner.
12238         (GOMP_ordered_start): Likewise.
12239         * work.c (gomp_new_work_share): Initialize ordered_owner.
12240
12241 2005-05-03  Richard Henderson  <rth@redhat.com>
12242
12243         * Makefile (OPT): New.
12244         (CFLAGS): Use it.
12245
12246         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12247         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12248         * libgomp.h, libgomp.map, NOTES: Update to match.
12249
12250         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12251         Add initialized and thr members.
12252         (gomp_thread_start): Pause when initially spawned to wait for
12253         the whole team to be created.
12254         (gomp_team_start): Release team members at the end.
12255
12256         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
12257         (f_foo_1): Use GOMP_loop_end.
12258         (f_foo_2): Use GOMP_loop_end_nowait.
12259
12260         * testsuite/loop-2.c: New file.
12261         * testsuite/Makefile (TESTS): Add it.
12262
12263 2005-05-03  Richard Henderson  <rth@redhat.com>
12264
12265         * iter.c (gomp_iter_static_next): Fix overflow check typo.
12266         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12267         * team.c (new_team): Initialize oldest_live_gen to 1 if no
12268         initial work_share.
12269
12270         * testsuite/Makefile: New file.
12271         * testsuite/loop-1.c: New file.
12272
12273 2005-05-03  Richard Henderson  <rth@redhat.com>
12274
12275         Initial implementation and checkin.
12276 \f
12277 Copyright (C) 2005-2019 Free Software Foundation, Inc.
12278
12279 Copying and distribution of this file, with or without modification,
12280 are permitted in any medium without royalty provided the copyright
12281 notice and this notice are preserved.