]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Implement inline call summaries.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
83115e9e
MR
12019-11-20 Maciej W. Rozycki <macro@wdc.com>
2
3 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
4 libatomic in build-tree testing.
5
a1289887
MR
62019-11-18 Maciej W. Rozycki <macro@wdc.com>
7
8 * testsuite/Makefile.in: Regenerate.
9
8916ba87
AS
102019-11-15 Andrew Stubbs <ams@codesourcery.com>
11
12 * testsuite/libgomp.c/target-print-1.c: New file.
13 * testsuite/libgomp.fortran/target-print-1.f90: New file.
14 * testsuite/libgomp.oacc-c/print-1.c: New file.
15 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
16
237957cc
AS
172019-11-13 Andrew Stubbs <ams@codesourcery.com>
18 Kwok Cheung Yeung <kcy@codesourcery.com>
19 Julian Brown <julian@codesourcery.com>
20 Tom de Vries <tom@codesourcery.com>
21
22 * plugin/Makefrag.am: Add amdgcn plugin support.
23 * plugin/configfrag.ac: Likewise.
24 * plugin/plugin-gcn.c: New file.
25 * configure: Regenerate.
26 * Makefile.in: Regenerate.
27 * testsuite/Makefile.in: Regenerate.
28
cee16451
AS
292019-11-13 Andrew Stubbs <ams@codesourcery.com>
30
31 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
32 and use team_malloc variants.
33 (gomp_gcn_exit_kernel): Use team_free.
34 * libgomp.h (TEAM_ARENA_SIZE): Define.
35 (TEAM_ARENA_START): Define.
36 (TEAM_ARENA_FREE): Define.
37 (TEAM_ARENA_END): Define.
38 (team_malloc): New function.
39 (team_malloc_cleared): New function.
40 (team_free): New function.
41 * team.c (gomp_new_team): Initialize and use team_malloc.
42 (free_team): Use team_free.
43 (gomp_free_thread): Use team_free.
44 (gomp_pause_host): Use team_free.
45 * work.c (gomp_init_work_share): Use team_malloc.
46 (gomp_fini_work_share): Use team_free.
47
fa499995
AS
482019-11-13 Andrew Stubbs <ams@codesourcery.com>
49 Kwok Cheung Yeung <kcy@codesourcery.com>
50 Julian Brown <julian@codesourcery.com>
51 Tom de Vries <tom@codesourcery.com>
52
53 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
54 * Makefile.in: Regenerate.
55 * config.h.in (PLUGIN_GCN): Add new undef.
56 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
57 * config/gcn/affinity-fmt.c: New file.
58 * config/gcn/bar.c: New file.
59 * config/gcn/bar.h: New file.
60 * config/gcn/doacross.h: New file.
61 * config/gcn/icv-device.c: New file.
62 * config/gcn/oacc-target.c: New file.
63 * config/gcn/simple-bar.h: New file.
64 * config/gcn/target.c: New file.
65 * config/gcn/task.c: New file.
66 * config/gcn/team.c: New file.
67 * config/gcn/time.c: New file.
68 * configure.ac: Add amdgcn*-*-*.
69 * configure: Regenerate.
70 * configure.tgt: Add amdgcn*-*-*.
71 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
72 * libgomp.h (gcn_thrs): Add amdgcn variant.
73 (set_gcn_thrs): Likewise.
74 (gomp_thread): Likewise.
75 * oacc-int.h (goacc_thread): Likewise.
76 * oacc-target.c: New file.
77 * openacc.f90 (acc_device_gcn): New parameter.
78 * openacc.h (acc_device_t): Add acc_device_gcn.
79 * team.c (gomp_free_pool_helper): Add amdgcn support.
80
d2903ce0
AS
812019-11-13 Andrew Stubbs <ams@codesourcery.com>
82 Julian Brown <julian@codesourcery.com>
83
84 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
85 parameter.
86 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
87 queue constructor.
88 * oacc-host.c (host_openacc_async_construct): Add device parameter.
89 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
90 device parameter.
91
b3d14b3a
AS
922019-11-13 Andrew Stubbs <ams@codesourcery.com>
93
94 * configure.tgt (nvptx*-*-*): Add "accel" directory.
95 * config/nvptx/libgomp-plugin.c: Move ...
96 * config/accel/libgomp-plugin.c: ... to here.
97 * config/nvptx/lock.c: Move ...
98 * config/accel/lock.c: ... to here.
99 * config/nvptx/mutex.c: Move ...
100 * config/accel/mutex.c: ... to here.
101 * config/nvptx/mutex.h: Move ...
102 * config/accel/mutex.h: ... to here.
103 * config/nvptx/oacc-async.c: Move ...
104 * config/accel/oacc-async.c: ... to here.
105 * config/nvptx/oacc-cuda.c: Move ...
106 * config/accel/oacc-cuda.c: ... to here.
107 * config/nvptx/oacc-host.c: Move ...
108 * config/accel/oacc-host.c: ... to here.
109 * config/nvptx/oacc-init.c: Move ...
110 * config/accel/oacc-init.c: ... to here.
111 * config/nvptx/oacc-mem.c: Move ...
112 * config/accel/oacc-mem.c: ... to here.
113 * config/nvptx/oacc-plugin.c: Move ...
114 * config/accel/oacc-plugin.c: ... to here.
115 * config/nvptx/omp-lock.h: Move ...
116 * config/accel/omp-lock.h: ... to here.
117 * config/nvptx/openacc.f90: Move ...
118 * config/accel/openacc.f90: ... to here.
119 * config/nvptx/pool.h: Move ...
120 * config/accel/pool.h: ... to here.
121 * config/nvptx/proc.c: Move ...
122 * config/accel/proc.c: ... to here.
123 * config/nvptx/ptrlock.c: Move ...
124 * config/accel/ptrlock.c: ... to here.
125 * config/nvptx/ptrlock.h: Move ...
126 * config/accel/ptrlock.h: ... to here.
127 * config/nvptx/sem.c: Move ...
128 * config/accel/sem.c: ... to here.
129 * config/nvptx/sem.h: Move ...
130 * config/accel/sem.h: ... to here.
131 * config/nvptx/thread-stacksize.h: Move ...
132 * config/accel/thread-stacksize.h: ... to here.
133
62aee289
MR
1342019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
135 Tobias Burnus <tobias@codesourcery.com>
136 Frederik Harwath <frederik@codesourcery.com>
137 Thomas Schwinge <thomas@codesourcery.com>
138
139 libgomp/
140 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
141 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
142 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
143
a2c26c50
TB
1442019-11-11 Tobias Burnus <tobias@codesourcery.com>
145 Kwok Cheung Yeung <kcy@codesourcery.com>
146
147 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
148 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
149
6d4868f3
TS
1502019-11-11 Thomas Schwinge <thomas@codesourcery.com>
151
bfa1837b
TS
152 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
153
6d4868f3
TS
154 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
155 run'.
156 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
157 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
158
5d183d17
FH
1592019-11-06 Thomas Schwinge <thomas@codesourcery.com>
160
161 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
162 Add expected warnings about missing reduction clauses.
163 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
164 Likewise.
165 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
166 Likewise.
167 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
168 Likewise.
169
d8f03b03
TB
1702019-11-04 Tobias Burnus <tobias@codesourcery.com>
171
172 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
173 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
174 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
175 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
176 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
177 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
178
12fd2ec5
TB
1792019-11-04 Tobias Burnus <tobias@codesourcery.com>
180
181 PR fortran/92305
182 * testsuite/libgomp.fortran/allocatable2.f90: Use
183 unique numbers with 'stop'.
184 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
185 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
186 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
187 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
188 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
189
92e63bd2
TB
1902019-11-01 Tobias Burnus <tobias@codesourcery.com>
191
192 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
193 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
194 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
195 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
196 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
197 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
198
91ae0a46
TB
1992019-10-30 Tobias Burnus <tobias@codesourcery.com>
200
201 * testsuite/libgomp.fortran/target9.f90: New.
202
c425e66b
TB
2032019-10-30 Tobias Burnus <tobias@codesourcery.com>
204
205 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
206 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
207 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
208 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
209 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
210 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
211 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
212 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
213 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
214 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
215 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
216 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
217 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
218 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
219 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
220 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
221 * testsuite/libgomp.fortran/associate1.f90: Ditto.
222 * testsuite/libgomp.fortran/associate2.f90: Ditto.
223 * testsuite/libgomp.fortran/associate3.f90: Ditto.
224 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
225 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
226 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
227 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
228 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
229 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
230 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
231 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
232 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
233 * testsuite/libgomp.fortran/character1.f90: Ditto.
234 * testsuite/libgomp.fortran/character2.f90: Ditto.
235 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
236 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
237 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
238 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
239 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
240 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
241 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
242 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
243 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
244 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
245 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
246 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
247 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
248 * testsuite/libgomp.fortran/do1.f90: Ditto.
249 * testsuite/libgomp.fortran/do2.f90: Ditto.
250 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
251 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
252 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
253 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
254 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
255 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
256 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
257 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
258 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
259 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
260 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
261 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
262 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
263 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
264 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
265 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
266 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
267 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
268 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
269 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
270 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
271 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
272 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
273 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
274 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
275 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
276 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
277 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
278 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
279 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
280 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
281 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
282 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
283 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
284 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
285 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
286 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
287 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
288 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
289 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
290 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
291 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
292 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
293 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
294 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
295 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
296 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
297 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
298 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
299 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
300 * testsuite/libgomp.fortran/lib1.f90: Ditto.
301 * testsuite/libgomp.fortran/lib4.f90: Ditto.
302 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
303 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
304 * testsuite/libgomp.fortran/nested1.f90: Ditto.
305 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
306 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
307 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
308 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
309 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
310 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
311 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
312 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
313 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
314 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
315 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
316 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
317 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
318 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
319 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
320 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
321 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
322 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
323 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
324 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
325 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
326 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
327 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
328 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
329 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
330 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
331 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
332 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
333 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
334 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
335 * testsuite/libgomp.fortran/pr28390.f: Ditto.
336 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
337 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
338 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
339 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
340 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
341 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
342 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
343 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
344 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
345 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
346 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
347 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
348 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
349 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
350 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
351 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
352 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
353 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
354 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
355 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
356 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
357 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
358 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
359 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
360 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
361 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
362 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
363 * testsuite/libgomp.fortran/reference1.f90: Ditto.
364 * testsuite/libgomp.fortran/reference2.f90: Ditto.
365 * testsuite/libgomp.fortran/retval1.f90: Ditto.
366 * testsuite/libgomp.fortran/retval2.f90: Ditto.
367 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
368 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
369 * testsuite/libgomp.fortran/simd1.f90: Ditto.
370 * testsuite/libgomp.fortran/simd2.f90: Ditto.
371 * testsuite/libgomp.fortran/simd3.f90: Ditto.
372 * testsuite/libgomp.fortran/simd4.f90: Ditto.
373 * testsuite/libgomp.fortran/simd5.f90: Ditto.
374 * testsuite/libgomp.fortran/simd6.f90: Ditto.
375 * testsuite/libgomp.fortran/simd7.f90: Ditto.
376 * testsuite/libgomp.fortran/stack.f90: Ditto.
377 * testsuite/libgomp.fortran/strassen.f90: Ditto.
378 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
379 * testsuite/libgomp.fortran/tabs2.f: Ditto.
380 * testsuite/libgomp.fortran/target1.f90: Ditto.
381 * testsuite/libgomp.fortran/target2.f90: Ditto.
382 * testsuite/libgomp.fortran/target3.f90: Ditto.
383 * testsuite/libgomp.fortran/target4.f90: Ditto.
384 * testsuite/libgomp.fortran/target5.f90: Ditto.
385 * testsuite/libgomp.fortran/target6.f90: Ditto.
386 * testsuite/libgomp.fortran/target7.f90: Ditto.
387 * testsuite/libgomp.fortran/target8.f90: Ditto.
388 * testsuite/libgomp.fortran/task1.f90: Ditto.
389 * testsuite/libgomp.fortran/task2.f90: Ditto.
390 * testsuite/libgomp.fortran/task3.f90: Ditto.
391 * testsuite/libgomp.fortran/task4.f90: Ditto.
392 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
393 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
394 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
395 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
396 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
397 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
398 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
399 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
400 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
401 * testsuite/libgomp.fortran/udr1.f90: Ditto.
402 * testsuite/libgomp.fortran/udr10.f90: Ditto.
403 * testsuite/libgomp.fortran/udr11.f90: Ditto.
404 * testsuite/libgomp.fortran/udr12.f90: Ditto.
405 * testsuite/libgomp.fortran/udr13.f90: Ditto.
406 * testsuite/libgomp.fortran/udr14.f90: Ditto.
407 * testsuite/libgomp.fortran/udr15.f90: Ditto.
408 * testsuite/libgomp.fortran/udr2.f90: Ditto.
409 * testsuite/libgomp.fortran/udr3.f90: Ditto.
410 * testsuite/libgomp.fortran/udr4.f90: Ditto.
411 * testsuite/libgomp.fortran/udr5.f90: Ditto.
412 * testsuite/libgomp.fortran/udr6.f90: Ditto.
413 * testsuite/libgomp.fortran/udr7.f90: Ditto.
414 * testsuite/libgomp.fortran/udr8.f90: Ditto.
415 * testsuite/libgomp.fortran/udr9.f90: Ditto.
416 * testsuite/libgomp.fortran/vla1.f90: Ditto.
417 * testsuite/libgomp.fortran/vla2.f90: Ditto.
418 * testsuite/libgomp.fortran/vla3.f90: Ditto.
419 * testsuite/libgomp.fortran/vla4.f90: Ditto.
420 * testsuite/libgomp.fortran/vla5.f90: Ditto.
421 * testsuite/libgomp.fortran/vla6.f90: Ditto.
422 * testsuite/libgomp.fortran/vla7.f90: Ditto.
423 * testsuite/libgomp.fortran/vla8.f90: Ditto.
424 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
425 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
426
01509e2f
TB
4272019-10-30 Tobias Burnus <tobias@codesourcery.com>
428
429 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
430 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
431 Ditto; add 'dg-do run' for torture testing.
432 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
433 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
434 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
435 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
436 * testsuite/libgomp.fortran/pr28390.f: Ditto.
437 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
438 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
439 * testsuite/libgomp.fortran/task2.f90: Ditto.
440 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
441 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
442 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
443 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
444 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
445 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
446
ffbdd78a
TB
4472019-10-28 Tobias Burnus <tobias@codesourcery.com>
448
449 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
450 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
451 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
452 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
453 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
454 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
455 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
456 Use 'stop' not abort().
457 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
458 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
459 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
460 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
461 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
462 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
463 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
464 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
465 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
466 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
467 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
468 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
469 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
470 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
471 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
472 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
473 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
474 Ditto.
475 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
476 Ditto.
477 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
478 Ditto.
479 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
480 Ditto.
481 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
482 Ditto.
483 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
484 Ditto.
485 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
486 Ditto.
487 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
488 Ditto.
489 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
490 Ditto.
491 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
492 Ditto.
493 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
494 Ditto.
495 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
496 Ditto.
497 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
498 Ditto.
499 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
500 Ditto.
501 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
502 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
503 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
504 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
505 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
506 Likewise and also add 'dg-do run'.
507 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
508 Ditto.
509
ec084613
CP
5102019-10-25 Cesar Philippidis <cesar@codesourcery.com>
511 Tobias Burnus <tobias@codesourcery.com>
512
513 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
514 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
515 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
516
77ef3394
JJ
5172019-10-14 Jakub Jelinek <jakub@redhat.com>
518
519 PR libgomp/92081
520 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
521 than 0.
522
08c14aaa
TB
5232019-10-11 Tobias Burnus <tobias@codesourcery.com>
524
525 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
526 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
527
6bbead0c
TS
5282019-10-09 Thomas Schwinge <thomas@codesourcery.com>
529
530 PR middle-end/92036
531 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
532 file.
533
eba3dee8
TB
5342019-10-09 Tobias Burnus <tobias@codesourcery.com>
535
536 PR testsuite/91884
537 * testsuite/libgomp.fortran/fortran.exp: Conditionally
538 add -lquadmath.
539 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
540
7d48e14f
JJ
5412019-10-09 Jakub Jelinek <jakub@redhat.com>
542
543 PR libgomp/92028
544 * target.c (gomp_map_vars_internal): Readd the previous
545 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
546 though do that just in the !not_found_cnt case.
547
65b67cf3
TB
5482019-10-08 Tobias Burnus <tobias@codesourcery.com>
549
550 * gfortran.dg/gomp/target-simd.f90: New.
551
6c7e076b
JB
5522019-10-02 Julian Brown <julian@codesourcery.com>
553 Cesar Philippidis <cesar@codesourcery.com>
554
555 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
556 * target.c (FIELD_TGT_EMPTY): Define.
557 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
558 as switch instead of list of ifs.
559 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
560
d61bff85
AT
5612019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
562
563 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
564 include. Replace alloca () with __builtin_alloca ().
565 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
566
810f316d
JJ
5672019-10-01 Jakub Jelinek <jakub@redhat.com>
568
569 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
570 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
571 * oacc-parallel.c: Don't include "libgomp_g.h".
572 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
573 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
574 * aclocal.m4: Regenerated.
575 * config.h.in: Regenerated.
576 * configure: Regenerated.
577 * Makefile.in: Regenerated.
578
d7f9ee98
KCY
5792019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
580
581 * libgomp_g.h: Include stdint.h instead of gstdint.h.
582
e9085da5
MR
5832019-09-27 Maciej W. Rozycki <macro@wdc.com>
584
585 * configure: Regenerate.
586
c28712be
TB
5872019-09-13 Tobias Burnus <tobias@codesourcery.com>
588
589 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
590 string is initialized.
591
3c086f8d
FW
5922019-09-06 Florian Weimer <fweimer@redhat.com>
593
594 * configure: Regenerate.
595
c6c2d1bc
CLT
5962019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
597
598 PR other/79543
599 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
600 scanning to conform to the GNU Coding Standards.
601 * configure: Regenerate.
602
5cb72d83
JJ
6032019-08-28 Jakub Jelinek <jakub@redhat.com>
604
605 PR libgomp/91530
606 * testsuite/libgomp.c/scan-21.c: New test.
607 * testsuite/libgomp.c/scan-22.c: New test.
608
0ad7981c
JJ
6092019-08-27 Jakub Jelinek <jakub@redhat.com>
610
611 PR libgomp/91530
612 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
613 targets.
614 * testsuite/libgomp.c/scan-12.c: Likewise.
615 * testsuite/libgomp.c/scan-13.c: Likewise.
616 * testsuite/libgomp.c/scan-14.c: Likewise.
617 * testsuite/libgomp.c/scan-15.c: Likewise.
618 * testsuite/libgomp.c/scan-16.c: Likewise.
619 * testsuite/libgomp.c/scan-17.c: Likewise.
620 * testsuite/libgomp.c/scan-18.c: Likewise.
621 * testsuite/libgomp.c/scan-19.c: Likewise.
622 * testsuite/libgomp.c/scan-20.c: Likewise.
623 * testsuite/libgomp.c++/scan-9.C: Likewise.
624 * testsuite/libgomp.c++/scan-10.C: Likewise.
625 * testsuite/libgomp.c++/scan-11.C: Likewise.
626 * testsuite/libgomp.c++/scan-12.C: Likewise.
627 * testsuite/libgomp.c++/scan-14.C: Likewise.
628 * testsuite/libgomp.c++/scan-15.C: Likewise.
629 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
630 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
631 * testsuite/libgomp.c++/scan-16.C: Likewise.
632
1e67491a
TK
6332019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
634
635 PR fortran/91473
636 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
637 -std=legacy so invalid code in the test case is accepted.
638
393fdeb1
TK
6392019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
640
641 PR fortran/91422
642 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
643 dimension.
644
8860d270
JJ
6452019-08-08 Jakub Jelinek <jakub@redhat.com>
646
647 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
648 perform the lookup in the first loop only if !not_found_cnt, otherwise
649 perform lookups for it in the second loop guarded with
650 if (not_found_cnt || has_firstprivate).
651 * testsuite/libgomp.c/target-37.c: New test.
652 * testsuite/libgomp.c++/target-22.C: New test.
653
398e3feb
JJ
6542019-08-07 Jakub Jelinek <jakub@redhat.com>
655
656 * testsuite/libgomp.c/target-18.c (struct S): New type.
657 (foo): Use use_device_addr clause instead of use_device_ptr clause
658 where required by OpenMP 5.0, add further tests for both use_device_ptr
659 and use_device_addr clauses.
660 * testsuite/libgomp.c++/target-9.C (struct S): New type.
661 (foo): Use use_device_addr clause instead of use_device_ptr clause
662 where required by OpenMP 5.0, add further tests for both use_device_ptr
663 and use_device_addr clauses. Add t and u arguments.
664 (main): Adjust caller.
665
d81ab49d
JJ
6662019-08-06 Jakub Jelinek <jakub@redhat.com>
667
668 * testsuite/libgomp.c++/loop-13.C: New test.
669 * testsuite/libgomp.c++/loop-14.C: New test.
670 * testsuite/libgomp.c++/loop-15.C: New test.
671
c3ac76aa
JJ
6722019-07-31 Jakub Jelinek <jakub@redhat.com>
673
674 PR middle-end/91301
675 * testsuite/libgomp.c++/for-27.C: New test.
676
8dc63166
SK
6772019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
678
393fdeb1 679 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 680 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 681
554a530f
JJ
6822019-07-20 Jakub Jelinek <jakub@redhat.com>
683
684 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
685
6cda84b5
JJ
6862019-07-08 Jakub Jelinek <jakub@redhat.com>
687
688 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
689 * testsuite/libgomp.c++/scan-16.C: Likewise.
690
1f52d1a8
JJ
6912019-07-06 Jakub Jelinek <jakub@redhat.com>
692
6f67abcd
JJ
693 * testsuite/libgomp.c/scan-19.c: New test.
694 * testsuite/libgomp.c/scan-20.c: New test.
695
1f52d1a8
JJ
696 * testsuite/libgomp.c/scan-11.c: New test.
697 * testsuite/libgomp.c/scan-12.c: New test.
698 * testsuite/libgomp.c/scan-13.c: New test.
699 * testsuite/libgomp.c/scan-14.c: New test.
700 * testsuite/libgomp.c/scan-15.c: New test.
701 * testsuite/libgomp.c/scan-16.c: New test.
702 * testsuite/libgomp.c/scan-17.c: New test.
703 * testsuite/libgomp.c/scan-18.c: New test.
704 * testsuite/libgomp.c++/scan-9.C: New test.
705 * testsuite/libgomp.c++/scan-10.C: New test.
706 * testsuite/libgomp.c++/scan-11.C: New test.
707 * testsuite/libgomp.c++/scan-12.C: New test.
708 * testsuite/libgomp.c++/scan-13.C: New test.
709 * testsuite/libgomp.c++/scan-14.C: New test.
710 * testsuite/libgomp.c++/scan-15.C: New test.
711 * testsuite/libgomp.c++/scan-16.C: New test.
712
2f03073f
JJ
7132019-07-04 Jakub Jelinek <jakub@redhat.com>
714
715 * testsuite/libgomp.c/scan-9.c: New test.
716 * testsuite/libgomp.c/scan-10.c: New test.
717
2f6bb511
JJ
7182019-07-03 Jakub Jelinek <jakub@redhat.com>
719
720 * testsuite/libgomp.c++/scan-1.C: New test.
721 * testsuite/libgomp.c++/scan-2.C: New test.
722 * testsuite/libgomp.c++/scan-3.C: New test.
723 * testsuite/libgomp.c++/scan-4.C: New test.
724 * testsuite/libgomp.c++/scan-5.C: New test.
725 * testsuite/libgomp.c++/scan-6.C: New test.
726 * testsuite/libgomp.c++/scan-7.C: New test.
727 * testsuite/libgomp.c++/scan-8.C: New test.
728 * testsuite/libgomp.c/scan-1.c: New test.
729 * testsuite/libgomp.c/scan-2.c: New test.
730 * testsuite/libgomp.c/scan-3.c: New test.
731 * testsuite/libgomp.c/scan-4.c: New test.
732 * testsuite/libgomp.c/scan-5.c: New test.
733 * testsuite/libgomp.c/scan-6.c: New test.
734 * testsuite/libgomp.c/scan-7.c: New test.
735 * testsuite/libgomp.c/scan-8.c: New test.
736
bd194a51
TS
7372019-06-18 Thomas Schwinge <thomas@codesourcery.com>
738
85fca03a
TS
739 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
740 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
741 Likewise.
742
bd194a51
TS
743 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
744 check.
745
6652161e
CP
7462019-06-18 Cesar Philippidis <cesar@codesourcery.com>
747
748 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
749 file.
750
3a37d6f6
TS
7512019-06-18 Thomas Schwinge <thomas@codesourcery.com>
752
4017da8d
TS
753 PR fortran/90743
754 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
755 case.
756 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
757 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
758 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
759 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
760
6f7c1f65
TS
761 PR testsuite/90861
762 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
763
3a37d6f6
TS
764 PR middle-end/90862
765 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
766
f45ce17d
TV
7672019-06-16 Tom de Vries <tdevries@suse.de>
768
769 PR tree-optimization/89376
770 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
771
00908992
TV
7722019-06-15 Tom de Vries <tdevries@suse.de>
773
774 PR tree-optimization/89713
775 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
776 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
777
211b7533
JJ
7782019-06-15 Jakub Jelinek <jakub@redhat.com>
779
780 PR middle-end/90779
781 * testsuite/libgomp.c/pr90779.c: New test.
782 * testsuite/libgomp.fortran/pr90779.f90: New test.
783
120a01d1
TV
7842019-06-15 Tom de Vries <tdevries@suse.de>
785
786 PR tree-optimization/90009
787 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
788
c29c92c7
FX
7892019-06-13 Feng Xue <fxue@os.amperecomputing.com>
790
791 PR tree-optimization/89713
792 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
793
ce9c4ec3
JJ
7942019-06-11 Jakub Jelinek <jakub@redhat.com>
795
796 PR target/90811
797 * testsuite/libgomp.c/pr90811.c: New test.
798
28b3a77c
JJ
7992019-06-05 Jakub Jelinek <jakub@redhat.com>
800
801 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
802 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
803
7855700e
JJ
8042019-06-04 Jakub Jelinek <jakub@redhat.com>
805
806 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
807 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
808 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
809 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
810
a7155c2e
RO
8112019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
812
813 * configure.ac: Call AX_COUNT_CPUS.
814 Substitute CPU_COUNT.
815 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
816 count fallback.
817 * aclocal.m4: Regenerate.
818 * configure: Regenerate.
819 * Makefile.in, testsuite/Makefile.in: Regenerate.
820
7e47198b
JJ
8212019-05-29 Jakub Jelinek <jakub@redhat.com>
822
823 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
824 to ...
825 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
826 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
827 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
828
fcfb8032
JJ
8292019-05-27 Jakub Jelinek <jakub@redhat.com>
830
8e7757ba
JJ
831 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
832
36c7a3ff
JJ
833 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
834
fcfb8032
JJ
835 PR libgomp/90641
836 * work.c (gomp_init_work_share): Instead of aligning final ordered
837 value to multiples of long long alignment, align to that the
838 first part (ordered team ids) and if inline_ordered_team_ids
839 is not on a long long alignment boundary within the structure,
840 use __alignof__ (long long) - 1 pad size always.
841 * loop.c (GOMP_loop_start): Fix *mem computation if
842 inline_ordered_team_ids is not aligned on long long alignment boundary
843 within the structure.
844 * loop-ull.c (GOMP_loop_ull_start): Likewise.
845 * sections.c (GOMP_sections2_start): Likewise.
846
b5c26449
JJ
8472019-05-24 Jakub Jelinek <jakub@redhat.com>
848
6c7ae8c5
JJ
849 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
850 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
851
b5c26449
JJ
852 PR libgomp/90585
853 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
854 HAVE_INTTYPES_H is defined.
855 (print_uint64_t): New typedef.
856 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
857 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
858 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
859 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
860 before casting to void *.
861 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
862 * oacc-mem.c: Don't include config.h nor stdint.h.
863 * target.c: Don't include config.h.
864 * oacc-cuda.c: Likewise.
865 * oacc-host.c: Don't include stdint.h.
866
3e03ed66
JJ
8672019-05-20 Jakub Jelinek <jakub@redhat.com>
868
869 PR libgomp/90527
870 * alloc.c (_GNU_SOURCE): Define.
871
5fae049d
TS
8722019-05-17 Thomas Schwinge <thomas@codesourcery.com>
873
874 * acc_prof.h: New file.
875 * oacc-profiling.c: Likewise.
876 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
877 Add these, respectively.
878 * Makefile.in: Regenerate.
879 * env.c (initialize_env): Call goacc_profiling_initialize.
880 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
881 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
882 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
883 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
884 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
885 acc_prof_register, acc_prof_unregister, and acc_register_library.
886 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
887 GOMP_PLUGIN_goacc_thread.
888 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
889 prof_callbacks_enabled members.
890 (goacc_prof_enabled, goacc_profiling_initialize)
891 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
892 (goacc_profiling_dispatch): Declare.
893 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
894 (GOACC_PROFILING_SETUP_P): Define.
895 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
896 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
897 OpenACC Profiling Interface.
898 * oacc-cuda.c (acc_get_current_cuda_device)
899 (acc_get_current_cuda_context, acc_get_cuda_stream)
900 (acc_set_cuda_stream): Likewise.
901 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
902 (acc_init, acc_set_device_type, acc_get_device_type)
903 (acc_get_device_num, goacc_lazy_initialize): Likewise.
904 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
905 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
906 (acc_unmap_data, present_create_copy, delete_copyout)
907 (update_dev_host): Likewise.
908 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
909 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
910 Likewise.
911 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
912 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
913 Likewise.
914 * libgomp.texi: Update.
915 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
916 file.
917 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
918 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
919 Likewise.
920 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
921 Likewise.
922 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
923 Likewise.
924 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
925 Likewise.
926
1f4c5b9b
CLT
9272019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
928
929 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
930 (struct goacc_asyncqueue_list): Likewise.
931 (goacc_aq): Likewise.
932 (goacc_aq_list): Likewise.
933 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
934 (GOMP_OFFLOAD_openacc_async_test): Remove.
935 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
936 (GOMP_OFFLOAD_openacc_async_wait): Remove.
937 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
938 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
939 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
940 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
941 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
942 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
943 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
944 (GOMP_OFFLOAD_openacc_async_exec): Declare.
945 (GOMP_OFFLOAD_openacc_async_construct): Declare.
946 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
947 (GOMP_OFFLOAD_openacc_async_test): Declare.
948 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
949 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
950 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
951 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
952 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
953
954 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
955 (gomp_acc_insert_pointer): Adjust declaration.
956 (gomp_copy_host2dev): New declaration.
957 (gomp_copy_dev2host): Likewise.
958 (gomp_map_vars_async): Likewise.
959 (gomp_unmap_tgt): Likewise.
960 (gomp_unmap_vars_async): Likewise.
961 (gomp_fini_device): Likewise.
962
963 * oacc-async.c (get_goacc_thread): New function.
964 (get_goacc_thread_device): New function.
965 (lookup_goacc_asyncqueue): New function.
966 (get_goacc_asyncqueue): New function.
967 (acc_async_test): Adjust code to use new async design.
968 (acc_async_test_all): Likewise.
969 (acc_wait): Likewise.
970 (acc_wait_async): Likewise.
971 (acc_wait_all): Likewise.
972 (acc_wait_all_async): Likewise.
973 (goacc_async_free): New function.
974 (goacc_init_asyncqueues): Likewise.
975 (goacc_fini_asyncqueues): Likewise.
976 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
977 design.
978 (acc_set_cuda_stream): Likewise.
979 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
980 (host_openacc_register_async_cleanup): Remove.
981 (host_openacc_async_exec): New function.
982 (host_openacc_async_test): Adjust parameters.
983 (host_openacc_async_test_all): Remove.
984 (host_openacc_async_wait): Remove.
985 (host_openacc_async_wait_async): Remove.
986 (host_openacc_async_wait_all): Remove.
987 (host_openacc_async_wait_all_async): Remove.
988 (host_openacc_async_set_async): Remove.
989 (host_openacc_async_synchronize): New function.
990 (host_openacc_async_serialize): New function.
991 (host_openacc_async_host2dev): New function.
992 (host_openacc_async_dev2host): New function.
993 (host_openacc_async_queue_callback): New function.
994 (host_openacc_async_construct): New function.
995 (host_openacc_async_destruct): New function.
996 (struct gomp_device_descr host_dispatch): Remove initialization of old
997 interface, add intialization of new async sub-struct.
998 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
999 (goacc_attach_host_thread_to_device): Remove old async code usage.
1000 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1001 (goacc_fini_asyncqueues): Likewise.
1002 (goacc_async_copyout_unmap_vars): Likewise.
1003 (goacc_async_free): Likewise.
1004 (get_goacc_asyncqueue): Likewise.
1005 (lookup_goacc_asyncqueue): Likewise.
1006 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1007 design.
1008 (present_create_copy): Adjust code to use new async design.
1009 (delete_copyout): Likewise.
1010 (update_dev_host): Likewise.
1011 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1012 async design.
1013 (gomp_acc_remove_pointer): Adjust code to use new async design.
1014 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1015 design.
1016 (GOACC_enter_exit_data): Likewise.
1017 (goacc_wait): Likewise.
1018 (GOACC_update): Likewise.
1019 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1020 when called, warn as obsolete in comment.
1021 * target.c (goacc_device_copy_async): New function.
1022 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1023 add goacc_device_copy_async case.
1024 (gomp_copy_dev2host): Likewise.
1025 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1026 (gomp_map_pointer): Likewise.
1027 (gomp_map_fields_existing): Likewise.
1028 (gomp_map_vars_internal): New always_inline function, renamed from
1029 gomp_map_vars.
1030 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1031 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1032 passing goacc_asyncqueue argument.
1033 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1034 (gomp_unref_tgt): New function.
1035 (gomp_unmap_vars_internal): New always_inline function, renamed from
1036 gomp_unmap_vars.
1037 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1038 (gomp_unmap_vars_async): Implement by calling
1039 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1040 (gomp_fini_device): New function.
1041 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1042 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1043 new async interface.
1044 (gomp_target_fini): Adjust code to call gomp_fini_device.
1045
1046 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1047 (struct ptx_stream): Remove.
1048 (struct nvptx_thread): Remove current_stream field.
1049 (cuda_map_create): Remove.
1050 (cuda_map_destroy): Remove.
1051 (map_init): Remove.
1052 (map_fini): Remove.
1053 (map_pop): Remove.
1054 (map_push): Remove.
1055 (struct goacc_asyncqueue): Define.
1056 (struct nvptx_callback): Define.
1057 (struct ptx_free_block): Define.
1058 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1059 stream_lock, and next fields.
1060 (enum ptx_event_type): Remove.
1061 (struct ptx_event): Remove.
1062 (ptx_event_lock): Remove.
1063 (ptx_events): Remove.
1064 (init_streams_for_device): Remove.
1065 (fini_streams_for_device): Remove.
1066 (select_stream_for_async): Remove.
1067 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1068 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1069 case.
1070 (nvptx_open_device): Add free_blocks initialization, remove
1071 init_streams_for_device call.
1072 (nvptx_close_device): Remove fini_streams_for_device call, add
1073 free_blocks destruct code.
1074 (event_gc): Remove.
1075 (event_add): Remove.
1076 (nvptx_exec): Adjust parameters and code.
1077 (nvptx_free): Likewise.
1078 (nvptx_host2dev): Remove.
1079 (nvptx_dev2host): Remove.
1080 (nvptx_set_async): Remove.
1081 (nvptx_async_test): Remove.
1082 (nvptx_async_test_all): Remove.
1083 (nvptx_wait): Remove.
1084 (nvptx_wait_async): Remove.
1085 (nvptx_wait_all): Remove.
1086 (nvptx_wait_all_async): Remove.
1087 (nvptx_get_cuda_stream): Remove.
1088 (nvptx_set_cuda_stream): Remove.
1089 (GOMP_OFFLOAD_alloc): Adjust code.
1090 (GOMP_OFFLOAD_free): Likewise.
1091 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1092 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1093 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1094 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1095 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1096 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1097 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1098 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1099 (cuda_free_argmem): New function.
1100 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1101 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1102 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1103 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1104 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1105 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1106 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1107 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1108 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1109 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1110 (cuda_callback_wrapper): New function.
1111 (cuda_memcpy_sanity_check): New function.
1112 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1113 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1114 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1115 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1116
da2d30c1
TS
11172019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1118
1119 PR target/87835
1120 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1121
2bbbfa4e
TS
11222019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1123
1124 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1125
bbf1efe1
KB
11262019-03-27 Kevin Buettner <kevinb@redhat.com>
1127
1128 * team.c (gomp_team_start): Initialize pool->threads[0].
1129
1241136c
TS
11302019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1131
b03d721a
TS
1132 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1133 "-foffload=$offload_target".
1134 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1135 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1136 * testsuite/lib/libgomp.exp
1137 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1138 as (conceptually) merged into
1139 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1140 users.
1141
0a0384b4
TS
1142 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1143 * testsuite/libgomp-test-support.exp.in: Adjust.
1144 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1145 openacc_device_types_s.
1146 (offload_target_to_openacc_device_type): New proc.
1147 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1148 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1149 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1150 * Makefile.in: Regenerate.
1151 * configure: Likewise.
1152 * testsuite/Makefile.in: Likewise.
1153
ee332b4a
TS
1154 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1155 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1156 instead of OFFLOAD_TARGETS.
1157 * target.c (gomp_target_init): Adjust.
1158 * testsuite/libgomp-test-support.exp.in: Likewise.
1159 * testsuite/lib/libgomp.exp: Likewise. Populate
1160 openacc_device_types_s instead of offload_targets_s_openacc.
1161 (check_effective_target_openacc_nvidia_accel_selected)
1162 (check_effective_target_openacc_host_selected): Adjust.
1163 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1164 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1165 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1166 * Makefile.in: Regenerate.
1167 * config.h.in: Likewise.
1168 * configure: Likewise.
1169 * testsuite/Makefile.in: Likewise.
1170
1241136c
TS
1171 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1172 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1173 "offloading: supported, but hardware not accessible".
1174 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1175 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1176
19695f4d
CLT
11772019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1178
1179 PR c/87924
1180 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1181 goacc_wait().
1182 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1183 and related adjustment.
1184
8b44f8ec
JJ
11852019-01-30 Jakub Jelinek <jakub@redhat.com>
1186
1187 PR c++/88988
1188 * testsuite/libgomp.c++/pr88988.C: New test.
1189
be3a87e7
JJ
11902019-01-28 Jakub Jelinek <jakub@redhat.com>
1191
1192 PR middle-end/89002
1193 * testsuite/libgomp.c/pr89002.c: New test.
1194
497ef4d7
RB
11952019-01-28 Richard Biener <rguenther@suse.de>
1196
1197 PR testsuite/89064
1198 PR tree-optimization/86865
1199 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1200
738c56d4
TV
12012019-01-24 Tom de Vries <tdevries@suse.de>
1202
1203 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1204 once instantiated_devices drops to 0.
1205
4a75460b
TV
12062019-01-23 Tom de Vries <tdevries@suse.de>
1207
1208 PR target/PR88946
1209 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1210 cuMemFree.
1211 (nvptx_exec): Don't call map_push if mapnum == 0.
1212 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1213
4fef8e4d
TV
12142019-01-23 Tom de Vries <tdevries@suse.de>
1215
1216 PR target/88941
1217 PR target/88939
1218 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1219 (map_fini): Remove "assert (!s->map->active)".
1220 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1221
2ee6cb22
TV
12222019-01-23 Tom de Vries <tdevries@suse.de>
1223
1224 PR target/87835
1225 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1226 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1227
d41d952c
TV
12282019-01-15 Tom de Vries <tdevries@suse.de>
1229
1230 PR target/80547
1231 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1232 New test.
1233
efb56ae8
TV
12342019-01-12 Tom de Vries <tdevries@suse.de>
1235
1236 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1237 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1238 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1239 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1240
2c2ff168
TV
12412019-01-12 Tom de Vries <tdevries@suse.de>
1242
1243 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1244
a1057758
TV
12452019-01-12 Tom de Vries <tdevries@suse.de>
1246
1247 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1248 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1249 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1250
56314b77
TV
12512019-01-12 Tom de Vries <tdevries@suse.de>
1252
1253 PR target/85486
1254 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1255 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1256
b39e4366
TV
12572019-01-12 Tom de Vries <tdevries@suse.de>
1258
1259 PR target/85381
1260 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1261 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1262
2cb7a501
TV
12632019-01-12 Tom de Vries <tdevries@suse.de>
1264
1265 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1266 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1267 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1268
8e77f71e
TV
12692019-01-12 Tom de Vries <tdevries@suse.de>
1270
1271 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1272 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1273 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1274
52d22ece
TV
12752019-01-12 Tom de Vries <tdevries@suse.de>
1276
1277 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1278 resources diagnostic.
1279
2b9d9e39
TV
12802019-01-12 Tom de Vries <tdevries@suse.de>
1281
1282 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1283 vector length to be 128.
1284 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1285 length 2097152 to be reduced to 1024 instead of 32.
1286
4102bda6
TS
12872019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1288 James Norris <jnorris@codesourcery.com>
1289
1290 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1291 Library Routines", and "Environment Variables".
1292
052aaace
TV
12932019-01-11 Tom de Vries <tdevries@suse.de>
1294
1295 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1296 num_workers 16.
1297
9390f916
TV
12982019-01-11 Tom de Vries <tdevries@suse.de>
1299
1300 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1301 -foffload=-w.
1302 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1303 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1304 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1305 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1306
2c3e7ad2
TV
13072019-01-11 Tom de Vries <tdevries@suse.de>
1308
1309 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1310 test.
1311
e222497d
NS
13122019-01-10 Nathan Sidwell <nathan@acm.org>
1313 Julian Brown <julian@codesourcery.com>
1314
1315 PR lto/71959
1316 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1317 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1318
cb87fec3
SH
13192019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1320
1321 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1322 and paste code.
1323
30b4d0d0
SH
13242019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1325
1326 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1327 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1328 write.
1329
5d0bc70a
TV
13302019-01-09 Tom de Vries <tdevries@suse.de>
1331
1332 PR target/88756
1333 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1334 #define instead of "const int".
1335 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1336 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1337 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1338 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1339
2c372e81
TV
13402019-01-09 Tom de Vries <tdevries@suse.de>
1341
1342 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1343 one worker.
1344
43493c97
TV
13452019-01-07 Tom de Vries <tdevries@suse.de>
1346
1347 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1348 GOMP_OPENACC_DIM argument.
1349
5c571497
TV
13502019-01-03 Tom de Vries <tdevries@suse.de>
1351
1352 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1353 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1354
a5544970
JJ
13552019-01-01 Jakub Jelinek <jakub@redhat.com>
1356
1357 Update copyright years.
1358
3f27508c
JJ
13592019-01-01 Jakub Jelinek <jakub@redhat.com>
1360
1361 * libgomp.texi: Bump @copying's copyright year.
1362
59d5960c
TS
13632018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1364
1365 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1366 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1367 (GOACC_declare): Redefine the "device" argument to "flags".
1368
a44c1790
TS
13692018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1370 Cesar Philippidis <cesar@codesourcery.com>
1371
1372 * target.c (struct gomp_coalesce_chunk): New structure.
1373 (struct gomp_coalesce_buf): Update the chunks member to use that
1374 type. Adjust all users.
1375
a152954e
TV
13762018-12-19 Tom de Vries <tdevries@suse.de>
1377
1378 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1379 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1380 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1381
49188cd1
TV
13822018-12-19 Tom de Vries <tdevries@suse.de>
1383
1384 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1385 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1386 gcc/testsuite/gcc.dg/goacc.
1387 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1388
c759830b
TS
13892018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1390 Chung-Lin Tang <cltang@codesourcery.com>
1391
1392 * oacc-mem.c (acc_present_or_create): Remove definition and change
1393 to alias of acc_create.
1394 (acc_present_or_copyin): Remove definition and change to alias of
1395 acc_copyin.
1396 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1397 of acc_present_or_create.
1398 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1399 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1400 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1401 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1402 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1403 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1404 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1405 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1406 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1407 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1408 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1409 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1410 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1411 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1412 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1413 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1414
7de562ee
TS
14152018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1416
f847198e
TS
1417 PR libgomp/88495
1418 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1419 "identical parameters".
1420 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1421 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1422
c8ab8aab
TS
1423 PR libgomp/88484
1424 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1425 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1426
1404af62
TS
1427 PR libgomp/88407
1428 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1429 (nvptx_wait_async): Unseen async-argument is a no-op.
1430 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1431 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1434 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1436 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
1437 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1438 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
1439
7de562ee
TS
1440 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1441 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1442
17469af7
CLT
14432018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
1444
1445 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1446 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1447 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1448
18c247cc
TS
14492018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1450
1451 PR libgomp/88370
1452 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1453 (acc_set_cuda_stream): Clarify.
1454 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1455 "async_valid_p".
1456 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1457 acc_async_sync".
1458 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1459 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1461 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1462
b0aba46c
TV
14632018-12-14 Tom de Vries <tdevries@suse.de>
1464
1465 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1466 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1467 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1468 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1469 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1470
fe0827ee
TV
14712018-12-13 Tom de Vries <tdevries@suse.de>
1472
1473 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1474 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1475 * fortran.c (omp_display_affinity_): ... here.
1476 * libgomp.h (gomp_print_string): Declare.
1477 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
1478 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1479 write.
1480
a51f8c92
JJ
14812018-12-13 Jakub Jelinek <jakub@redhat.com>
1482
1483 PR libgomp/88460
1484 * testsuite/libgomp.c++/for-24.C (results): Include it in
1485 omp declare target region.
1486 (main): Use map (always, tofrom: results) instead of
1487 map (tofrom: results).
1488
a6ef2ac9
JJ
14892018-12-12 Jakub Jelinek <jakub@redhat.com>
1490
7a289b7d
JJ
1491 PR fortran/88463
1492 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1493 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1494
a6ef2ac9
JJ
1495 * testsuite/libgomp.c-c++-common/for-16.c: New test.
1496
9c47a019
AS
14972018-12-12 Andreas Schwab <schwab@suse.de>
1498
1499 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1500 clobbered.
1501
d0cbb206
TK
15022018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1503
1504 PR fortran/88411
1505 * testsuite/libgomp.fortran/async_io_8.f90: New test.
1506
84ca08d2
TS
15072018-12-09 Thomas Schwinge <thomas@codesourcery.com>
1508 Jakub Jelinek <jakub@redhat.com>
1509
1510 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1511 devicep->host2dev_func.
1512
6997628d
JJ
15132018-12-08 Jakub Jelinek <jakub@redhat.com>
1514
1515 PR libgomp/87995
1516 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1517 tls_runtime effective target.
1518 (t): New threadprivate variable.
1519 (main): Set t in threads which execute iterations of the worksharing
1520 loop. Propagate that to the task after the loop and don't abort
1521 if the current taskgroup hasn't been cancelled.
1522
daa8c1d7
JJ
15232018-12-02 Jakub Jelinek <jakub@redhat.com>
1524
4a82df9a
JJ
1525 * testsuite/libgomp.c/task-reduction-3.c: New test.
1526
daa8c1d7
JJ
1527 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1528
fe570ff8
CP
15292018-11-30 Cesar Philippidis <cesar@codesourcery.com>
1530
1531 PR libgomp/88288
1532 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1533 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1534
c223608f
TS
15352018-11-30 Thomas Schwinge <thomas@codesourcery.com>
1536
1537 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1538
fc60283c
RB
15392018-10-19 Richard Biener <rguenther@suse.de>
1540
1541 PR tree-optimization/88182
1542 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1543
ffcf3b79
JJ
15442018-11-26 Jakub Jelinek <jakub@redhat.com>
1545
1546 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1547 (RUNTEST): Don't define.
1548 (RUNTESTDEFAULTFLAGS): Add.
1549 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1550 (distclean-am): Depend on distclean-DEJAGNU.
1551 (check-am): If -j% option is present in MFLAGS and if
1552 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1553 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1554 * testsuite/Makefile.in: Regenerated.
1555
ef6e6914
RB
15562018-11-26 Richard Biener <rguenther@suse.de>
1557
1558 PR tree-optimization/88182
1559 * testsuite/libgomp.c++/pr88182.C: New testcase.
1560
72d3bb76
JJ
15612018-11-20 Jakub Jelinek <jakub@redhat.com>
1562
1563 PR bootstrap/88106
1564 * config/mingw32/affinity-fmt.c: New file.
1565
207286c3
JJ
15662018-11-09 Jakub Jelinek <jakub@redhat.com>
1567
9666c522
JJ
1568 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1569 (gomp_display_affinity): Use __builtin_choose_expr to handle
1570 properly handle argument having integral, or pointer or some other
1571 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
1572 with uint64_t type instead of %llx and unsigned long long.
1573
207286c3
JJ
1574 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1575 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1576
2033f45b
RO
15772018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1578
1579 * affinity.c: Include <string.h>, <stdio.h>.
1580 (gomp_display_affinity_place): Remove cpusetp.
1581 * teams.c: Include <limits.h>.
1582
28567c40
JJ
15832018-11-08 Jakub Jelinek <jakub@redhat.com>
1584
8991d779
JJ
1585 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1586 in_reduction clause for s[0].
1587
28567c40
JJ
1588 * affinity.c (gomp_display_affinity_place): New function.
1589 * affinity-fmt.c: New file.
1590 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
1591 * config/linux/affinity.c (gomp_display_affinity_place): New function.
1592 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
1593 Move these functions to ...
1594 * config/nvptx/teams.c: ... here. New file.
1595 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
1596 New functions.
1597 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
1598 functions.
1599 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
1600 and _aligned_malloc.
1601 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
1602 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
1603 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
1604 gomp_affinity_format_len): New variables.
1605 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
1606 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
1607 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
1608 modifiers. Display (non-default) chunk sizes. Print
1609 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
1610 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
1611 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
1612 * fortran.c: Include stdio.h and string.h.
1613 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
1614 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
1615 (omp_set_affinity_format_, omp_get_affinity_format_,
1616 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
1617 omp_pause_resource_all_): New functions.
1618 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
1619 switch.
1620 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
1621 functions to ...
1622 * teams.c: ... here. New file.
1623 * libgomp_g.h: Include gstdint.h.
1624 (GOMP_loop_nonmonotonic_runtime_start,
1625 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
1626 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
1627 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
1628 GOMP_parallel_loop_nonmonotonic_runtime,
1629 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1630 GOMP_loop_ull_nonmonotonic_runtime_start,
1631 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
1632 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
1633 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1634 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
1635 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
1636 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1637 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1638 GOMP_teams_reg): Declare.
1639 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
1640 gomp_aligned_alloc uses fallback implementation.
1641 (gomp_aligned_alloc, gomp_aligned_free): Declare.
1642 (enum gomp_schedule_type): Add GFS_MONOTONIC.
1643 (struct gomp_doacross_work_share): Add extra field.
1644 (struct gomp_work_share): Add task_reductions field.
1645 (struct gomp_taskgroup): Add workshare and reductions fields.
1646 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
1647 (gomp_thread_handle): New typedef.
1648 (gomp_display_affinity_place, gomp_set_affinity_format,
1649 gomp_display_string, gomp_display_affinity,
1650 gomp_display_affinity_thread): Declare.
1651 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
1652 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
1653 gomp_workshare_task_reduction_register): Declare.
1654 (gomp_team_start): Add taskgroup argument.
1655 (gomp_pause_host): Declare.
1656 (gomp_init_work_share, gomp_work_share_start): Change bool argument
1657 to size_t.
1658 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
1659 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
1660 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
1661 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1662 GOMP_loop_ull_doacross_start,
1663 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1664 GOMP_loop_maybe_nonmonotonic_runtime_next,
1665 GOMP_loop_maybe_nonmonotonic_runtime_start,
1666 GOMP_loop_nonmonotonic_runtime_next,
1667 GOMP_loop_nonmonotonic_runtime_start,
1668 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1669 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1670 GOMP_loop_ull_nonmonotonic_runtime_next,
1671 GOMP_loop_ull_nonmonotonic_runtime_start,
1672 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1673 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
1674 GOMP_taskgroup_reduction_register,
1675 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1676 GOMP_teams_reg and GOMP_taskwait_depend.
1677 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
1678 omp_{capture,display}_affinity{,_}, and
1679 omp_[gs]et_affinity_format{,_}.
1680 * loop.c: Include string.h.
1681 (GOMP_loop_runtime_next): Add ialias.
1682 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1683 (gomp_loop_static_start, gomp_loop_dynamic_start,
1684 gomp_loop_guided_start, gomp_loop_ordered_static_start,
1685 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
1686 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1687 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
1688 or gomp_doacross_init callers.
1689 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
1690 GOMP_loop_doacross_start): New functions.
1691 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
1692 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
1693 Mask off GFS_MONOTONIC bit.
1694 (GOMP_loop_maybe_nonmonotonic_runtime_next,
1695 GOMP_loop_maybe_nonmonotonic_runtime_start,
1696 GOMP_loop_nonmonotonic_runtime_next,
1697 GOMP_loop_nonmonotonic_runtime_start,
1698 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1699 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
1700 functions.
1701 (gomp_parallel_loop_start): Pass NULL as taskgroup to
1702 gomp_team_start.
1703 * loop_ull.c: Include string.h.
1704 (GOMP_loop_ull_runtime_next): Add ialias.
1705 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1706 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
1707 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
1708 gomp_loop_ull_ordered_dynamic_start,
1709 gomp_loop_ull_ordered_guided_start,
1710 gomp_loop_ull_doacross_static_start,
1711 gomp_loop_ull_doacross_dynamic_start,
1712 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
1713 and gomp_doacross_ull_init callers.
1714 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1715 GOMP_loop_ull_doacross_start): New functions.
1716 (GOMP_loop_ull_runtime_start,
1717 GOMP_loop_ull_ordered_runtime_start,
1718 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1719 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1720 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1721 GOMP_loop_ull_nonmonotonic_runtime_next,
1722 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1723 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1724 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1725 (omp_pause_resource_t, omp_depend_t): New typedefs.
1726 (enum omp_lock_hint_t): Renamed to ...
1727 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
1728 enumerators using numbers and omp_lock_hint_* as their aliases.
1729 (omp_lock_hint_t): New typedef. Rename to ...
1730 (omp_sync_hint_t): ... this.
1731 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1732 omp_sync_hint_t instead of omp_lock_hint_t.
1733 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1734 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1735 Declare.
1736 (omp_target_is_present, omp_target_disassociate_ptr):
1737 Change first argument from void * to const void *.
1738 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1739 from void * to const void *.
1740 (omp_target_associate_ptr): Change first and second arguments from
1741 void * to const void *.
1742 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1743 omp_pause_hard): New parameters.
1744 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1745 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1746 New interfaces.
1747 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1748 omp_pause_hard): New parameters.
1749 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1750 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1751 New externals.
1752 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1753 EXTRA argument. If not needed to prepare array, if extra is 0,
1754 clear ws->doacross, otherwise allocate just doacross structure and
1755 extra payload. If array is needed, allocate also extra payload.
1756 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1757 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1758 doacross == NULL.
1759 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1760 gomp_team_start.
1761 (GOMP_parallel): Likewise. Formatting fix.
1762 (GOMP_parallel_reductions): New function.
1763 (GOMP_cancellation_point): If taskgroup has workshare
1764 flag set, check cancelled of prev taskgroup if any.
1765 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1766 on prev taskgroup if any.
1767 * sections.c: Include string.h.
1768 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1769 (GOMP_sections_start): Adjust gomp_work_share_start caller.
1770 (GOMP_sections2_start): New function.
1771 (GOMP_parallel_sections_start, GOMP_parallel_sections):
1772 Pass NULL as taskgroup to gomp_team_start.
1773 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1774 gomp_work_share_start callers.
1775 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1776 If taskgroup has workshare flag set, check cancelled on prev
1777 taskgroup if any. Guard all cancellation tests with
1778 gomp_cancel_var test.
1779 (omp_target_is_present, omp_target_disassociate_ptr):
1780 Change ptr argument from void * to const void *.
1781 (omp_target_memcpy): Change src argument from void * to const void *.
1782 (omp_target_memcpy_rect): Likewise.
1783 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
1784 instead of char * where needed.
1785 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1786 from void * to const void *.
1787 (omp_pause_resource, omp_pause_resource_all): New functions.
1788 * task.c (gomp_task_handle_depend): Handle new depend array format
1789 in addition to the old. Handle mutexinoutset kinds the same as
1790 inout for now, handle unspecified kinds.
1791 (gomp_create_target_task): If taskgroup has workshare flag set, check
1792 cancelled on prev taskgroup if any. Guard all cancellation tests with
1793 gomp_cancel_var test. Handle new depend array format count in
1794 addition to the old.
1795 (GOMP_task): Likewise. Adjust function comment.
1796 (gomp_task_run_pre): If taskgroup has workshare flag set, check
1797 cancelled on prev taskgroup if any. Guard all cancellation tests with
1798 gomp_cancel_var test.
1799 (GOMP_taskwait_depend): New function.
1800 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1801 format in addition to the old. Handle mutexinoutset kinds the same as
1802 inout for now, handle unspecified kinds. Fix a function comment typo.
1803 (gomp_taskgroup_init): New function.
1804 (GOMP_taskgroup_start): Use it.
1805 (gomp_reduction_register, gomp_create_artificial_team,
1806 GOMP_taskgroup_reduction_register,
1807 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1808 gomp_parallel_reduction_register,
1809 gomp_workshare_task_reduction_register,
1810 gomp_workshare_taskgroup_start,
1811 GOMP_workshare_task_reduction_unregister): New functions.
1812 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1813 check cancelled on prev taskgroup if any. Guard all cancellation
1814 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1815 by calling GOMP_taskgroup_reduction_register.
1816 * team.c (gomp_thread_attr): Remove comment.
1817 (struct gomp_thread_start_data): Add handle field.
1818 (gomp_thread_start): Call pthread_detach.
1819 (gomp_new_team): Adjust gomp_init_work_share caller.
1820 (gomp_free_pool_helper): Call pthread_detach.
1821 (gomp_team_start): Add taskgroup argument, initialize implicit
1822 tasks' taskgroup field to that. Don't call
1823 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1824 (gomp_team_end): Determine nesting by thr->ts.level != 0
1825 rather than thr->ts.team != NULL.
1826 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1827 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1828 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1829 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1830 if more than 1 allocate also extra payload at the end of array. Never
1831 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1832 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1833 return true instead of ws.
1834 * Makefile.in: Regenerated.
1835 * configure: Regenerated.
1836 * config.h.in: Regenerated.
1837 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1838 in some cases.
1839 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1840 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1841 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1842 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1843 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1844 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1845 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1846 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1847 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1848 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1849 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1850 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1851 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1852 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1853 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1854 define a different N(test), don't define N(f0) to N(f14), but instead
1855 define N(f20) to N(f34) using != comparisons.
1856 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1857 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1858 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1859 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1860 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1861 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1862 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1863 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1864 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1865 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1866 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1867 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1868 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1869 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1870 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1871 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1872 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1873 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1874 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1875 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1876 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1877 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1878 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1879 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1880 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1881 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1882 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1883 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1884 * testsuite/libgomp.c++/depend-1.C: New test.
1885 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1886 * testsuite/libgomp.c++/depobj-1.C: New test.
1887 * testsuite/libgomp.c++/for-16.C: New test.
1888 * testsuite/libgomp.c++/for-21.C: New test.
1889 * testsuite/libgomp.c++/for-22.C: New test.
1890 * testsuite/libgomp.c++/for-23.C: New test.
1891 * testsuite/libgomp.c++/for-24.C: New test.
1892 * testsuite/libgomp.c++/for-25.C: New test.
1893 * testsuite/libgomp.c++/for-26.C: New test.
1894 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1895 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1896 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1897 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1898 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1899 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1900 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1901 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1902 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1903 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1904 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1905 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1906 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1907 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1908 * testsuite/libgomp.c/task-reduction-1.c: New test.
1909 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1910 * testsuite/libgomp.c/task-reduction-2.c: New test.
1911 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1912 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1913 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1914 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1915 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1916 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1917 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1918 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1919 * testsuite/libgomp.c/teams-1.c: New test.
1920 * testsuite/libgomp.c/teams-2.c: New test.
1921 * testsuite/libgomp.c/thread-limit-4.c: New test.
1922 * testsuite/libgomp.c/thread-limit-5.c: New test.
1923 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1924
58168bbf
CLT
19252018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1926
1927 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1928 acc_memcpy_to/from_device functions, now with async parameter.
1929 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1930 (acc_memcpy_from_device): Likewise.
1931 (acc_memcpy_to_device_async): New API function.
1932 (acc_memcpy_from_device_async): Likewise.
1933 (present_create_copy): Add async parameter and async setting/unsetting.
1934 (acc_create): Adjust present_create_copy call.
1935 (acc_copyin): Likewise.
1936 (acc_present_or_create): Likewise.
1937 (acc_present_or_copyin): Likewise.
1938 (acc_create_async): New API function.
1939 (acc_copyin_async): New API function.
1940 (delete_copyout): Add async parameter and async setting/unsetting.
1941 (acc_delete): Adjust delete_copyout call.
1942 (acc_copyout): Likewise.
1943 (acc_delete_async): New API function.
1944 (acc_copyout_async): Likewise.
1945 (update_dev_host): Add async parameter and async setting/unsetting.
1946 (acc_update_device): Adjust update_dev_host call.
1947 (acc_update_self): Likewise.
1948 (acc_update_device_async): New API function.
1949 (acc_update_self_async): Likewise.
1950 * openacc.h (acc_copyin_async): Declare new API function.
1951 (acc_create_async): Likewise.
1952 (acc_copyout_async): Likewise.
1953 (acc_delete_async): Likewise.
1954 (acc_update_device_async): Likewise.
1955 (acc_update_self_async): Likewise.
1956 (acc_memcpy_to_device_async): Likewise.
1957 (acc_memcpy_from_device_async): Likewise.
1958 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1959 (acc_copyin_async_64_h): New subroutine.
1960 (acc_copyin_async_array_h): New subroutine.
1961 (acc_create_async_32_h): New subroutine.
1962 (acc_create_async_64_h): New subroutine.
1963 (acc_create_async_array_h): New subroutine.
1964 (acc_copyout_async_32_h): New subroutine.
1965 (acc_copyout_async_64_h): New subroutine.
1966 (acc_copyout_async_array_h): New subroutine.
1967 (acc_delete_async_32_h): New subroutine.
1968 (acc_delete_async_64_h): New subroutine.
1969 (acc_delete_async_array_h): New subroutine.
1970 (acc_update_device_async_32_h): New subroutine.
1971 (acc_update_device_async_64_h): New subroutine.
1972 (acc_update_device_async_array_h): New subroutine.
1973 (acc_update_self_async_32_h): New subroutine.
1974 (acc_update_self_async_64_h): New subroutine.
1975 (acc_update_self_async_array_h): New subroutine.
1976 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1977 (acc_copyin_async_64_h): New subroutine.
1978 (acc_copyin_async_array_h): New subroutine.
1979 (acc_create_async_32_h): New subroutine.
1980 (acc_create_async_64_h): New subroutine.
1981 (acc_create_async_array_h): New subroutine.
1982 (acc_copyout_async_32_h): New subroutine.
1983 (acc_copyout_async_64_h): New subroutine.
1984 (acc_copyout_async_array_h): New subroutine.
1985 (acc_delete_async_32_h): New subroutine.
1986 (acc_delete_async_64_h): New subroutine.
1987 (acc_delete_async_array_h): New subroutine.
1988 (acc_update_device_async_32_h): New subroutine.
1989 (acc_update_device_async_64_h): New subroutine.
1990 (acc_update_device_async_array_h): New subroutine.
1991 (acc_update_self_async_32_h): New subroutine.
1992 (acc_update_self_async_64_h): New subroutine.
1993 (acc_update_self_async_array_h): New subroutine.
1994 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1995 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1996 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1997 acc_memcpy_to_device_async*, acc_update_device_async*, and
1998 acc_update_self_async* entries.
1999 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2000 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2001 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2002
22e05272
JM
20032018-10-31 Joseph Myers <joseph@codesourcery.com>
2004
2005 PR bootstrap/82856
2006 * Makefile.am: Include multilib.am
2007 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2008 (CLEANFILES): Remove libgomp.info.
2009 * configure.ac: Remove AC_PREREQ.
2010 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2011 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2012 Regenerate.
2013
87a5ccfb
JM
20142018-10-29 Joseph Myers <joseph@codesourcery.com>
2015 Julian Brown <julian@codesourcery.com>
2016
2017 * testsuite/libgomp.oacc-c++/this.C: New.
2018
2049befd
CP
20192018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2020
2021 * plugin/plugin-nvptx.c (struct cuda_map): New.
2022 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2023 h_tail with (cuda_map *) map.
2024 (cuda_map_create): New function.
2025 (cuda_map_destroy): New function.
2026 (map_init): Update to use a linked list of cuda_map objects.
2027 (map_fini): Likewise.
2028 (map_pop): Likewise.
2029 (map_push): Likewise. Return CUdeviceptr instead of void.
2030 (init_streams_for_device): Remove stales references to ptx_stream
2031 members.
2032 (select_stream_for_async): Likewise.
2033 (nvptx_exec): Update call to map_init.
2034
8e36332c
CP
20352018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2036 Julian Brown <julian@codesourcery.com>
2037
2038 PR middle-end/86336
2039 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2040
2b4c9065
NK
20412018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2042 Thomas Koenig <tkoenig@gcc.gnu.org>
2043
2044 PR fortran/25829
2045 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2046 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2047 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2048 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2049 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2050 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2051 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2052
bd9b3d3d
CP
20532018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2054 Tom de Vries <tdevries@suse.de>
2055
2056 PR target/85590
2057 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2058 (cuOccupancyMaxPotentialBlockSize): Declare.
2059 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2060 CUDA_ONE_CALL_MAYBE_NULL.
2061 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2062 CUoccupancyB2DSize and declare
2063 cuOccupancyMaxPotentialBlockSize.
2064 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2065 default num_gangs and num_workers when the driver supports it.
2066
8e09a12f
TV
20672018-08-08 Tom de Vries <tdevries@suse.de>
2068
2069 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2070 CUDA_ONE_CALL_MAYBE_NULL.
2071 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2072 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2073 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2074 are not found.
2075
cedd9bd0
TV
20762018-08-08 Tom de Vries <tdevries@suse.de>
2077
2078 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2079 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2080 present.
2081
b113af95
TV
20822018-08-08 Tom de Vries <tdevries@suse.de>
2083
2084 * plugin/plugin-nvptx.c
2085 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2086 (nvptx_open_device): Use
2087 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2088
94767dac
TV
20892018-08-08 Tom de Vries <tdevries@suse.de>
2090
2091 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2092 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2093
02150de8
TV
20942018-08-07 Tom de Vries <tdevries@suse.de>
2095
2096 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2097 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2098 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2099 corresponding call in CUDA_ONE_CALL. Add def/undef of
2100 CUDA_ONE_CALL_MAYBE_NULL.
2101 (CUDA_CALL_EXISTS): Define.
2102
9e28b107
TV
21032018-08-07 Tom de Vries <tdevries@suse.de>
2104
2105 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2106 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2107 corresponding undefs right after.
2108
09940090
TV
21092018-08-04 Tom de Vries <tdevries@suse.de>
2110
2111 * plugin/configfrag.ac: For --without-cuda-driver, set
2112 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2113 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2114 * configure: Regenerate.
2115
77e0a97a
TV
21162018-08-02 Tom de Vries <tdevries@suse.de>
2117
2118 PR target/86660
2119 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2120 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2121 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2122 Same.
2123 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2124 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2125 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2126
701d080a
CP
21272018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2128 Thomas Schwinge <thomas@codesourcery.com>
2129
2130 * config/nvptx/oacc-parallel.c: Truncate.
2131
094db6be
CP
21322018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2133 James Norris <jnorris@codesourcery.com>
2134
2135 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
2136 (map_init, map_pop): Remove use of struct map.
2137 (map_push): Likewise and change argument list.
094db6be
CP
2138 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2139
8c6310a2
TV
21402018-08-01 Tom de Vries <tdevries@suse.de>
2141
2142 * plugin/cuda-lib.def: New file. Factor out of ...
2143 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2144 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2145 using CUDA_CALLS.
2146
1d4a51cf
AV
21472018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2148
2149 Revert 'AsyncI/O patch committed'.
2150 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2151 Thomas Koenig <tkoenig@gcc.gnu.org>
2152
2153 PR fortran/25829
2154 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2155 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2156 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2157 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2158 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2159 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2160 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2161
4cdfee3f
TV
21622018-07-30 Tom de Vries <tdevries@suse.de>
2163
2164 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2165 (nvptx_exec): Ensure worker and vector default dims don't exceed
2166 targ_fn->max_threads_per_block.
2167
0b210c43
TV
21682018-07-30 Tom de Vries <tdevries@suse.de>
2169
2170 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2171 (nvptx_open_device): Init default_dims for device.
2172 (nvptx_exec): Use default_dims from device.
2173
5883c5cc
JJ
21742018-07-26 Jakub Jelinek <jakub@redhat.com>
2175
5d36384c
JJ
2176 PR testsuite/86660
2177 * testsuite/libgomp.c++/for-15.C (results): Include it in
2178 omp declare target region.
2179 (main): Use map (always, tofrom: results) instead of
2180 map (tofrom: results).
2181
5883c5cc
JJ
2182 PR middle-end/86660
2183 * testsuite/libgomp.c/pr86660.c: New test.
2184
88a4654d
CP
21852018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2186 Tom de Vries <tdevries@suse.de>
2187
2188 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2189 sufficient resources to launch a kernel, and give a hint on how to fix
2190 it.
2191
0c6c2f5f
CP
21922018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2193 Tom de Vries <tdevries@suse.de>
2194
2195 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2196 max_threads_per_block and max_threads_per_multiprocessor fields.
2197 (nvptx_open_device): Initialize new fields.
2198 (nvptx_exec): Use num_sms, and new fields.
2199
6dd58010
TV
22002018-07-26 Tom de Vries <tdevries@suse.de>
2201
2202 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2203 to correct locations. Remove xfail.
2204
b2eb1779
TV
22052018-07-26 Tom de Vries <tdevries@suse.de>
2206
2207 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2208 acc_wait. Move acc_async_test calls to correct locations. Remove
2209 xfail.
2210
b1f45884
NK
22112018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2212 Thomas Koenig <tkoenig@gcc.gnu.org>
2213
2214 PR fortran/25829
2215 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2216 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2217 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2218 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2219 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2220 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2221 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2222
3a106211
JJ
22232018-07-17 Jakub Jelinek <jakub@redhat.com>
2224
a3bccfa1
JJ
2225 PR middle-end/86542
2226 * testsuite/libgomp.c++/pr86542.C: New test.
2227
3a106211
JJ
2228 PR middle-end/86539
2229 * testsuite/libgomp.c++/pr86539.C: New test.
2230
2bae8b2f
JJ
22312018-07-11 Jakub Jelinek <jakub@redhat.com>
2232
2233 PR c++/86443
2234 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2235 (results): Make sure the variable is not inside declare target region.
2236 (qux): Remove unused function.
2237
0b27c3ed
JJ
22382018-07-10 Jakub Jelinek <jakub@redhat.com>
2239
2240 PR c++/86443
2241 * testsuite/libgomp.c++/for-15.C: New test.
2242
f0391511
JJ
22432018-06-26 Jakub Jelinek <jakub@redhat.com>
2244
2245 PR c++/86291
2246 * testsuite/libgomp.c++/pr86291.C: New test.
2247
1a6d1d24
GP
22482018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2249
2250 * libgomp.texi (Top): Move www.openmp.org to https.
2251 (Enabling OpenMP): Ditto.
2252 (omp_get_active_level): Ditto.
2253 (omp_get_ancestor_thread_num): Ditto.
2254 (omp_get_cancellation): Ditto.
2255 (omp_get_default_device): Ditto.
2256 (omp_get_dynamic): Ditto.
2257 (omp_get_level): Ditto.
2258 (omp_get_max_active_levels): Ditto.
2259 (omp_get_max_task_priority): Ditto.
2260 (omp_get_max_threads): Ditto.
2261 (omp_get_nested): Ditto.
2262 (omp_get_num_devices): Ditto.
2263 (omp_get_num_procs): Ditto.
2264 (omp_get_num_teams): Ditto.
2265 (omp_get_num_threads): Ditto.
2266 (omp_get_proc_bind): Ditto.
2267 (omp_get_schedule): Ditto.
2268 (omp_get_team_num): Ditto.
2269 (omp_get_team_size): Ditto.
2270 (omp_get_thread_limit): Ditto.
2271 (omp_get_thread_num): Ditto.
2272 (omp_in_parallel): Ditto.
2273 (omp_in_final): Ditto.
2274 (omp_is_initial_device): Ditto.
2275 (omp_set_default_device): Ditto.
2276 (omp_set_dynamic): Ditto.
2277 (omp_set_max_active_levels): Ditto.
2278 (omp_set_nested): Ditto.
2279 (omp_set_num_threads): Ditto.
2280 (omp_set_schedule): Ditto.
2281 (omp_init_lock): Ditto.
2282 (omp_set_lock): Ditto.
2283 (omp_test_lock): Ditto.
2284 (omp_unset_lock): Ditto.
2285 (omp_destroy_lock): Ditto.
2286 (omp_init_nest_lock): Ditto.
2287 (omp_set_nest_lock): Ditto.
2288 (omp_test_nest_lock): Ditto.
2289 (omp_unset_nest_lock): Ditto.
2290 (omp_destroy_nest_lock): Ditto.
2291 (omp_get_wtick): Ditto.
2292 (omp_get_wtime): Ditto.
2293 (OMP_CANCELLATION): Ditto.
2294 (OMP_DISPLAY_ENV): Ditto.
2295 (OMP_DEFAULT_DEVICE): Ditto.
2296 (OMP_DYNAMIC): Ditto.
2297 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2298 (OMP_MAX_TASK_PRIORITY): Ditto.
2299 (OMP_NESTED): Ditto.
2300 (OMP_NUM_THREADS): Ditto.
2301 (OMP_PROC_BIND): Ditto.
2302 (OMP_PLACES): Ditto.
2303 (OMP_STACKSIZE): Ditto.
2304 (OMP_SCHEDULE): Ditto.
2305 (OMP_THREAD_LIMIT): Ditto.
2306 (OMP_WAIT_POLICY): Ditto.
2307
31dd69b7
CP
23082018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2309 James Norris <jnorris@codesourcery.com>
2310 Julian Brown <julian@codesourcery.com>
2311 Thomas Schwinge <thomas@codesourcery.com>
2312 Tom de Vries <tom@codesourcery.com>
2313
2314 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2315 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2316 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2317 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2318 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2319 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2320 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2321 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2322 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2323 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2324 Likewise.
2325 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2326 Likewise.
2327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2328 Likewise.
2329 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2330 Likewise.
2331 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2332 Likewise.
2333 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2334 Likewise.
2335 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2336 Likewise.
2337 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2338 Likewise.
2339 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2340 Likewise.
2341 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2342 Likewise.
2343 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2344 Likewise.
2345 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2346 Likewise.
2347 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2348 Likewise.
2349 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2350 Likewise.
2351 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2352 Likewise.
2353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2354 Likewise.
2355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2356 Likewise.
2357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2358 Likewise.
2359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2360 Likewise.
2361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2362 Likewise.
2363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2364 Likewise.
2365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2366 Likewise.
2367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2368 Likewise.
2369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2370 Likewise.
2371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2372 Likewise.
2373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2374 Likewise.
2375 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2376 Likewise.
2377 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2378 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2379 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2380 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2381 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2382 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2383 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2384 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2385 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2386 Likewise.
2387 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2388 Likewise.
2389 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2390 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2391 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2392 Likewise.
2393 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2394 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2395 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2396 Likewise.
2397 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2398 Likewise.
2399 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2400 Likewise.
2401 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2402 Likewise.
2403 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2404 Likewise.
2405 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2406 Likewise.
2407 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2408 Likewise.
2409 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2410 Likewise.
2411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2412 Likewise.
2413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2414 Likewise.
2415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2416 Likewise.
2417 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2418 Likewise.
2419 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2420 Likewise.
2421 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2422 Likewise.
2423 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2424 Likewise.
2425 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2426 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2427 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2428 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2429 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2430 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2431 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2432
829c6349
CLT
24332018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2434 Thomas Schwinge <thomas@codesourcery.com>
2435 Cesar Philippidis <cesar@codesourcery.com>
2436
2437 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2438 (gomp_acc_remove_pointer): Update declaration.
2439 (gomp_acc_declare_allocate): Declare.
2440 (gomp_remove_var): Declare.
2441 * libgomp.map (OACC_2.5): Define.
2442 * oacc-mem.c (acc_map_data): Update refcount.
2443 (acc_unmap_data): Likewise.
2444 (present_create_copy): Likewise.
2445 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2446 (acc_copyin): Likewise.
2447 (FLAG_FINALIZE): Define.
2448 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2449 (acc_delete_finalize): New function.
2450 (acc_delete_finalize_async): New function.
2451 (acc_copyout_finalize): New function.
2452 (acc_copyout_finalize_async): New function.
2453 (gomp_acc_insert_pointer): Update refcounts.
2454 (gomp_acc_remove_pointer): Return if data is not present on the
2455 accelerator.
2456 * oacc-parallel.c (find_pset): Rename to find_pointer.
2457 (find_pointer): Add support for GOMP_MAP_POINTER.
2458 (handle_ftn_pointers): New function.
2459 (GOACC_parallel_keyed): Update refcounts of variables.
2460 (GOACC_enter_exit_data): Add support for finalized data mappings.
2461 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2462 of fortran arrays.
2463 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2464 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2465 for GOMP_MAP_FORCE_FROM.
2466 * openacc.f90 (module openacc_internal): Add
2467 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2468 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2469 acc_copyout_finalize and acc_delete_finalize.
2470 (acc_copyout_finalize_32_h): New subroutine.
2471 (acc_copyout_finalize_64_h): New subroutine.
2472 (acc_copyout_finalize_array_h): New subroutine.
2473 (acc_delete_finalize_32_h): New subroutine.
2474 (acc_delete_finalize_64_h): New subroutine.
2475 (acc_delete_finalize_array_h): New subroutine.
2476 * openacc.h (acc_copyout_finalize): Declare.
2477 (acc_copyout_finalize_async): Declare.
2478 (acc_delete_finalize): Declare.
2479 (acc_delete_finalize_async): Declare.
2480 * openacc_lib.h (acc_copyout_finalize): New interface.
2481 (acc_delete_finalize): New interface.
2482 * target.c (gomp_map_vars): Update dynamic_refcount.
2483 (gomp_remove_var): New function.
2484 (gomp_unmap_vars): Use it.
2485 (gomp_unload_image_from_device): Likewise.
2486 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2487 case to utilize OpenACC 2.5 data clause semantics.
2488 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2489 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2490 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2491 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2492 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2493 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2494 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2495 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2496 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2497 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2498 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2499 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2500 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2501 utilize OpenACC 2.5 data clause semantics.
2502 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2503 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2504 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2505 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2506 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2507 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2508 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2509 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2510 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2511
4358400b
JW
25122018-05-21 Janus Weil <janus@gcc.gnu.org>
2513
2514 PR fortran/85841
2515 PR testsuite/85865
2516 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2517 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2518 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2519 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2520 * testsuite/libgomp.fortran/task2.f90: Ditto.
2521 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2522 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2523 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2524 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2525 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2526 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2527 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2528 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2529 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2530
950ad0ba
CP
25312018-05-18 Cesar Philippidis <cesar@codesourcery.com>
2532
2533 PR c++/85782
2534 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2535
f5ad16f1
TV
25362018-05-09 Tom de Vries <tom@codesourcery.com>
2537
2538 PR libgomp/82901
2539 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2540 to GOACC_enter_exit_data.
2541
edbd038a
TV
25422018-05-09 Tom de Vries <tom@codesourcery.com>
2543
2544 PR libgomp/83792
2545 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2546 (async_synchronous_p): New function.
2547 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2548 async_valid_p.
2549 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2550 async_valid_stream_id_p.
2551 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2552 * oacc-parallel.c (GOACC_parallel_keyed): Same.
2553
37d6c719
TV
25542018-05-07 Tom de Vries <tom@codesourcery.com>
2555
2556 PR testsuite/85677
2557 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2558 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2559
63f12215
TV
25602018-05-03 Tom de Vries <tom@codesourcery.com>
2561
2562 PR testsuite/85106
2563 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2564 extra_tool_flags if it contains an -foffload=-fdump-* flag.
2565 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2566 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2567
ec00d3fa
TV
25682018-05-02 Tom de Vries <tom@codesourcery.com>
2569
2570 PR libgomp/85411
2571 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2572 GOMP_OPENACC_DIM ...
2573 * env.c (parse_gomp_openacc_dim): ... here. New function.
2574 (initialize_env): Call parse_gomp_openacc_dim.
2575 (goacc_default_dims): Define.
2576 * libgomp.h (goacc_default_dims): Declare.
2577 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2578 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2579 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2580 GOMP_PLUGIN_acc_default_dim.
2581 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2582 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2583
92243e7c
TV
25842018-05-02 Tom de Vries <tom@codesourcery.com>
2585
2586 PR testsuite/83791
2587 * testsuite/libgomp.c++/udr-9.C: Update.
2588 * testsuite/libgomp.c++/atomic-16.C: Remove.
2589 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
2590 * testsuite/libgomp.c++/loop-13.C: Remove.
2591 * testsuite/libgomp.c++/loop-14.C: Remove.
2592 * testsuite/libgomp.c++/loop-15.C: Remove.
2593 * testsuite/libgomp.c++/monotonic-1.C: Remove.
2594 * testsuite/libgomp.c++/monotonic-2.C: Remove.
2595 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
2596 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
2597 * testsuite/libgomp.c++/ordered-1.C: Remove.
2598 * testsuite/libgomp.c++/pr45784.C: Remove.
2599 * testsuite/libgomp.c++/pr64824.C: Remove.
2600 * testsuite/libgomp.c++/pr64868.C: Remove.
2601 * testsuite/libgomp.c++/pr66199-1.C: Remove.
2602 * testsuite/libgomp.c++/pr66199-2.C: Remove.
2603 * testsuite/libgomp.c++/pr66199-3.C: Remove.
2604 * testsuite/libgomp.c++/pr66199-4.C: Remove.
2605 * testsuite/libgomp.c++/pr66199-5.C: Remove.
2606 * testsuite/libgomp.c++/pr66199-6.C: Remove.
2607 * testsuite/libgomp.c++/pr66199-7.C: Remove.
2608 * testsuite/libgomp.c++/pr66199-8.C: Remove.
2609 * testsuite/libgomp.c++/pr66199-9.C: Remove.
2610 * testsuite/libgomp.c++/pr69389.C: Remove.
2611 * testsuite/libgomp.c++/simd10.C: Remove.
2612 * testsuite/libgomp.c++/simd11.C: Remove.
2613 * testsuite/libgomp.c++/simd12.C: Remove.
2614 * testsuite/libgomp.c++/simd13.C: Remove.
2615 * testsuite/libgomp.c++/target-1.C: Remove.
2616 * testsuite/libgomp.c++/target-3.C: Remove.
2617 * testsuite/libgomp.c++/target-4.C: Remove.
2618 * testsuite/libgomp.c++/target-5.C: Remove.
2619 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
2620 * testsuite/libgomp.c++/taskloop-1.C: Remove.
2621 * testsuite/libgomp.c++/taskloop-2.C: Remove.
2622 * testsuite/libgomp.c++/taskloop-3.C: Remove.
2623 * testsuite/libgomp.c++/taskloop-4.C: Remove.
2624 * testsuite/libgomp.c++/udr-9.C: Remove.
2625 * testsuite/libgomp.c++/for-10.C: Remove.
2626 * testsuite/libgomp.c++/for-11.C: Remove.
2627 * testsuite/libgomp.c++/for-12.C: Remove.
2628 * testsuite/libgomp.c++/for-13.C: Remove.
2629 * testsuite/libgomp.c++/for-14.C: Remove.
2630 * testsuite/libgomp.c++/for-9.C: Remove.
2631 * testsuite/libgomp.c/atomic-18.c: Move ...
2632 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
2633 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
2634 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
2635 * testsuite/libgomp.c/loop-13.c: Move ...
2636 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
2637 * testsuite/libgomp.c/loop-14.c: Move ...
2638 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
2639 * testsuite/libgomp.c/loop-15.c: Remove.
2640 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
2641 * testsuite/libgomp.c/monotonic-1.c: Move ...
2642 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
2643 * testsuite/libgomp.c/monotonic-2.c: Move ...
2644 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
2645 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
2646 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
2647 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
2648 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
2649 * testsuite/libgomp.c/ordered-4.c: Move ...
2650 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
2651 * testsuite/libgomp.c/pr45784.c: Move ...
2652 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
2653 * testsuite/libgomp.c/pr64824.c: Move ...
2654 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
2655 * testsuite/libgomp.c/pr64868.c: Move ...
2656 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
2657 * testsuite/libgomp.c/pr66199-1.c: Move ...
2658 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
2659 * testsuite/libgomp.c/pr66199-2.c: Move ...
2660 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
2661 * testsuite/libgomp.c/pr66199-3.c: Move ...
2662 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
2663 * testsuite/libgomp.c/pr66199-4.c: Move ...
2664 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
2665 * testsuite/libgomp.c/pr66199-5.c: Move ...
2666 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
2667 * testsuite/libgomp.c/pr66199-6.c: Move ...
2668 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
2669 * testsuite/libgomp.c/pr66199-7.c: Move ...
2670 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
2671 * testsuite/libgomp.c/pr66199-8.c: Move ...
2672 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
2673 * testsuite/libgomp.c/pr66199-9.c: Move ...
2674 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
2675 * testsuite/libgomp.c/pr69389.c: Move ...
2676 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
2677 * testsuite/libgomp.c/simd-14.c: Move ...
2678 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
2679 * testsuite/libgomp.c/simd-15.c: Move ...
2680 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
2681 * testsuite/libgomp.c/simd-16.c: Move ...
2682 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
2683 * testsuite/libgomp.c/simd-17.c: Move ...
2684 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
2685 * testsuite/libgomp.c/target-1.c: Move ...
2686 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
2687 * testsuite/libgomp.c/target-10.c: Move ...
2688 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
2689 * testsuite/libgomp.c/target-13.c: Move ...
2690 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
2691 * testsuite/libgomp.c/target-2.c: Move ...
2692 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
2693 * testsuite/libgomp.c/taskgroup-1.c: Move ...
2694 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
2695 * testsuite/libgomp.c/taskloop-1.c: Move ...
2696 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
2697 * testsuite/libgomp.c/taskloop-2.c: Move ...
2698 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
2699 * testsuite/libgomp.c/taskloop-3.c: Move ...
2700 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
2701 * testsuite/libgomp.c/taskloop-4.c: Move ...
2702 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
2703 * testsuite/libgomp.c/udr-1.c: Move ...
2704 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
2705 * testsuite/libgomp.c/for-1.c: Move ...
2706 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
2707 * testsuite/libgomp.c/for-1.h: Move ...
2708 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
2709 * testsuite/libgomp.c/for-2.c: Move ...
2710 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
2711 * testsuite/libgomp.c/for-2.h: Move ...
2712 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
2713 * testsuite/libgomp.c/for-3.c: Move ...
2714 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
2715 * testsuite/libgomp.c/for-4.c: Move ...
2716 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2717 * testsuite/libgomp.c/for-5.c: Move ...
2718 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2719 * testsuite/libgomp.c/for-6.c: Move ...
2720 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2721
1f62d637
TV
27222018-05-02 Tom de Vries <tom@codesourcery.com>
2723
2724 PR libgomp/82428
2725 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2726 __builtin_goacc_parlevel_{id,size}.
2727 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2728 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2729 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2730 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2731 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2732 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2733 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2734 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2735 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2736 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2737 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2738 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2739 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2740 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2741 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2742 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2743 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2744 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2745 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2746 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2747 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2748 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2749 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2750
9220b511
TV
27512018-05-02 Tom de Vries <tom@codesourcery.com>
2752
2753 PR testsuite/85106
2754 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2755
6c3c13c1
TV
27562018-05-02 Tom de Vries <tom@codesourcery.com>
2757
2758 PR testsuite/85106
2759 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2760
8d70b61e
JB
27612018-04-29 Julian Brown <julian@codesourcery.com>
2762 Tom de Vries <tom@codesourcery.com>
2763
2764 PR testsuite/85527
2765 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2766 arbitrary order for iterations of atomic subtract check.
2767
4a57a4b6
TV
27682018-04-28 Tom de Vries <tom@codesourcery.com>
2769
2770 PR testsuite/85527
2771 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2772 atomic capture results obtained in parallel loop to an array, instead of
2773 to a scalar.
2774
df36a3d3
TV
27752018-04-26 Tom de Vries <tom@codesourcery.com>
2776
2777 PR libgomp/84020
2778 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2779 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2780 (process_GOMP_NVPTX_JIT): New function.
2781 (link_ptx): Use process_GOMP_NVPTX_JIT.
2782
d160ae78
RB
27832018-04-26 Richard Biener <rguenther@suse.de>
2784 Tom de Vries <tom@codesourcery.com>
2785
2786 PR lto/85422
2787 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2788
ca9dc642
TV
27892018-04-26 Tom de Vries <tom@codesourcery.com>
2790
2791 PR target/85519
2792 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2793 recursion depth from 25 to 23.
2794 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2795
7b47ecf2
L
27962018-04-24 H.J. Lu <hongjiu.lu@intel.com>
2797
2798 * configure: Regenerated.
2799
e91eba31
NS
28002018-04-20 Nathan Sidwell <nathan@codesourcery.com>
2801 Tom de Vries <tom@codesourcery.com>
2802
2803 PR target/85445
2804 * testsuite/libgomp.oacc-c++/ref-1.C: New.
2805
6e0d40b6
TS
28062018-04-19 Thomas Schwinge <thomas@codesourcery.com>
2807
2808 PR libgomp/85463
2809 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2810 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2811 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2812 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2813 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2814 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2815
2816 PR libfortran/85166
2817 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2818 abort".
2819 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2820
a0e1df88
JJ
28212018-04-19 Jakub Jelinek <jakub@redhat.com>
2822
2823 * configure: Regenerated.
2824
001ddaa8
DM
28252018-04-18 David Malcolm <dmalcolm@redhat.com>
2826
2827 PR jit/85384
2828 * configure: Regenerate.
2829
05e0af43
CP
28302018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2831 Tom de Vries <tom@codesourcery.com>
2832
2833 PR middle-end/84955
2834 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2835 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2836
bc436e10
TK
28372018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2838
2839 PR fortran/83064
2840 PR testsuite/85346
2841 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2842 test from gfortran.dg to here.
2843
ffb164c7
JJ
28442018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2845
2846 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2847 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2848
28492018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2850
2851 PR middle-end/84955
2852 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2853 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2854
2ba16fd2
TV
28552018-04-05 Tom de Vries <tom@codesourcery.com>
2856
2857 PR target/85204
2858 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2859
46dbeb40
TV
28602018-03-26 Tom de Vries <tom@codesourcery.com>
2861
2862 PR tree-optimization/85063
2863 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2864 * testsuite/libgomp.c/switch-conversion.c: New test.
2865 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2866 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2867
bfc24e32
TK
28682018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2869
2870 PR fortran/84381
2871 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2872 call abort by STOP n.
2873 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2874 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2875 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2876 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2877 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2878 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2879 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2880 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2881 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2882 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2883 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2884 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2885 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2886 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2887 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2888 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2889 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2890 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2891 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2892 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2893 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2894 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2895 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2896 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2897 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2898 * testsuite/libgomp.fortran/character1.f90: Likewise.
2899 * testsuite/libgomp.fortran/character2.f90: Likewise.
2900 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2901 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2902 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2903 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2904 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2905 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2906 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2907 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2908 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2909 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2910 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2911 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2912 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2913 * testsuite/libgomp.fortran/do1.f90: Likewise.
2914 * testsuite/libgomp.fortran/do2.f90: Likewise.
2915 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2916 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2917 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2918 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2919 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2920 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2921 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2922 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2923 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2924 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2925 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2926 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2927 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2928 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2929 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2930 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2931 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2932 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2933 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2934 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2935 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2936 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2937 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2938 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2939 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2940 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2941 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2942 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2943 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2944 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2945 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2946 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2947 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2948 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2949 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2950 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2951 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2952 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2953 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2954 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2955 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2956 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2957 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2958 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2959 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2960 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2961 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2962 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2963 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2964 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2965 * testsuite/libgomp.fortran/lib2.f: Likewise.
2966 * testsuite/libgomp.fortran/lib3.f: Likewise.
2967 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2968 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2969 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2970 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2971 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2972 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2973 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2974 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2975 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2976 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2977 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2978 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2979 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2980 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2981 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2982 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2983 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2984 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2985 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2986 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2987 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2988 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2989 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2990 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2991 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2992 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2993 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2994 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2995 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2996 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2997 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2998 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2999 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3000 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3001 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3002 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3003 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3004 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3005 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3006 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3007 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3008 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3009 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3010 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3011 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3012 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3013 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3014 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3015 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3016 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3017 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3018 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3019 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3020 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3021 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3022 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3023 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3024 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3025 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3026 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3027 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3028 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3029 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3030 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3031 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3032 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3033 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3034 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3035 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3036 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3037 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3038 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3039 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3040 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3041 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3042 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3043 * testsuite/libgomp.fortran/stack.f90: Likewise.
3044 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3045 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3046 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3047 * testsuite/libgomp.fortran/target1.f90: Likewise.
3048 * testsuite/libgomp.fortran/target2.f90: Likewise.
3049 * testsuite/libgomp.fortran/target3.f90: Likewise.
3050 * testsuite/libgomp.fortran/target4.f90: Likewise.
3051 * testsuite/libgomp.fortran/target5.f90: Likewise.
3052 * testsuite/libgomp.fortran/target6.f90: Likewise.
3053 * testsuite/libgomp.fortran/target7.f90: Likewise.
3054 * testsuite/libgomp.fortran/target8.f90: Likewise.
3055 * testsuite/libgomp.fortran/task1.f90: Likewise.
3056 * testsuite/libgomp.fortran/task2.f90: Likewise.
3057 * testsuite/libgomp.fortran/task3.f90: Likewise.
3058 * testsuite/libgomp.fortran/task4.f90: Likewise.
3059 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3060 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3061 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3062 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3063 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3064 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3065 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3066 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3067 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3068 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3069 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3070 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3071 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3072 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3073 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3074 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3075 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3076 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3077 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3078 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3079 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3080 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3081 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3082 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3083 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3084 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3085 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3086 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3087 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3088 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3089 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3090 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3091 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3092 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3093 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3094 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3095 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3096 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3097 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3098 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3099 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3100 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3101 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3102 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3103 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3104 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3105 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3106 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3107 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3108 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3109 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3110 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3111 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3112 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3113 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3114 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3115 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3116 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3117 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3118 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3119 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3120 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3121 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3122 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3123 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3124 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3125 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3126 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3127 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3128 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3129 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3130 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3131 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3132 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3133 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3134 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3135 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3136 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3137 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3138 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3139 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3140 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3141 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3142 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3143 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3144 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3145 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3146 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3147 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3148 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3149 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3150 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3151 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3152 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3153 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3154 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3155 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3156 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3157 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3158 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3159 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3160 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3161 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3162 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3163 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3164 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3165 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3166 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3167 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3168 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3169 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3170 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3171 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3172 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3173 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3174 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3175 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3176 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3177 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3178 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3179 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3180 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3181 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3182 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3183 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3184 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3185
79cf14ae
RB
31862018-03-20 Richard Biener <rguenther@suse.de>
3187
3188 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3189 parallelizable loop.
3190
14e335ed
IT
31912018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3192
3193 PR target/84148
3194 * configure: Regenerate.
3195
83d9be55
JJ
31962018-02-16 Jakub Jelinek <jakub@redhat.com>
3197
3198 PR fortran/84418
3199 * libgomp.fortran/pr84418-1.f90: New test.
3200 * libgomp.fortran/pr84418-2.f90: New test.
3201
d1fe6124
JJ
32022018-02-14 Jakub Jelinek <jakub@redhat.com>
3203
3204 PR fortran/84313
3205 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3206 -std=f2003 -fall-intrinsics into dg-additional-options.
3207
3d224921
MJ
32082018-02-08 Martin Jambor <mjambor@suse.cz>
3209
3210 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3211 clonable.
3212
c7c30edd
MJ
32132018-02-08 Martin Jambor <mjambor@suse.cz>
3214
3215 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3216
f320fdfd
RO
32172018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3218
3219 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3220 [__cplusplus]: Declare extern "C".
3221
c31bc4ac
TV
32222018-02-07 Tom de Vries <tom@codesourcery.com>
3223
3224 PR libgomp/84217
3225 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3226
99ae7ce5
CS
32272018-01-29 Christoph Spiel <cspiel@freenet.de>
3228 Jakub Jelinek <jakub@redhat.com>
3229
3230 PR libgomp/84096
3231 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3232 instead of omp_lock_t.
3233
e77a1236
TV
32342018-01-25 Tom de Vries <tom@codesourcery.com>
3235
3236 PR target/84028
3237 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3238
3dede32b
TV
32392018-01-24 Tom de Vries <tom@codesourcery.com>
3240
3241 PR target/83589
3242 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3243
be606483
TV
32442018-01-24 Tom de Vries <tom@codesourcery.com>
3245
3246 PR target/81352
3247 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3248
8c8e9a6b
TV
32492018-01-19 Tom de Vries <tom@codesourcery.com>
3250 Cesar Philippidis <cesar@codesourcery.com>
3251
3252 PR target/83920
3253 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3254 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3255
65e6aea3
JJ
32562018-01-03 Jakub Jelinek <jakub@redhat.com>
3257
85ec4feb
JJ
3258 Update copyright years.
3259
65e6aea3
JJ
3260 * libgomp.texi: Bump @copying's copyright year.
3261
60bf575c
TV
32622017-12-30 Tom de Vries <tom@codesourcery.com>
3263
3264 PR libgomp/83046
3265 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3266 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3267
7ec16b79
TV
32682017-12-27 Tom de Vries <tom@codesourcery.com>
3269
3270 PR c++/83046
3271 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3272 (test_nonstatic): Fix return type to workaround PR83046.
3273
ac550b9a
JJ
32742017-12-05 Jakub Jelinek <jakub@redhat.com>
3275
3276 PR testsuite/83281
3277 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3278 j suffix instead of i.
3279 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3280 Likewise.
3281
ebdc83f0
CP
32822017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3283
3284 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3285 call to acc_wait (1).
3286
3b3e6283
JJ
32872017-11-24 Jakub Jelinek <jakub@redhat.com>
3288
3289 PR fortran/81304
3290 * testsuite/libgomp.fortran/pr81304.f90: New test.
3291
3b575376
JJ
32922017-11-23 Jakub Jelinek <jakub@redhat.com>
3293
3294 PR fortran/81841
3295 * libgomp.fortran/pr81841.f90: New test.
3296
b13547d8
JJ
32972017-11-22 Jakub Jelinek <jakub@redhat.com>
3298
3299 PR libgomp/83106
3300 * target.c (gomp_target_init): Compute lengths just once and
3301 use them in both malloc size and subsequent copying.
3302
efe33ced
IT
33032017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3304
3305 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3306 * acinclude.m4: Add cet.m4.
3307 * configure: Regenerate.
3308 * Makefile.in: Likewise.
3309 * testsuite/Makefile.in: Likewise.
3310
a7cf2612
TV
33112017-11-15 Tom de Vries <tom@codesourcery.com>
3312
3313 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3314 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3315 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3316 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3317 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3318 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3319
dde76623
TV
33202017-11-14 Tom de Vries <tom@codesourcery.com>
3321
3322 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3323 non-nvidia devices.
3324
4dbeb716
JJ
33252017-11-07 Jakub Jelinek <jakub@redhat.com>
3326
3327 PR c++/82835
3328 * testsuite/libgomp.c++/pr82835.C: New test.
3329
454f8b2b
ML
33302017-11-06 Martin Liska <mliska@suse.cz>
3331
3332 * testsuite/libgomp.c++/loop-2.C: Return a value
3333 for functions with non-void return type, or change type to void,
3334 or add -Wno-return-type for test.
3335 * testsuite/libgomp.c++/loop-4.C: Likewise.
3336 * testsuite/libgomp.c++/parallel-1.C: Likewise.
3337 * testsuite/libgomp.c++/shared-1.C: Likewise.
3338 * testsuite/libgomp.c++/single-1.C: Likewise.
3339 * testsuite/libgomp.c++/single-2.C: Likewise.
3340
12e9c8ce
TV
33412017-10-31 Tom de Vries <tom@codesourcery.com>
3342
3343 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3344 "do {} while (false)".
3345 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3346 after HSA_DEBUG call.
3347
7324369a
JJ
33482017-10-28 Jakub Jelinek <jakub@redhat.com>
3349
3350 * target.c (struct gomp_coalesce_buf): New type.
3351 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3352 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3353 (gomp_copy_host2dev): Add CBUF argument, if copying into
3354 the cached ranges, memcpy into buffer instead of copying
3355 into device.
3356 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3357 Add CBUF argument, pass it through to other calls.
3358 (gomp_map_vars): Aggregate copies from host to device if small enough
3359 and with small enough gaps in between into memcpy into a buffer and
3360 fewer host to device copies from the buffer.
3361 (gomp_update): Adjust gomp_copy_host2dev caller.
3362
933ab0e6
TS
33632017-10-17 Thomas Schwinge <thomas@codesourcery.com>
3364
3365 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3366 run" directive.
3367 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3368 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3369 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3370 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3371
92d5d01a
TV
33722017-10-16 Tom de Vries <tom@codesourcery.com>
3373
3374 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3375 openacc_nvidia_accel_selected.
3376 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3377 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3378 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3379 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3380 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3381 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3382 openacc_nvidia_accel_selected. Skip for shared memory device.
3383 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3384 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3385
191411e4
MJ
33862017-10-09 Martin Jambor <mjambor@suse.cz>
3387
3388 PR hsa/82416
3389 * testsuite/libgomp.hsa.c/pr82416.c: New test.
3390
e923330e
TV
33912017-10-07 Tom de Vries <tom@codesourcery.com>
3392
3393 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3394 Remove acc_device_nvidia references.
3395 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3396 Same.
3397
8fe3ed4c
TV
33982017-10-05 Tom de Vries <tom@codesourcery.com>
3399
3400 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3401 vector_length(32) clause from acc parallel directive.
3402 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3403
26596ee5
TV
34042017-10-04 Tom de Vries <tom@codesourcery.com>
3405
3406 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3407 (main): Reduce sum of arr elements. Assert that hres is exactly
3408 representable in 32-bit floating point.
3409 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3410 (main): Reduce sum of arr elements. Assert that hres and hmres are
3411 exactly representable in 32-bit floating point.
3412 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3413
5c561fa9
TV
34142017-09-28 Tom de Vries <tom@codesourcery.com>
3415
3416 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3417 setting.
3418 * testsuite/libgomp.c++/pr69393.C: Same.
3419 * testsuite/libgomp.c++/taskloop-1.C: Same.
3420 * testsuite/libgomp.c++/taskloop-3.C: Same.
3421 * testsuite/libgomp.c++/taskloop-4.C: Same.
3422 * testsuite/libgomp.c/for-4.c: Same.
3423 * testsuite/libgomp.c/pr66199-3.c: Same.
3424 * testsuite/libgomp.c/pr66199-4.c: Same.
3425 * testsuite/libgomp.c/pr66199-6.c: Same.
3426 * testsuite/libgomp.c/taskloop-1.c: Same.
3427 * testsuite/libgomp.c/taskloop-3.c: Same.
3428 * testsuite/libgomp.c/taskloop-4.c: Same.
3429 * testsuite/libgomp.fortran/aligned1.f03: Same.
3430 * testsuite/libgomp.fortran/condinc1.f: Same.
3431 * testsuite/libgomp.fortran/condinc3.f90: Same.
3432 * testsuite/libgomp.fortran/crayptr1.f90: Same.
3433 * testsuite/libgomp.fortran/crayptr2.f90: Same.
3434 * testsuite/libgomp.fortran/crayptr3.f90: Same.
3435 * testsuite/libgomp.fortran/omp_cond1.f: Same.
3436 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3437 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3438 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3439 * testsuite/libgomp.fortran/recursion1.f90: Same.
3440 * testsuite/libgomp.fortran/target2.f90: Same.
3441 * testsuite/libgomp.fortran/target5.f90: Same.
3442 * testsuite/libgomp.fortran/task3.f90: Same.
3443
7d6206fe
TV
34442017-09-28 Tom de Vries <tom@codesourcery.com>
3445
3446 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3447 vector_length(32) clause from acc parallel directive.
3448 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3449
84c8627c
TV
34502017-09-27 Tom de Vries <tom@codesourcery.com>
3451
3452 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3453 Remove acc_device_nvidia references.
3454
ebc6a85e
TV
34552017-09-16 Tom de Vries <tom@codesourcery.com>
3456
3457 PR c/81875
3458 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3459
82419efb
TV
34602017-09-14 Tom de Vries <tom@codesourcery.com>
3461
3462 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3463 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3464 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3465 * testsuite/libgomp.c/c.exp: Include test-cases from
3466 libgomp.c-c++-common.
3467 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
3468 files.
3469
8b586510
JJ
34702017-09-14 Jakub Jelinek <jakub@redhat.com>
3471
3472 PR c++/81314
3473 * testsuite/libgomp.c++/pr81314.C: New test.
3474
9651fbaf
GP
34752017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
3476
3477 * libgomp.texi (Top): www.openacc.org now uses https.
3478 (Enabling OpenACC): Ditto.
3479 (acc_get_num_devices): Ditto.
3480 (acc_set_device_type): Ditto.
3481 (acc_get_device_type): Ditto.
3482 (acc_set_device_num): Ditto.
3483 (acc_get_device_num): Ditto.
3484 (acc_async_test): Ditto.
3485 (acc_async_test_all): Ditto.
3486 (acc_wait): Ditto.
3487 (acc_wait_all): Ditto.
3488 (acc_wait_all_async): Ditto.
3489 (acc_wait_async): Ditto.
3490 (acc_init): Ditto.
3491 (acc_shutdown): Ditto.
3492 (acc_on_device): Ditto.
3493 (acc_malloc): Ditto.
3494 (acc_free): Ditto.
3495 (acc_copyin): Ditto.
3496 (acc_present_or_copyin): Ditto.
3497 (acc_create): Ditto.
3498 (acc_present_or_create): Ditto.
3499 (acc_copyout): Ditto.
3500 (acc_delete): Ditto.
3501 (acc_update_device): Ditto.
3502 (acc_update_self): Ditto.
3503 (acc_map_data): Ditto.
3504 (acc_unmap_data): Ditto.
3505 (acc_deviceptr): Ditto.
3506 (acc_hostptr): Ditto.
3507 (acc_is_present): Ditto.
3508 (acc_memcpy_to_device): Ditto.
3509 (acc_memcpy_from_device): Ditto.
3510 (acc_get_current_cuda_device): Ditto.
3511 (acc_get_current_cuda_context): Ditto.
3512 (acc_get_cuda_stream): Ditto.
3513 (acc_set_cuda_stream): Ditto.
3514 (ACC_DEVICE_TYPE): Ditto.
3515 (ACC_DEVICE_NUM): Ditto.
3516 (OpenACC Library Interoperability): Ditto.
3517
50aa16c3
JJ
35182017-08-09 Jakub Jelinek <jakub@redhat.com>
3519
3520 PR c/81687
3521 * testsuite/libgomp.c/pr81687-1.c: New test.
3522 * testsuite/libgomp.c/pr81687-2.c: New test.
3523
56b5041c
JJ
35242017-08-07 Jakub Jelinek <jakub@redhat.com>
3525
3526 PR c/69389
3527 * testsuite/libgomp.c/pr69389.c: New test.
3528 * testsuite/libgomp.c++/pr69389.C: New test.
3529
f4c222c0
TV
35302017-08-07 Tom de Vries <tom@codesourcery.com>
3531
3532 PR middle-end/78266
3533 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3534 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3535
a40ff0ae
JJ
35362017-07-27 Jakub Jelinek <jakub@redhat.com>
3537
3538 PR c/45784
3539 * testsuite/libgomp.c/pr45784.c: New test.
3540 * testsuite/libgomp.c++/pr45784.C: New test.
3541
3717fbe3
TV
35422017-07-19 Tom de Vries <tom@codesourcery.com>
3543
3544 * testsuite/libgomp.oacc-c/vec.c: New test.
3545
9607b014
TV
35462017-07-03 Tom de Vries <tom@codesourcery.com>
3547
3548 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3549
dfb15f6b
TV
35502017-06-27 Tom de Vries <tom@codesourcery.com>
3551
3552 * plugin/plugin-nvptx.c (notify_var): New function.
3553 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3554
22f1a037
TV
35552017-06-27 Tom de Vries <tom@codesourcery.com>
3556
3557 * env.c (parse_unsigned_long_1): Factor out of ...
3558 (parse_unsigned_long): ... here.
3559 (parse_int_1): Factor out of ...
3560 (parse_int): ... here.
3561 (parse_int_secure): New function.
3562 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3563 * secure_getenv.h: Factor out of ...
3564 * plugin/plugin-hsa.c: ... here.
3565 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3566
d54d1fc3
JJ
35672017-06-21 Jakub Jelinek <jakub@redhat.com>
3568
3569 PR c++/81130
3570 * testsuite/libgomp.c++/pr81130.C: New test.
3571
4f4b0ab8
RO
35722017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3573
3574 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3575 default args.
3576 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3577 dg-xfail-run-if default args.
3578
40ffd95f
BE
35792017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3580
3581 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3582 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3583
01275e1e
JJ
35842017-05-30 Jakub Jelinek <jakub@redhat.com>
3585
3586 PR libgomp/80822
3587 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3588 (gomp_affinity_init_level): Use it. Always analyze the core and thread
3589 sibling lists, depending on level just pick up what CPUs to put
3590 together into a place vs. whether add multiple ordered places.
3591
78672bd8
TS
35922017-05-24 Thomas Schwinge <thomas@codesourcery.com>
3593
7ce64403
TS
3594 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
3595 * libgomp.map (OACC_2.0.1): Add these.
3596 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
3597 for "acc_wait", and "acc_wait_all", respectively.
3598 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
3599 for "acc_wait", and "acc_wait_all", respectively.
3600 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
3601 * libgomp.texi (acc_wait, acc_wait_all): Update.
3602 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
3603 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
3604 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3605
318686c2
TS
3606 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
3607 acc_present_or_copyin and acc_present_or_create procedures,
3608 respectively.
3609 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
3610 generally different variants of OpenACC Runtime Library functions.
3611 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3612
a6745534
TS
3613 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
3614 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3615
9b94fbc7
TS
3616 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
3617 of preprocessor definitions.
3618 * libgomp.h (strong_alias): Guard by "#ifdef
3619 HAVE_ATTRIBUTE_ALIAS".
3620 * oacc-mem.c: Provide "acc_pcreate" as alias for
3621 "acc_present_or_create", and "acc_pcopyin" as alias for
3622 "acc_present_or_copyin".
3623 * libgomp.map: New version "OACC_2.0.1".
3624 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
3625 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
3626 its content into...
3627 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
3628 Extend testing.
3629
78672bd8
TS
3630 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
3631 when disabling nvptx offloading.
3632
0c36d0d5
TS
36332017-05-23 Thomas Schwinge <thomas@codesourcery.com>
3634
fd71a9a2
TS
3635 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
3636 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3637 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3638
0c36d0d5
TS
3639 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
3640 * testsuite/lib/libgomp.exp
3641 (check_effective_target_openacc_nvidia_accel_configured): New
3642 proc.
3643 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
3644 (check_effective_target_c++): New procs.
3645 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
3646 (check_effective_target_c++): Likewise.
3647
c24783c4
JJ
36482017-05-22 Jakub Jelinek <jakub@redhat.com>
3649
655e5265
JJ
3650 PR middle-end/80809
3651 * testsuite/libgomp.c/pr80809-2.c: New test.
3652 * testsuite/libgomp.c/pr80809-3.c: New test.
3653
e9e2ef9f
JJ
3654 PR middle-end/80809
3655 * testsuite/libgomp.c/pr80809-1.c: New test.
3656
c24783c4
JJ
3657 PR middle-end/80853
3658 * testsuite/libgomp.c/pr80853.c: New test.
3659
0da2f96a
TS
36602017-05-19 Thomas Schwinge <thomas@codesourcery.com>
3661
7fd549d2
TS
3662 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
3663 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
3664 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3665 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3666 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3667
0da2f96a
TS
3668 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
3669 Debug output for failure.
3670
62ffe920
RO
36712017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3672
3673 * testsuite/lib/libgomp.exp: Load scanlang.exp.
3674
f49215b1
JJ
36752017-04-27 Jakub Jelinek <jakub@redhat.com>
3676
3677 PR bootstrap/80531
3678 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
3679 bootstrap compare failures.
3680
2260d19d
AM
36812017-04-20 Alexander Monakov <amonakov@ispras.ru>
3682
3683 * testsuite/libgomp.c/target-36.c: New testcase.
3684
19929ba9
JJ
36852017-04-13 Jakub Jelinek <jakub@redhat.com>
3686
3687 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
3688 instead of char.
3689
fbc698e0
JJ
36902017-04-11 Jakub Jelinek <jakub@redhat.com>
3691
3692 PR libgomp/80394
3693 * testsuite/libgomp.c/pr80394.c: New test.
3694
c4060df4
JJ
36952017-04-04 Jakub Jelinek <jakub@redhat.com>
3696
3697 PR libgomp/79876
3698 * config/posix/thread-stacksize.h: New file.
3699 * config/darwin/thread-stacksize.h: New file.
3700 * config/nvptx/thread-stacksize.h: New file.
3701 * env.c: Include thread-stacksize.h.
3702 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
3703 instead of 0. Call pthread_attr_setstacksize even if
3704 GOMP_DEFAULT_STACKSIZE is non-zero.
3705
e02d868a
JJ
37062017-03-30 Jakub Jelinek <jakub@redhat.com>
3707
3708 * env.c (initialize_env): Initialize stacksize to 0.
3709
7ba8651e
CP
37102017-03-22 Cesar Philippidis <cesar@codesourcery.com>
3711
3712 PR c++/80029
3713 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
3714
eebc5e2d
JJ
37152017-03-08 Jakub Jelinek <jakub@redhat.com>
3716
3717 PR c/79940
3718 * testsuite/libgomp.c/pr79940.c: New test.
3719
1eb08f52
RO
37202017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3721
3722 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3723 targets.
3724 Add __float128 options.
3725
b0f78ff3
JDA
37262017-02-11 John David Anglin <danglin@gcc.gnu.org>
3727
3728 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3729 hppa*-*-* dg-skip-if directive.
3730
1bbe0d8f
JJ
37312017-02-09 Jakub Jelinek <jakub@redhat.com>
3732
3733 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3734 dg-skip-if directive into a comment.
3735
02889d23
CLT
37362017-02-09 Nathan Sidwell <nathan@codesourcery.com>
3737 Chung-Lin Tang <cltang@codesourcery.com>
3738
3739 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3740 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3741 add additional case.
3742 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3743 "openacc_nvidia_accel_selected".
3744 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3745 Add num_workers(8) clause.
3746
5896a41d
JDA
37472017-02-08 John David Anglin <danglin@gcc.gnu.org>
3748
3749 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3750 hppa*-*-*.
3751 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3752 include complex.h on hppa*-*-hpux*.
3753 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3754
345a8c17
TS
37552017-02-02 Thomas Schwinge <thomas@codesourcery.com>
3756
e70ab10d
TS
3757 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3758
345a8c17
TS
3759 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3760 GOMP_OFFLOAD_openacc_exec. Adjust all users.
3761 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3762 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
3763 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3764 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
3765 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3766 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
3767 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3768 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
3769
dced339c
TS
37702017-01-31 Thomas Schwinge <thomas@codesourcery.com>
3771
3772 * libgomp-plugin.h: #include <stdbool.h>.
3773 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3774 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3775 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3776 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3777 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3778 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3779 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3780 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3781 (GOMP_OFFLOAD_openacc_register_async_cleanup)
3782 (GOMP_OFFLOAD_openacc_async_test)
3783 (GOMP_OFFLOAD_openacc_async_test_all)
3784 (GOMP_OFFLOAD_openacc_async_wait)
3785 (GOMP_OFFLOAD_openacc_async_wait_async)
3786 (GOMP_OFFLOAD_openacc_async_wait_all)
3787 (GOMP_OFFLOAD_openacc_async_wait_all_async)
3788 (GOMP_OFFLOAD_openacc_async_set_async)
3789 (GOMP_OFFLOAD_openacc_create_thread_data)
3790 (GOMP_OFFLOAD_openacc_destroy_thread_data)
3791 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3792 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3793 (GOMP_OFFLOAD_openacc_get_cuda_stream)
3794 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3795 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3796 these.
3797 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3798 (GOMP_OFFLOAD_unload_image): Fix argument types.
3799
23749904
JJ
38002017-01-26 Jakub Jelinek <jakub@redhat.com>
3801
c1cadde1
JJ
3802 * testsuite/lib/libgomp.exp
3803 (check_effective_target_hsa_offloading_selected_nocache): Fix up
3804 check_compile invocation. Fix up removal of executable. Drop
3805 bogus "2>&1" argument.
3806
23749904
JJ
3807 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3808 directive.
3809
38102017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
3811 Martin Jambor <mjambor@suse.cz>
3812
3813 * plugin/hsa.h: Moved to top level include.
3814 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3815
73aa401e
JJ
38162017-01-21 Jakub Jelinek <jakub@redhat.com>
3817
3818 PR other/79046
3819 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3820 of cat to get version from BASE-VER file.
3821 * testsuite/Makefile.in: Regenerated.
3822
b32e85fa
JJ
38232017-01-19 Jakub Jelinek <jakub@redhat.com>
3824
3825 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3826 for _WIN64.
3827
3c36aa6b
JJ
38282017-01-17 Jakub Jelinek <jakub@redhat.com>
3829
d190d5c0
JJ
3830 * plugin/hsa.h: Add GCC runtime library exception.
3831 * plugin/hsa_ext_finalize.h: Likewise.
3832
2393d337
JJ
3833 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3834 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3835 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3836 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3837 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3838 library to link ptx plugin against.
3839 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3840 (CUDA_CALLS): Define.
3841 (cuda_lib, cuda_lib_inited): New variables.
3842 (init_cuda_lib): New function.
3843 (CUDA_CALL_PREFIX): Define.
3844 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3845 (CUDA_CALL): Use FN instead of (FN).
3846 (CUDA_CALL_NOCHECK): Define.
3847 (cuda_error, fini_streams_for_device, select_stream_for_async,
3848 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3849 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3850 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3851 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3852 CUDA_CALL_NOCHECK.
3853 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3854 CUDA_CALL_NOCHECK.
3855 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3856 Use CUDA_CALL_NOCHECK.
3857 * plugin/cuda/cuda.h: New file.
3858 * config.h.in: Regenerated.
3859 * configure: Regenerated.
3860
3c36aa6b
JJ
3861 PR other/79046
3862 * configure.ac: Add GCC_BASE_VER.
3863 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3864 get version from BASE-VER file.
3865 * testsuite/Makefile.in: Regenerated.
3866 * configure: Regenerated.
3867 * Makefile.in: Regenerated.
3868
c508bc2d
FXC
38692017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3870
3871 PR libgomp/60670
3872 * Makefile.am: Make fincludedir multilib-aware.
3873 * Makefile.in: Regenerate.
3874
c1a9c369
JJ
38752017-01-01 Jakub Jelinek <jakub@redhat.com>
3876
cbe34bb5
JJ
3877 Update copyright years.
3878
c1a9c369
JJ
3879 * libgomp.texi: Bump @copying's copyright year.
3880
e7a7f4be
SH
38812016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3882
3883 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3884 pthread_spinlock_t instead of gomp_mutex_t lock.
3885 (gomp_get_thread_pool): Likewise.
3886 (gomp_release_thread_pool): Likewise.
3887 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3888 Likewise.
3889
d313d52c
SH
38902016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3891
3892 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3893 thread pool in case nthreads == 1.
3894
630e3c3a
AM
38952016-11-30 Alexander Monakov <amonakov@ispras.ru>
3896
3897 * config/nvptx/env.c: Delete.
3898 * icv.c: Move definitions of ICV variables back ...
3899 * env.c: ...here. Do not compile environment-related functionality if
3900 LIBGOMP_OFFLOADED_ONLY is set.
3901
9e38af5c
AM
39022016-11-30 Alexander Monakov <amonakov@ispras.ru>
3903
3904 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3905 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3906 * configure: Regenerate.
3907 * config.h.in: Likewise.
3908
f96b7f1f
AM
39092016-11-30 Alexander Monakov <amonakov@ispras.ru>
3910
3911 * Makefile.in: Regenerate with automake-1.11.6.
3912 * aclocal.m4: Likewise.
3913 * configure: Likewise.
3914 * testsuite/Makefile.in: Likewise.
3915
6a6951b1
AM
39162016-11-28 Alexander Monakov <amonakov@ispras.ru>
3917
3918 * config/nvptx/critical.c: Delete to use generic implementation.
3919
c7ac071f
JH
39202016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3921
3922 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3923 ../../affinity.c as fallback.
3924 * config/nvptx/affinity.c: Delete to use fallback implementation.
3925
6103184e 39262016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3927 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3928 Dmitry Melnik <dm@ispras.ru>
3929
3930 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3931 * Makefile.in. Regenerate.
3932 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3933 (LIBGOMP_USE_PTHREADS): ...here; new define.
3934 * configure: Regenerate.
3935 * config.h.in: Likewise.
3936 * config/posix/affinity.c: Move to...
3937 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3938 interface by LIBGOMP_USE_PTHREADS.
3939 * critical.c: Split out GOMP_atomic_{start,end} into...
3940 * atomic.c: ...here (new file).
3941 * env.c: Split out ICV definitions into...
3942 * icv.c: ...here (new file) and...
3943 * icv-device.c: ...here. New file.
3944 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3945 (gomp_destroy_lock_30): Ditto.
3946 (gomp_set_lock_30): Ditto.
3947 (gomp_unset_lock_30): Ditto.
3948 (gomp_test_lock_30): Ditto.
3949 (gomp_init_nest_lock_30): Ditto.
3950 (gomp_destroy_nest_lock_30): Ditto.
3951 (gomp_set_nest_lock_30): Ditto.
3952 (gomp_unset_nest_lock_30): Ditto.
3953 (gomp_test_nest_lock_30): Ditto.
3954 * lock.c: New.
3955 * config/nvptx/lock.c: New.
3956 * config/nvptx/bar.c: New.
3957 * config/nvptx/bar.h: New.
3958 * config/nvptx/doacross.h: New.
3959 * config/nvptx/error.c: New.
3960 * config/nvptx/icv-device.c: New.
3961 * config/nvptx/mutex.h: New.
3962 * config/nvptx/pool.h: New.
3963 * config/nvptx/proc.c: New.
3964 * config/nvptx/ptrlock.h: New.
3965 * config/nvptx/sem.h: New.
3966 * config/nvptx/simple-bar.h: New.
3967 * config/nvptx/target.c: New.
3968 * config/nvptx/task.c: New.
3969 * config/nvptx/team.c: New.
3970 * config/nvptx/time.c: New.
3971 * config/posix/simple-bar.h: New.
3972 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3973 (gomp_num_teams_var): Declare.
3974 (struct gomp_thread_pool): Change threads_dock member to
3975 gomp_simple_barrier_t.
3976 [__nvptx__] (gomp_thread): New implementation.
3977 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3978 (gomp_thread_destructor): Ditto.
3979 (gomp_init_thread_affinity): Ditto.
3980 * team.c: Guard uses of Pthreads-specific interfaces by
3981 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3982 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3983 * config/nvptx/alloc.c: Delete.
3984 * config/nvptx/barrier.c: Ditto.
3985 * config/nvptx/fortran.c: Ditto.
3986 * config/nvptx/iter.c: Ditto.
3987 * config/nvptx/iter_ull.c: Ditto.
3988 * config/nvptx/loop.c: Ditto.
3989 * config/nvptx/loop_ull.c: Ditto.
3990 * config/nvptx/ordered.c: Ditto.
3991 * config/nvptx/parallel.c: Ditto.
3992 * config/nvptx/priority_queue.c: Ditto.
3993 * config/nvptx/sections.c: Ditto.
3994 * config/nvptx/single.c: Ditto.
3995 * config/nvptx/splay-tree.c: Ditto.
3996 * config/nvptx/work.c: Ditto.
3997 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3998 -foffload=-lgfortran in addition to -lgfortran.
3999 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4000 * plugin/plugin-nvptx.c: Include <limits.h>.
4001 (struct targ_fn_descriptor): Add new fields.
4002 (struct ptx_device): Ditto. Set them...
4003 (nvptx_open_device): ...here.
4004 (nvptx_adjust_launch_bounds): New.
4005 (nvptx_host2dev): Allow NULL 'nvthd'.
4006 (nvptx_dev2host): Ditto.
4007 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4008 (link_ptx): Adjust log sizes.
4009 (nvptx_host2dev): Allow NULL 'nvthd'.
4010 (nvptx_dev2host): Ditto.
4011 (nvptx_set_clocktick): New. Use it...
4012 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4013 fields.
4014 (GOMP_OFFLOAD_dev2dev): New.
4015 (nvptx_adjust_launch_bounds): New.
4016 (nvptx_stacks_size): New.
4017 (nvptx_stacks_alloc): New.
4018 (nvptx_stacks_free): New.
4019 (GOMP_OFFLOAD_run): New.
4020 (GOMP_OFFLOAD_async_run): New (stub).
4021
56b1c60e
MJ
40222016-11-23 Martin Jambor <mjambor@suse.cz>
4023
4024 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4025 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4026 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4027
b8d89b03 40282016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 4029 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
4030
4031 * plugin/hsa.h: New file.
4032 * plugin/hsa_ext_finalize.h: New file.
4033 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4034 header file unistd.h, and functions secure_getenv, __secure_getenv,
4035 getuid, geteuid, getgid and getegid.
4036 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4037 -D_GNU_SOURCE.
4038 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4039 Handle various cases of secure_getenv presence, add an implementation
4040 when we can test effective UID and GID.
4041 (struct hsa_runtime_fn_info): New structure.
4042 (hsa_runtime_fn_info hsa_fns): New variable.
4043 (hsa_runtime_lib): Likewise.
4044 (support_cpu_devices): Likewise.
4045 (init_enviroment_variables): Load newly introduced ENV
4046 variables.
4047 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4048 (hsa_fatal): Likewise.
4049 (DLSYM_FN): New macro.
4050 (init_hsa_runtime_functions): New function.
4051 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4052 structure. Depending on environment, also allow CPU devices.
4053 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4054 (get_kernarg_memory_region): Likewise.
4055 (GOMP_OFFLOAD_init_device): Likewise.
4056 (destroy_hsa_program): Likewise.
4057 (init_basic_kernel_info): New function.
4058 (GOMP_OFFLOAD_load_image): Use it.
4059 (create_and_finalize_hsa_program): Call hsa run-time functions via
4060 hsa_fns structure.
4061 (create_single_kernel_dispatch): Likewise.
4062 (release_kernel_dispatch): Likewise.
4063 (init_single_kernel): Likewise.
4064 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4065 (get_group_size): New function.
4066 (run_kernel): Likewise.
4067 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4068 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4069 structure.
4070 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4071 * testsuite/libgomp-test-support.exp.in: Likewise.
4072 * Makefile.in: Regenerated.
4073 * aclocal.m4: Likewise.
4074 * config.h.in: Likewise.
4075 * configure: Likewise.
4076 * testsuite/Makefile.in: Likewise.
4077
18d2ada8 40782016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 4079 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
4080
4081 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4082 mapping clauses to target constructs.
4083 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4084
84c1b9d3
MK
40852016-11-15 Matthias Klose <doko@ubuntu.com>
4086
4087 * configure: Regenerate.
4088
b4c3a85b
JJ
40892016-11-10 Jakub Jelinek <jakub@redhat.com>
4090
8ebd1b31
JJ
4091 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4092 * omp_lib.h.in (openmp_version): Likewise.
4093 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4094 of 201307.
4095 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4096
b4c3a85b
JJ
4097 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4098 (fib_wrapper): Add map(from: x) clause.
4099 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4100 (e_53_2): Likewise.
4101 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4102 (accum): Add map(tmp) clause.
4103 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4104 (accum): Add map(tofrom: tmp) clause.
4105 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4106 (gramSchmidt): Likewise.
4107 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4108 map(tofrom: sum) clause.
4109 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4110 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4111 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4112 only allowed on the loop iterator.
4113 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4114 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4115 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4116 * testsuite/libgomp.fortran/doacross1.f90: New test.
4117 * testsuite/libgomp.fortran/doacross3.f90: New test.
4118 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4119 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4120 * testsuite/libgomp.fortran/doacross2.f90: New test.
4121 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4122 #pragma omp atomic read.
4123 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4124 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4125
6668eb45
CP
41262016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4127 Nathan Sidwell <nathan@acm.org>
4128
4129 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4130 to determine default geometry.
4131 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4132 dimension.
4133
f10e37a1
JJ
41342016-11-01 Jakub Jelinek <jakub@redhat.com>
4135
4136 * hashtab.h: Use standard GPLv3 with runtime exception
4137 boilerplate.
4138
015c7760
AH
41392016-10-27 Aldy Hernandez <aldyh@redhat.com>
4140
4141 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4142 size when allocating new thread.
4143
20a1e5b8
MP
41442016-09-14 Marek Polacek <polacek@redhat.com>
4145
4146 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4147
1cad9284
JJ
41482016-08-19 Jakub Jelinek <jakub@redhat.com>
4149
4150 PR fortran/71014
4151 * testsuite/libgomp.fortran/pr71014.f90: New test.
4152
2c71d454
CLT
41532016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4154
4155 PR middle-end/70895
4156 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4157 firstprivate clauses.
4158 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4159 copy clauses.
4160 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4161 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4162 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4163 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4164 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4165 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4166 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4167 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4169 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4171 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4172
7c713714
CLT
41732016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4174
4175 PR fortran/70598
4176 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4177
5c934396
JJ
41782016-08-08 Jakub Jelinek <jakub@redhat.com>
4179
4180 PR c++/58706
4181 * testsuite/libgomp.c++/pr58706.C: New test.
4182
9ef64248
TS
41832016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4184
bbc79c0e
TS
4185 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4186 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4187 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4188 Likewise.
4189 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4190 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4191 Likewise.
4192 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4193
9ef64248
TS
4194 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4195 test, and don't hardcode -O0.
4196
c1311c86
NS
41972016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4198
4199 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4200
b1c9c068
CP
42012016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4202
4203 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4204 test.
4205
b4410f63
L
42062016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4207
4208 PR middle-end/71734
4209 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4210 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4211
a8dbab92
JJ
42122016-07-01 Jakub Jelinek <jakub@redhat.com>
4213
4214 PR fortran/71717
4215 * testsuite/libgomp.fortran/associate3.f90: New test.
4216
9b6a8d0f
JJ
42172016-06-17 Jakub Jelinek <jakub@redhat.com>
4218
4219 * testsuite/libgomp.c++/target-21.C: New test.
4220
283635f9
JJ
42212016-06-16 Jakub Jelinek <jakub@redhat.com>
4222
4223 * testsuite/libgomp.c++/target-20.C: New test.
4224
27d6ba88
TS
42252016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4226 Cesar Philippidis <cesar@codesourcery.com>
4227
4228 PR middle-end/71373
4229 * libgomp.oacc-c/nested-function-1.c: New file.
4230 * libgomp.oacc-c/nested-function-2.c: Likewise.
4231 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4232 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4233 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4234
4b1ffdb1
TS
42352016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4236
4237 PR c/71381
4238 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4239 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4240 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4241
d821b794
CLT
42422016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4243
4244 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4245 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4246
3616a8c5
CP
42472016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4248
4249 PR c/70688
5eed9a88 4250 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 4251
7211a097
JJ
42522016-05-26 Jakub Jelinek <jakub@redhat.com>
4253
4254 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4255 instead of invalid schedule(static, 0).
4256 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4257
b4557008
CLT
42582016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4259
4260 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4261 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4262 parameter, use to set async stream around call to gomp_unmap_vars,
4263 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4264 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4265 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4266 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4267 (event_add): Add int parameter, initialize 'val' field when
4268 adding new ptx_event struct.
4269 (nvptx_evec): Adjust event_add() call arguments.
4270 (nvptx_host2dev): Likewise.
4271 (nvptx_dev2host): Likewise.
4272 (nvptx_wait_async): Likewise.
4273 (nvptx_wait_all_async): Likewise.
4274 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4275 pass to event_add() call.
4276 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4277 parameter.
4278 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4279 call openacc.register_async_cleanup_func() hook.
4280 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4281 * target.c (gomp_copy_from_async): Delete function.
4282 (gomp_map_vars): Remove async_refcount.
4283 (gomp_unmap_vars): Likewise.
4284 (gomp_load_image_to_device): Likewise.
4285 (omp_target_associate_ptr): Likewise.
4286 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4287 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4288 (gomp_copy_from_async): Remove.
4289
6ce13072
CLT
42902016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4291
4292 * target.c (gomp_device_copy): New function.
4293 (gomp_copy_host2dev): Likewise.
4294 (gomp_copy_dev2host): Likewise.
4295 (gomp_free_device_memory): Likewise.
4296 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4297 (gomp_map_pointer): Likewise.
4298 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4299 NULL value from alloc_func plugin hook.
4300 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4301 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4302 (gomp_unmap_vars): Likewise.
4303 (gomp_update): Adjust to call gomp_copy_dev2host and
4304 gomp_copy_host2dev functions.
4305 (gomp_unload_image_from_device): Handle false value from
4306 unload_image_func plugin hook.
4307 (gomp_init_device): Handle false value from init_device_func
4308 plugin hook.
4309 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4310 (omp_target_free): Adjust to call gomp_free_device_memory.
4311 (omp_target_memcpy): Handle return values from host2dev_func,
4312 dev2host_func, and dev2dev_func plugin hooks.
4313 (omp_target_memcpy_rect_worker): Likewise.
4314 (gomp_target_fini): Handle false value from fini_device_func
4315 plugin hook.
4316 * libgomp.h (struct gomp_device_descr): Adjust return type of
4317 init_device_func, fini_device_func, unload_image_func, free_func,
4318 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4319 * oacc-init.c (acc_shutdown_1): Handle false value from
4320 fini_device_func plugin hook.
4321 * oacc-host.c (host_init_device): Change return type to bool.
4322 (host_fini_device): Likewise.
4323 (host_unload_image): Likewise.
4324 (host_free): Likewise.
4325 (host_dev2host): Likewise.
4326 (host_host2dev): Likewise.
4327 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4328 (acc_memcpy_to_device): Likewise.
4329 (acc_memcpy_from_device): Likewise.
4330 (delete_copyout): Add libfnname parameter, handle free_func
4331 hook fatal error case.
4332 (acc_delete): Adjust delete_copyout call.
4333 (acc_copyout): Likewise.
4334 (update_dev_host): Move gomp_mutex_unlock to after
4335 host2dev/dev2host hook calls.
4336
4337 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4338 to 'hsa_error_msg', for clarity.
4339 (hsa_fatal): Likewise.
4340 (hsa_error): New function.
4341 (init_hsa_context): Change return type to bool, adjust to return
4342 false on error.
4343 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4344 return value.
4345 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4346 return false on error.
4347 (get_agent_info): Adjust to return NULL on error.
4348 (destroy_hsa_program): Change return type to bool, adjust to
4349 return false on error.
4350 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4351 (destroy_module): Change return type to bool, adjust to
4352 return false on error.
4353 (GOMP_OFFLOAD_unload_image): Likewise.
4354 (GOMP_OFFLOAD_fini_device): Likewise.
4355 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4356 (GOMP_OFFLOAD_free): Change to return false when called.
4357 (GOMP_OFFLOAD_dev2host): Likewise.
4358 (GOMP_OFFLOAD_host2dev): Likewise.
4359 (GOMP_OFFLOAD_dev2dev): Likewise.
4360
4361 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4362 (CUDA_CALL): Likewise.
4363 (CUDA_CALL_ASSERT): Likewise.
4364 (map_init): Change return type to bool, use CUDA_CALL* macros.
4365 (map_fini): Likewise.
4366 (init_streams_for_device): Change return type to bool, adjust
4367 call to map_init.
4368 (fini_streams_for_device): Change return type to bool, adjust
4369 call to map_fini.
4370 (select_stream_for_async): Release stream_lock before calls to
4371 GOMP_PLUGIN_fatal, adjust call to map_init.
4372 (nvptx_init): Use CUDA_CALL* macros.
4373 (nvptx_attach_host_thread_to_device): Change return type to bool,
4374 use CUDA_CALL* macros.
4375 (nvptx_open_device): Use CUDA_CALL* macros.
4376 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4377 macros.
4378 (nvptx_get_num_devices): Use CUDA_CALL* macros.
4379 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4380 (nvptx_exec): Use CUDA_CALL* macros.
4381 (nvptx_alloc): Use CUDA_CALL* macros.
4382 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4383 (nvptx_host2dev): Likewise.
4384 (nvptx_dev2host): Likewise.
4385 (nvptx_wait): Use CUDA_CALL* macros.
4386 (nvptx_wait_async): Likewise.
4387 (nvptx_wait_all): Likewise.
4388 (nvptx_wait_all_async): Likewise.
4389 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4390 use CUDA_CALL* macros, adjust call to map_fini.
4391 (GOMP_OFFLOAD_init_device): Change return type to bool,
4392 adjust code accordingly.
4393 (GOMP_OFFLOAD_fini_device): Likewise.
4394 (GOMP_OFFLOAD_load_image): Adjust calls to
4395 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4396 use CUDA_CALL* macros.
4397 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4398 return code.
4399 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4400 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4401 handle error return.
4402 (GOMP_OFFLOAD_dev2host): Likewise.
4403 (GOMP_OFFLOAD_host2dev): Likewise.
4404 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4405 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4406
e46c7770
CP
44072016-05-24 Cesar Philippidis <cesar@codesourcery.com>
4408
4409 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4410 (acc_free): Likewise.
4411 (acc_memcpy_to_device): Likewise.
4412 (acc_memcpy_from_device): Likewise.
4413 (acc_deviceptr): Likewise.
4414 (acc_hostptr): Likewise.
4415 (acc_is_present): Likewise.
4416 (acc_map_data): Likewise.
4417 (acc_unmap_data): Likewise.
4418 (present_create_copy): Likewise.
4419 (delete_copyout): Likewise.
4420 (update_dev_host): Likewise.
4421 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4422 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4423 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4424 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4425 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4426 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4427 it only runs on nvptx targets.
4428 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4429 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4430 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4431 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4432 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4433 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4434 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4435 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4436 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4437 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4438 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4439 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4440 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4441 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4442 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4443 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4444 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4445 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4446 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4447 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4448 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4449 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4450 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4451
a5057543
MJ
44522016-05-23 Martin Jambor <mjambor@suse.cz>
4453
4454 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4455
e37288a6
CLT
44562016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
4457
4458 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4459 to gomp_init_targets_once.
4460 (acc_set_device_type): Remove !cached_base_dev condition on call to
4461 gomp_init_targets_once, move call to before acc_device_lock acquire,
4462 to avoid deadlock.
4463 (acc_get_device_num): Remove !cached_base_dev condition on call to
4464 gomp_init_targets_once.
4465 (acc_set_device_num): Likewise.
4466
51d9ed48
MJ
44672016-05-16 Martin Jambor <mjambor@suse.cz>
4468
92a285c1 4469 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 4470
5b37e866
NS
44712016-05-02 Nathan Sidwell <nathan@codesourcery.com>
4472
4473 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4474 expected partitioning.
4475
e7ff0319
CP
44762016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4477
4478 PR middle-end/70626
4479 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4480 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4481 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4482
c2bd3b69
AM
44832016-04-21 Alexander Monakov <amonakov@ispras.ru>
4484
4485 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4486 non-fatal.
4487
84311083
JJ
44882016-04-19 Jakub Jelinek <jakub@redhat.com>
4489
4490 PR middle-end/70680
4491 * testsuite/libgomp.c/pr70680-1.c: New test.
4492 * testsuite/libgomp.c/pr70680-2.c: New test.
4493
aadc043f
CP
44942016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4495
4496 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4497 pass parameter variables to subroutines.
4498
e387fc64
CP
44992016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4500
4501 PR middle-end/70643
4502 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4503
10c3c424
CP
45042016-04-13 Cesar Philippidis <cesar@codesourcery.com>
4505
4506 PR testsuite/68242
4507 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4508 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4509
27f9add3
TS
45102016-04-12 Thomas Schwinge <thomas@codesourcery.com>
4511
58d32aeb
TS
4512 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4513 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4514 GOACC_declare prototype.
4515
d97633ef
TS
4516 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4517 Merge this file, and...
4518 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4519 ... this file, and...
4520 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4521 ... this file, and...
4522 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4523 ... this file, and...
4524 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4525 ... this file, and...
4526 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4527 ... this file, and...
4528 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4529 ... this file, and...
4530 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4531 ... this file, and...
4532 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4533 ... this file, and...
4534 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4535 ... this file, and...
4536 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4537 ... this file, and...
4538 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4539 ... this file, and...
4540 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4541 ... this file into...
4542 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4543 file.
4544
27f9add3
TS
4545 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4546 Make failure observable.
4547
21f3a236
JJ
45482016-04-12 Jakub Jelinek <jakub@redhat.com>
4549
4550 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4551 field.
4552 * target.c (gomp_target_fallback_firstprivate,
4553 gomp_target_unshare_firstprivate): Removed.
4554 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4555 before waiting for dependencies.
4556 (gomp_target_task_fn): Don't copy firstprivate vars here.
4557 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4558 firstprivate_copies here.
4559 (gomp_create_target_task): Don't initialize firstprivate_copies field.
4560 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4561 explicit/implicit firstprivate.
4562
c42cfb5c
CP
45632016-04-08 Cesar Philippidis <cesar@codesourcery.com>
4564
4565 PR lto/70289
4566 PR ipa/70348
4567 PR tree-optimization/70373
4568 PR middle-end/70533
4569 PR middle-end/70534
4570 PR middle-end/70535
4571 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4572 test.
4573 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4574 test.
4575 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4576 test.
4577 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4578 test.
4579 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4580 test.
4581 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4582 test.
4583 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4584 test.
4585 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4586 test.
4587 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4588 test.
4589 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
4590 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
4591 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
4592 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
4593 test.
4594 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
4595 test.
4596 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
4597 test.
4598 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
4599 test.
4600 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
4601 coverage.
4602 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4603 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4604 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
4605 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
4606 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
4607 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
4608 coverage.
4609 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4610 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4611 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4612 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4613 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
4614 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
4615 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
4616 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
4617 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
4618 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4619 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4620 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4621 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4622 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4623 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
4624
2620c80d
TS
46252016-03-30 Thomas Schwinge <thomas@codesourcery.com>
4626 James Norris <jnorris@codesourcery.com>
4627 Nathan Sidwell <nathan@codesourcery.com>
4628 Julian Brown <julian@codesourcery.com>
4629 Cesar Philippidis <cesar@codesourcery.com>
4630 Chung-Lin Tang <cltang@codesourcery.com>
4631 Tom de Vries <tom@codesourcery.com>
4632
4633 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
4634 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4635 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4636 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
4637 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4638 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4639 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4640 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4641 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4642 XFAIL.
4643 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4644 Incorporate...
4645 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
4646 file.
4647 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
4648 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
4649 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
4650 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
4651 Likewise.
4652 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4653 Likewise.
4654 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4655 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
4656 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4657 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4658 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4659 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4660 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4661 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4662 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4663 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
4664 Likewise.
4665 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
4666 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4667 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
4668 file...
4669 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
4670 file into...
4671 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
4672 file. Update.
4673 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
4674 file.
4675 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
4676 Likewise.
4677 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
4678 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
4679 ... this new file. Update.
4680 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
4681 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
4682 ... this new file. Update.
4683 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
4684 file. Incorporate...
4685 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
4686 file, and...
4687 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
4688 file, and...
4689 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
4690 file.
4691 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
4692
ce83104b
TS
46932016-03-29 Thomas Schwinge <thomas@codesourcery.com>
4694
4695 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
4696 set-torture-options.
4697
6e0df3b7
TS
46982016-03-24 Thomas Schwinge <thomas@codesourcery.com>
4699
4700 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
4701 gcc-dg-runtest.
4702 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4703 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
4704 -fno-builtin-acc_on_device instead of -O0.
4705 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
4706 -O0.
4707 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4708 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
4709 Likewise.
4710 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4711 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4712 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4713 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4714 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4715 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4716 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4717 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4718 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4719 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4720 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4721 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4722 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4723 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4724 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4725 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4726 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4727 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4728 Don't specify -O2.
4729 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4730 Likewise.
4731 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4732 Likewise.
4733
f9c8babb
ML
47342016-03-24 Martin Liska <mliska@suse.cz>
4735
4736 * plugin/plugin-hsa.c (packet_store_release): New function
4737 that is taken from the HSA runtime manual.
4738 (GOMP_OFFLOAD_run): Use the function.
4739
04833609
JJ
47402016-03-23 Jakub Jelinek <jakub@redhat.com>
4741
4742 PR c++/70376
4743 * testsuite/libgomp.c++/pr70376.C: New test.
4744
d79ee524
TV
47452016-03-23 Tom de Vries <tom@codesourcery.com>
4746
4747 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4748 initialization of lresult and lvresult.
4749 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4750
b6d1f2b5
JN
47512016-03-23 James Norris <jnorris@codesourcery.com>
4752 Daichi Fukuoka <dc-fukuoka@sgi.com>
4753
4754 PR libgomp/69414
4755 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4756 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4757 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4758 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4759
7397fce2
ML
47602016-03-23 Martin Liska <mliska@suse.cz>
4761
4762 PR hsa/70337
4763 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4764 argument just in case a dispatched kernel uses that argument.
4765
ee2e7d51
TS
47662016-03-16 Thomas Schwinge <thomas@codesourcery.com>
4767
4768 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4769 -ftree-parallelize-loops/-fopenacc changes.
4770 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4771 Likewise.
4772 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4773 Likewise.
4774 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4775 Likewise.
4776 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4777 Likewise.
4778 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4779 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4780
be9f7143
TS
47812016-03-13 Thomas Schwinge <thomas@codesourcery.com>
4782
4783 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4784 always_ld_library_path the path to libgcc_s.
4785
f6c1032d
CP
47862016-03-10 Cesar Philippidis <cesar@codesourcery.com>
4787
4788 PR testsuite/70009
4789 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4790
5a6452e6
TV
47912016-03-09 Tom de Vries <tom@codesourcery.com>
4792
4793 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4794 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4795 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4796 Same.
4797 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4798 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4799 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4800 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4801
96a71bd5
MJ
48022016-03-07 Martin Jambor <mjambor@suse.cz>
4803
4804 * testsuite/lib/libgomp.exp
4805 (check_effective_target_hsa_offloading_selected_nocache): New.
4806 (check_effective_target_hsa_offloading_selected): Likewise.
4807 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4808 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4809 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4810 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4811 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4812 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4813 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4814 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4815 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4816 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4817 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4818 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4819 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4820 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4821 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4822 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4823 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4824
02e0b5b2
MJ
48252016-03-07 Martin Jambor <mjambor@suse.cz>
4826
4827 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4828 non-shared memory accelerators.
4829 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4830 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4831 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4832 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4833 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4834 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4835 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4836 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4837 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4838
45548f30
MJ
48392016-03-07 Martin Jambor <mjambor@suse.cz>
4840
4841 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4842 ALWAYS_CFLAGS.
4843
da3d46cb
JJ
48442016-03-02 Jakub Jelinek <jakub@redhat.com>
4845
4846 PR libgomp/69555
4847 * testsuite/libgomp.c++/pr69555-1.C: New test.
4848 * testsuite/libgomp.c++/pr69555-2.C: New test.
4849
622174b2
KM
48502016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4851 Martin Jambor <mjambor@suse.cz>
4852
4853 * testsuite/lib/libgomp.exp
4854 (check_effective_target_offload_device_shared_as): New proc.
4855 * testsuite/libgomp.c++/declare_target-1.C: New test.
4856
e6861a99
IV
48572016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4858
4859 PR driver/68463
4860 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4861
f99c3557
TS
48622016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4863
4864 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4865 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4866 dims.
4867 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4868 -ftree-parallelize-loops/-fopenacc changes.
4869 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4870 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4871 Likewise.
4872 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4873 Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4875 Likewise.
4876 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4877 Likewise.
4878 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4879 Likewise.
4880 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4881 Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4883 Likewise.
4884 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4885 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4886 Likewise.
4887 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4888 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4889 Likewise.
4890 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4891 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4892 Likewise.
4893
d5ace3b5
CP
48942016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4895
4896 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4897
f3609a89
JJ
48982016-02-19 Jakub Jelinek <jakub@redhat.com>
4899
4900 PR driver/69805
4901 * testsuite/libgomp.c/pr69805.c: New test.
4902
2175df99
TV
49032016-02-16 Tom de Vries <tom@codesourcery.com>
4904
4905 PR lto/67709
4906 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4907
17b6426c
TV
49082016-02-09 Tom de Vries <tom@codesourcery.com>
4909
4910 PR tree-optimization/69599
4911 * testsuite/libgomp.c/omp-nested-3.c: New test.
4912 * testsuite/libgomp.c/pr46032-2.c: New test.
4913 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4914 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4915
34df756c
TV
49162016-02-09 Tom de Vries <tom@codesourcery.com>
4917
4918 PR lto/69707
4919 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4920
5854ee30
AM
49212016-02-02 Alexander Monakov <amonakov@ispras.ru>
4922
4923 * testsuite/libgomp.c/target-31.c: Fix testcase.
4924
e70b6ad7
AM
49252016-02-02 Alexander Monakov <amonakov@ispras.ru>
4926
4927 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4928 clause.
4929 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4930 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4931 reduction and map clauses.
4932 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4933
bd78a45f
JN
49342016-02-02 James Norris <jnorris@codesourcery.com>
4935
4936 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4937
41d809d3
TS
49382016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4939
18f60146
TS
4940 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4941 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4942
1a06f5e6
TS
4943 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4944 cases.
4945
033ff3d1
TS
4946 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4947 variables.
4948 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4949 (hsa_kmt_lib): Set variables.
4950 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4951 always_ld_library_path.
4952 * Makefile.in: Regenerate.
4953 * configure: Likewise.
4954 * testsuite/Makefile.in: Likewise.
4955
4a88d9b7
TS
4956 * plugin/configfrag.ac (offload_additional_options)
4957 (offload_additional_lib_paths): Don't amend for hsa offloading.
4958 * configure: Regenerate.
4959
41d809d3
TS
4960 * plugin/configfrag.ac: Don't configure for offloading target if
4961 we don't build the corresponding plugin.
4962 * configure: Regenerate.
4963
b6adbb9f
NS
49642016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4965
4966 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4967 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4968
8dfdb419
TV
49692016-01-26 Tom de Vries <tom@codesourcery.com>
4970
4971 PR tree-optimization/69110
4972 * testsuite/libgomp.c/pr69110.c: New test.
4973
02ef53f2
RB
49742016-01-25 Richard Biener <rguenther@suse.de>
4975
4976 PR lto/69393
4977 * testsuite/libgomp.c++/pr69393.C: New testcase.
4978
eb4048f2
IV
49792016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4980
4981 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4982 function wasn't mapped to the device with non-shared memory.
4983
b235cdd5
IV
49842016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4985
4986 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4987
b2b40051
MJ
49882016-01-19 Martin Jambor <mjambor@suse.cz>
4989 Martin Liska <mliska@suse.cz>
4990
4991 * plugin/Makefrag.am: Add HSA plugin requirements.
4992 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4993 (HSA_RUNTIME_LIB): Likewise.
4994 (HSA_RUNTIME_CPPFLAGS): Likewise.
4995 (HSA_RUNTIME_INCLUDE): New substitution.
4996 (HSA_RUNTIME_LIB): Likewise.
4997 (HSA_RUNTIME_LDFLAGS): Likewise.
4998 (hsa-runtime): New configure option.
4999 (hsa-runtime-include): Likewise.
5000 (hsa-runtime-lib): Likewise.
5001 (PLUGIN_HSA): New substitution variable.
5002 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5003 configure options.
5004 (PLUGIN_HSA_CPPFLAGS): Likewise.
5005 (PLUGIN_HSA_LDFLAGS): Likewise.
5006 (PLUGIN_HSA_LIBS): Likewise.
5007 Check that we have access to HSA run-time.
5008 * libgomp-plugin.h (offload_target_type): New element
5009 OFFLOAD_TARGET_TYPE_HSA.
5010 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5011 args.
5012 (bool gomp_create_target_task): Updated.
5013 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5014 new field can_run_func.
5015 * libgomp_g.h (GOMP_target_ext): Update prototype.
5016 * oacc-host.c (host_run): Added a new parameter args.
5017 * target.c (calculate_firstprivate_requirements): New function.
5018 (copy_firstprivate_data): Likewise.
5019 (gomp_target_fallback_firstprivate): Use them.
5020 (gomp_target_unshare_firstprivate): New function.
5021 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5022 devices.
5023 (GOMP_target): Do host fallback for all shared memory devices. Do not
5024 pass any args to plugins.
5025 (GOMP_target_ext): Introduce device-specific argument parameter args.
5026 Allow host fallback if device shares memory. Do not remap data if
5027 device has shared memory.
5028 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5029 like host fallback for mappings.
5030 (GOMP_target_data): Treat shared memory devices like host fallback.
5031 (GOMP_target_data_ext): Likewise.
5032 (GOMP_target_update): Likewise.
5033 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5034 gomp_create_target_task.
5035 (GOMP_target_enter_exit_data): Likewise.
5036 (omp_target_alloc): Treat shared memory devices like host fallback.
5037 (omp_target_free): Likewise.
5038 (omp_target_is_present): Likewise.
5039 (omp_target_memcpy): Likewise.
5040 (omp_target_memcpy_rect): Likewise.
5041 (omp_target_associate_ptr): Likewise.
5042 (gomp_load_plugin_for_device): Also load can_run.
5043 * task.c (GOMP_PLUGIN_target_task_completion): Free
5044 firstprivate_copies.
5045 (gomp_create_target_task): Accept new argument args and store it to
5046 ttask.
5047 * plugin/plugin-hsa.c: New file.
5048
5d7804a9
TV
50492016-01-18 Tom de Vries <tom@codesourcery.com>
5050
5051 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5052 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5053 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5054 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5055 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5058 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5062 Same.
5063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5064 Same.
5065 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5066 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5067 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5069 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5072 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5073 Same.
5074 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5075
cb11f3cf
JJ
50762016-01-15 Jakub Jelinek <jakub@redhat.com>
5077
5078 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5079
33a126a6
CP
50802016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5081
5082 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5083
cdf6119d
JN
50842016-01-12 James Norris <jnorris@codesourcery.com>
5085
5086 * libgomp.texi: Updates for OpenACC.
5087
0d58938e
AM
50882016-01-11 Alexander Monakov <amonakov@ispras.ru>
5089
5090 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5091
95918b49
L
50922016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5093
5094 PR fortran/66680
5095 * testsuite/libgomp.fortran/pr66680.f90: New test.
5096
8fc708b7
JJ
50972016-01-07 Jakub Jelinek <jakub@redhat.com>
5098
5099 PR middle-end/68960
5100 * testsuite/libgomp.c/pr68960.c: New test.
5101
e9b596c1
NS
51022016-01-06 Nathan Sidwell <nathan@acm.org>
5103
1a14faf2 5104 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
5105 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5106
21fa2a29
JJ
51072016-01-04 Jakub Jelinek <jakub@redhat.com>
5108
818ab71a
JJ
5109 Update copyright years.
5110
21fa2a29
JJ
5111 * libgomp.texi: Bump @copying's copyright year.
5112
9310efbc
NS
51132015-12-31 Nathan Sidwell <nathan@acm.org>
5114
5115 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5116 dg-additional-options syntax.
5117 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5118 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5119 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5120 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5121 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5122 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5123 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5124 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5125 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5126 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5127 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5128 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5129 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5130 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5131 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5132 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5133 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5134 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5135
4a38b02b
IV
51362015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5137
5138 * libgomp.h (REFCOUNT_LINK): Define.
5139 (struct splay_tree_key_s): Add link_key.
5140 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5141 Replace target address of the pointer with target address of newly
5142 mapped object in the splay tree. Set link pointer on target to the
5143 device address of the mapped object.
5144 (gomp_unmap_vars): Restore target address of the pointer in the splay
5145 tree for REFCOUNT_LINK objects after unmapping.
5146 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5147 declare target link" objects.
5148 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5149 "omp declare target link" objects, which were mapped for the image.
5150 (gomp_exit_data): Restore target address of the pointer in the splay
5151 tree for REFCOUNT_LINK objects after unmapping.
5152 * testsuite/libgomp.c/target-link-1.c: New file.
5153
d84ffc0a
IV
51542015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5155
5156 * libgomp.h (gomp_device_state): New enum.
5157 (struct gomp_device_descr): Replace is_initialized with state.
5158 (gomp_fini_device): Remove declaration.
5159 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5160 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5161 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5162 (acc_set_device_type): Use state instead of is_initialized.
5163 (acc_set_device_num): Likewise.
5164 * target.c (resolve_device): Use state instead of is_initialized.
5165 Do not initialize finalized device.
5166 (gomp_map_vars): Do nothing if device is finalized.
5167 (gomp_unmap_vars): Likewise.
5168 (gomp_update): Likewise.
5169 (GOMP_offload_register_ver): Use state instead of is_initialized.
5170 (GOMP_offload_unregister_ver): Likewise.
5171 (gomp_init_device): Likewise.
5172 (gomp_unload_device): Likewise.
5173 (gomp_fini_device): Remove.
5174 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5175 (GOMP_target): Go to host fallback if device is finalized.
5176 (GOMP_target_ext): Likewise.
5177 (gomp_exit_data): Do nothing if device is finalized.
5178 (gomp_target_task_fn): Go to host fallback if device is finalized.
5179 (gomp_target_fini): New static function.
5180 (gomp_target_init): Use state instead of is_initialized.
5181 Call gomp_target_fini at exit.
5182
76680678
TV
51832015-12-09 Tom de Vries <tom@codesourcery.com>
5184
5185 PR tree-optimization/68716
5186 * testsuite/libgomp.c/omp-nested-2.c: New test.
5187
ff7a55bf
TS
51882015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5189
5190 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5191 target openacc_nvidia_accel_selected.
5192 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5193 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5194 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5195 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5196
37d5ad46
JB
51972015-12-01 Julian Brown <julian@codesourcery.com>
5198 James Norris <James_Norris@mentor.com>
5199
5200 * oacc-parallel.c (GOACC_host_data): New function.
5201 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5202 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5203 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5204 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5205 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5206 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5207 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5208
db941d7e
CP
52092015-11-30 James Norris <jnorris@codesourcery.com>
5210 Cesar Philippidis <cesar@codesourcery.com>
5211
5212 libgomp/
5213 * libgomp.oacc-fortran/routine-5.f90: New test.
5214 * libgomp.oacc-fortran/routine-7.f90: New test.
5215 * libgomp.oacc-fortran/routine-9.f90: New test.
5216
e0ca27c5
TV
52172015-11-30 Tom de Vries <tom@codesourcery.com>
5218
5219 PR tree-optimization/46032
5220 * testsuite/libgomp.c/pr46032.c: New test.
5221
aec17bfe
JJ
52222015-11-27 Jakub Jelinek <jakub@redhat.com>
5223
8e4e4719
JJ
5224 PR libgomp/68579
5225 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5226 (gomp_create_target_task): Call it before freeing
5227 GOMP_TARGET_TASK_DATA tasks.
5228
aec17bfe
JJ
5229 PR c/63326
5230 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5231 in between case label and OpenMP standalone directives.
5232 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5233
6cfe90e6
DE
52342015-11-26 David Edelsohn <dje.gcc@gmail.com>
5235
5236 * configure: Regenerate.
5237
0e65fd7d
JJ
52382015-11-26 Jakub Jelinek <jakub@redhat.com>
5239
5240 * testsuite/libgomp.c/target-35.c: New test.
5241
dc7a8b4b
JN
52422015-11-22 James Norris <jnorris@codesourcery.com>
5243 Cesar Philippidis <cesar@codesourcery.com>
5244
5245 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5246 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5247 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5248 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5249 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5250
48a78aee
JJ
52512015-11-20 Jakub Jelinek <jakub@redhat.com>
5252
5253 PR middle-end/68221
5254 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5255 * testsuite/libgomp.c/reduction-12.c: Likewise.
5256 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5257 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5258
2d256816
NS
52592015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5260
5261 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5262 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5263 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5264 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5265 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5266 and fix.
5267 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5268 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5269
33f47f42
NS
52702015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5271
5272 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5273 worker & gang cases.
5274 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5275
3d7bfee0
CP
52762015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5277
5278 * config/nvptx/priority_queue.c: New file.
5279
00b9bd52
JJ
52802015-11-14 Jakub Jelinek <jakub@redhat.com>
5281
5282 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5283 sections.
5284
e4606348
JJ
52852015-11-14 Jakub Jelinek <jakub@redhat.com>
5286 Aldy Hernandez <aldyh@redhat.com>
5287 Ilya Verbin <ilya.verbin@intel.com>
5288
5289 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5290 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5291 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5292 iterators or IV by chunk size.
5293 * parallel.c (gomp_resolve_num_threads): Don't assume that
5294 if thr->ts.team is non-NULL, then pool must be non-NULL.
5295 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5296 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5297 GOMP_PLUGIN_target_task_completion.
5298 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5299 * Makefile.in: Regenerate.
5300 * libgomp.h: Shuffle prototypes and forward definitions around so
5301 priority queues can be defined.
5302 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5303 (enum gomp_target_task_state): New enum.
5304 (struct gomp_target_task): Add state, tgt, task and team fields.
5305 (gomp_create_target_task): Change return type to bool, add
5306 state argument.
5307 (gomp_target_task_fn): Change return type to bool.
5308 (struct gomp_device_descr): Add async_run_func.
5309 (struct gomp_task): Remove children, next_child, prev_child,
5310 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5311 Add pnode field.
5312 (struct gomp_taskgroup): Remove children.
5313 Add taskgroup_queue.
5314 (struct gomp_team): Change task_queue type to a priority queue.
5315 (splay_compare): Define inline.
5316 (priority_queue_offset): New.
5317 (priority_node_to_task): New.
5318 (task_to_priority_node): New.
5319 * oacc-mem.c: Do not include splay-tree.h.
5320 * priority_queue.c: New file.
5321 * priority_queue.h: New file.
5322 * splay-tree.c: Do not include splay-tree.h.
5323 (splay_tree_foreach_internal): New.
5324 (splay_tree_foreach): New.
5325 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5326 (splay_tree_callback): Define typedef.
5327 * target.c (splay_compare): Move to libgomp.h.
5328 (GOMP_target): Don't adjust *thr in any way around running offloaded
5329 task.
5330 (GOMP_target_ext): Likewise. Handle target nowait.
5331 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5332 return value from gomp_create_target_task, if false, fallthrough
5333 as if no dependencies exist.
5334 (gomp_target_task_fn): Change return type to bool, return true
5335 if the task should have another part scheduled later. Handle
5336 target nowait.
5337 (gomp_load_plugin_for_device): Initialize async_run.
5338 * task.c (gomp_init_task): Initialize children_queue.
5339 (gomp_clear_parent_in_list): New.
5340 (gomp_clear_parent_in_tree): New.
5341 (gomp_clear_parent): Handle priorities.
5342 (GOMP_task): Likewise.
5343 (priority_queue_move_task_first,
5344 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5345 New functions.
5346 (gomp_create_target_task): Use priority queues. Change return type
5347 to bool, add state argument, return false if for async
5348 {{enter,exit} data,update} constructs no dependencies need to be
5349 waited for, handle target nowait. Set task->fn to NULL instead of
5350 gomp_target_task_fn.
5351 (verify_children_queue): Remove.
5352 (priority_list_upgrade_task): New.
5353 (priority_queue_upgrade_task): New.
5354 (verify_task_queue): Remove.
5355 (priority_list_downgrade_task): New.
5356 (priority_queue_downgrade_task): New.
5357 (gomp_task_run_pre): Use priority queues.
5358 Abstract code out to priority_queue_downgrade_task.
5359 (gomp_task_run_post_handle_dependers): Use priority queues.
5360 (gomp_task_run_post_remove_parent): Likewise.
5361 (gomp_task_run_post_remove_taskgroup): Likewise.
5362 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
5363 tasks specially.
5364 (GOMP_taskwait): Likewise.
5365 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
5366 priority-queue_upgrade_task.
5367 (GOMP_taskgroup_start): Use priority queues.
5368 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
5369 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
5370 barrier.
5371 * taskloop.c (GOMP_taskloop): Handle priorities.
5372 * team.c (gomp_new_team): Call priority_queue_init.
5373 (free_team): Call priority_queue_free.
5374 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5375 team created for target nowait in implicit parallel region.
5376 (gomp_team_start): For nested check, test thr->ts.level instead of
5377 thr->ts.team != NULL.
5378 * testsuite/libgomp.c/doacross-3.c: New test.
5379 * testsuite/libgomp.c/ordered-5.c: New test.
5380 * testsuite/libgomp.c/priority.c: New test.
5381 * testsuite/libgomp.c/target-31.c: New test.
5382 * testsuite/libgomp.c/target-32.c: New test.
5383 * testsuite/libgomp.c/target-33.c: New test.
5384 * testsuite/libgomp.c/target-34.c: New test.
5385
1d1ab74f
NS
53862015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5387
c5a64cfe
NS
5388 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5389
1d1ab74f
NS
5390 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5391 loop is sequential.
5392
dd3c1b14
NS
53932015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5394
5395 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5396 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5397
6e232ba4
JN
53982015-11-12 James Norris <jnorris@codesourcery.com>
5399 Joseph Myers <joseph@codesourcery.com>
5400
5401 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5402 * oacc-parallel.c (GOACC_declare): New function.
5403 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5404 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5405 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5406 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5407 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5408
fffeedeb
NS
54092015-11-12 Nathan Sidwell <nathan@codesourcery.com>
5410
5411 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5412
182190f2
NS
54132015-11-1 Nathan Sidwell <nathan@codesourcery.com>
5414
5415 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5416 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5417
36fa0f5f
NS
54182015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5419
d350c40c
NS
5420 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5421 inadvertent commit.
5422
54232015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5424
36fa0f5f
NS
5425 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5426 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5427 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5428 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5429 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5430
66a5f0b4
TS
54312015-11-06 Thomas Schwinge <thomas@codesourcery.com>
5432
5433 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5434 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5435
e01d41e5
JJ
54362015-11-05 Jakub Jelinek <jakub@redhat.com>
5437 Ilya Verbin <ilya.verbin@intel.com>
5438
5439 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5440 GOMP_loop_nonmonotonic_dynamic_start,
5441 GOMP_loop_nonmonotonic_guided_next,
5442 GOMP_loop_nonmonotonic_guided_start,
5443 GOMP_loop_ull_nonmonotonic_dynamic_next,
5444 GOMP_loop_ull_nonmonotonic_dynamic_start,
5445 GOMP_loop_ull_nonmonotonic_guided_next,
5446 GOMP_loop_ull_nonmonotonic_guided_start,
5447 GOMP_parallel_loop_nonmonotonic_dynamic,
5448 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5449 (GOMP_target_41): Renamed to ...
5450 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5451 arguments.
5452 (GOMP_target_data_41): Renamed to ...
5453 (GOMP_target_data_ext): ... this.
5454 (GOMP_target_update_41): Renamed to ...
5455 (GOMP_target_update_ext): ... this.
5456 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5457 GOMP_target_data_ext and GOMP_target_update_ext instead of
5458 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5459 Export GOMP_loop_nonmonotonic_dynamic_next,
5460 GOMP_loop_nonmonotonic_dynamic_start,
5461 GOMP_loop_nonmonotonic_guided_next,
5462 GOMP_loop_nonmonotonic_guided_start,
5463 GOMP_loop_ull_nonmonotonic_dynamic_next,
5464 GOMP_loop_ull_nonmonotonic_dynamic_start,
5465 GOMP_loop_ull_nonmonotonic_guided_next,
5466 GOMP_loop_ull_nonmonotonic_guided_start,
5467 GOMP_parallel_loop_nonmonotonic_dynamic and
5468 GOMP_parallel_loop_nonmonotonic_guided.
5469 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5470 GOMP_parallel_loop_nonmonotonic_guided,
5471 GOMP_loop_nonmonotonic_dynamic_start,
5472 GOMP_loop_nonmonotonic_guided_start,
5473 GOMP_loop_nonmonotonic_dynamic_next,
5474 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5475 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5476 GOMP_loop_ull_nonmonotonic_guided_start,
5477 GOMP_loop_ull_nonmonotonic_dynamic_next,
5478 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5479 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5480 functions.
5481 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
5482 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5483 Use gomp_map_val function.
5484 (gomp_target_fallback_firstprivate): New static function.
5485 (GOMP_target_41): Renamed to ...
5486 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5487 arguments. Move firstprivate fallback handling into a new
5488 function.
5489 (GOMP_target_data_41): Renamed to ...
5490 (GOMP_target_data_ext): ... this.
5491 (GOMP_target_update_41): Renamed to ...
5492 (GOMP_target_update_ext): ... this.
5493 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5494 gomp_map_0len_lookup instead of gomp_map_lookup.
5495 (omp_target_is_present): Use gomp_map_0len_lookup instead of
5496 gomp_map_lookup.
5497 * testsuite/libgomp.c/target-28.c: Likewise.
5498 * testsuite/libgomp.c/monotonic-1.c: New test.
5499 * testsuite/libgomp.c/monotonic-2.c: New test.
5500 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5501 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5502 * testsuite/libgomp.c/pr66199-5.c: New test.
5503 * testsuite/libgomp.c/pr66199-6.c: New test.
5504 * testsuite/libgomp.c/pr66199-7.c: New test.
5505 * testsuite/libgomp.c/pr66199-8.c: New test.
5506 * testsuite/libgomp.c/pr66199-9.c: New test.
5507 * testsuite/libgomp.c/reduction-11.c: New test.
5508 * testsuite/libgomp.c/reduction-12.c: New test.
5509 * testsuite/libgomp.c/reduction-13.c: New test.
5510 * testsuite/libgomp.c/reduction-14.c: New test.
5511 * testsuite/libgomp.c/reduction-15.c: New test.
5512 * testsuite/libgomp.c/target-12.c (main): Adjust for
5513 omp_target_is_present change for one-past-last element.
5514 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5515 the same var is both mapped and privatized.
5516 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5517 handling of zero-length array sections.
5518 * testsuite/libgomp.c/target-28.c: New test.
5519 * testsuite/libgomp.c/target-29.c: New test.
5520 * testsuite/libgomp.c/target-30.c: New test.
5521 * testsuite/libgomp.c/target-teams-1.c: New test.
5522 * testsuite/libgomp.c++/member-6.C: New test.
5523 * testsuite/libgomp.c++/member-7.C: New test.
5524 * testsuite/libgomp.c++/monotonic-1.C: New test.
5525 * testsuite/libgomp.c++/monotonic-2.C: New test.
5526 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5527 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5528 * testsuite/libgomp.c++/pr66199-3.C: New test.
5529 * testsuite/libgomp.c++/pr66199-4.C: New test.
5530 * testsuite/libgomp.c++/pr66199-5.C: New test.
5531 * testsuite/libgomp.c++/pr66199-6.C: New test.
5532 * testsuite/libgomp.c++/pr66199-7.C: New test.
5533 * testsuite/libgomp.c++/pr66199-8.C: New test.
5534 * testsuite/libgomp.c++/pr66199-9.C: New test.
5535 * testsuite/libgomp.c++/reduction-11.C: New test.
5536 * testsuite/libgomp.c++/reduction-12.C: New test.
5537 * testsuite/libgomp.c++/target-13.C: New test.
5538 * testsuite/libgomp.c++/target-14.C: New test.
5539 * testsuite/libgomp.c++/target-15.C: New test.
5540 * testsuite/libgomp.c++/target-16.C: New test.
5541 * testsuite/libgomp.c++/target-17.C: New test.
5542 * testsuite/libgomp.c++/target-18.C: New test.
5543 * testsuite/libgomp.c++/target-19.C: New test.
5544
ccc8282b
NS
55452015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5546
5547 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5548 and reduction copy.
5549 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5550 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5551 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5552 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5553 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5554 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5555 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5556 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5557 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5558 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5559 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5560 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5561 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5562 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5563
5d6823a2
NS
55642015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5565
5566 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5567 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5568 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5569 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5570 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5571 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5572 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5573 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5574
5c06742f
NS
55752015-11-03 Nathan Sidwell <nathan@codesourcery.com>
5576
5577 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5578 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5579 (GOMP_OFFLOAD_openacc_parallel): Likewise.
5580 * oacc-host.c (host_openacc_exec): Likewise.
5581 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5582
4bf9e5a8
TS
55832015-11-03 Julian Brown <julian@codesourcery.com>
5584 Thomas Schwinge <thomas@codesourcery.com>
5585
5586 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5587 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5588 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5589 Likewise.
5590 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
5591 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
5592
55932015-11-03 James Norris <jnorris@codesourcery.com>
5594
5595 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
5596 file.
5597 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
5598 Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
5600 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
5601 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5602 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
5603 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5604
a0e701d8
NS
56052015-10-29 Nathan Sidwell <nathan@codesourcery.com>
5606
5607 * openacc.h (enum acc_device_t): Reformat. Ensure layout
5608 compatibility.
5609 (enum acc_async_t): Reformat.
5610 (acc_on_device): Declare compatible with builtin and provide C++
5611 wrapper.
5612 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
5613
41e977ac
TS
56142015-10-29 Thomas Schwinge <thomas@codesourcery.com>
5615 Cesar Philippidis <cesar@codesourcery.com>
5616
5617 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5618 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
5619 ... this. Add a description of the test at the top of the file.
5620 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
5621 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
5622 ... this. Add a description of the test at the top of the file.
5623
e3091406
NS
56242015-10-28 Nathan Sidwell <nathan@codesourcery.com>
5625
5626 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
5627 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
5628 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
5629 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
5630 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
5631 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
5632
a1c1908b
NS
56332015-10-27 Nathan Sidwell <nathan@codesourcery.com>
5634
5635 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
5636 dimensions.
5637
b3962a4a
TS
56382015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5639
5640 PR testsuite/68063
5641 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
5642
88bae6f4
TS
56432015-10-27 James Norris <jnorris@codesourcery.com>
5644
5645 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
5646 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
5647
8baa7864
TS
56482015-10-26 Thomas Schwinge <thomas@codesourcery.com>
5649
bdeb752c
TS
5650 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
5651 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5652
ecd4fd43
TS
5653 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
5654 acc_device_nvidia usage.
5655 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5656 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5657 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5658
aa8b7d30
TS
5659 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
5660 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
5661
7c8f138d
TS
5662 PR libgomp/66518
5663 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
5664
8baa7864
TS
5665 PR libgomp/65437
5666 PR libgomp/66518
5667 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
5668 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
5669
88ebcde5
TV
56702015-10-23 Tom de Vries <tom@codesourcery.com>
5671
5672 PR testsuite/68063
5673 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
5674
9ef83c04
NS
56752015-10-20 Nathan Sidwell <nathan@codesourcery.com>
5676
5677 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
5678 vector_length.
5679 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5680
3837c6d6
IV
56812015-10-14 Ilya Verbin <ilya.verbin@intel.com>
5682 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
5683
5684 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
5685 to 0 when mapnum is 0.
5686
ac8a1965
SH
56872015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
5688
5689 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
5690 Cast to int from int32_t.
5691
d9a6bd32
JJ
56922015-10-13 Jakub Jelinek <jakub@redhat.com>
5693 Aldy Hernandez <aldyh@redhat.com>
5694 Ilya Verbin <ilya.verbin@intel.com>
5695
5696 * config/linux/affinity.c (omp_get_place_num_procs,
5697 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5698 * config/linux/doacross.h: New file.
5699 * config/posix/affinity.c (omp_get_place_num_procs,
5700 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5701 * config/posix/doacross.h: New file.
5702 * env.c: Include gomp-constants.h.
5703 (struct gomp_task_icv): Rename run_sched_modifier to
5704 run_sched_chunk_size.
5705 (gomp_max_task_priority_var): New variable.
5706 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
5707 (handle_omp_display_env): Change _OPENMP value from 201307 to
5708 201511. Print OMP_MAX_TASK_PRIORITY.
5709 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
5710 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
5711 chunk_size and run_sched_modifier to run_sched_chunk_size.
5712 (omp_get_max_task_priority, omp_get_initial_device,
5713 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
5714 omp_get_partition_place_nums): New functions.
5715 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
5716 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5717 to chunk_size.
5718 (omp_get_num_places_, omp_get_place_num_procs_,
5719 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5720 omp_get_place_proc_ids_8_, omp_get_place_num_,
5721 omp_get_partition_num_places_, omp_get_partition_place_nums_,
5722 omp_get_partition_place_nums_8_, omp_get_initial_device_,
5723 omp_get_max_task_priority_): New functions.
5724 * libgomp_g.h (GOMP_loop_doacross_static_start,
5725 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5726 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5727 GOMP_loop_ull_doacross_dynamic_start,
5728 GOMP_loop_ull_doacross_guided_start,
5729 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5730 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5731 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5732 GOMP_target_data_41, GOMP_target_update_41,
5733 GOMP_target_enter_exit_data): New prototypes.
5734 (GOMP_task): Add prototype argument.
5735 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5736 (struct gomp_doacross_work_share): New type.
5737 (struct gomp_work_share): Add doacross field.
5738 (struct gomp_task_icv): Rename run_sched_modifier to
5739 run_sched_chunk_size.
5740 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5741 GOMP_TASK_UNDEFERRED. Add comments.
5742 (struct gomp_task_depend_entry): Add comments.
5743 (struct gomp_task): Likewise.
5744 (struct gomp_taskgroup): Likewise.
5745 (struct gomp_target_task): New type.
5746 (struct gomp_team): Add comment.
5747 (gomp_get_place_proc_ids_8, gomp_doacross_init,
5748 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5749 gomp_create_target_task, gomp_target_task_fn): New prototypes.
5750 (struct target_var_desc): New type.
5751 (struct target_mem_desc): Adjust comment. Use struct
5752 target_var_desc instead of splay_tree_key for list.
5753 (REFCOUNT_INFINITY): Define.
5754 (struct splay_tree_key_s): Remove copy_from field.
5755 (struct gomp_device_descr): Add dev2dev_func field.
5756 (enum gomp_map_vars_kind): New enum.
5757 (gomp_map_vars): Add one argument.
5758 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5759 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5760 omp_get_place_num_procs, omp_get_place_num_procs_,
5761 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5762 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5763 omp_get_place_num_, omp_get_partition_num_places,
5764 omp_get_partition_num_places_, omp_get_partition_place_nums,
5765 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5766 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5767 omp_target_free, omp_target_is_present, omp_target_memcpy,
5768 omp_target_memcpy_rect, omp_target_associate_ptr and
5769 omp_target_disassociate_ptr.
5770 (GOMP_4.0.2): Renamed to ...
5771 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
5772 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5773 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5774 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5775 GOMP_loop_doacross_static_start, GOMP_doacross_post,
5776 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5777 GOMP_loop_ull_doacross_guided_start,
5778 GOMP_loop_ull_doacross_runtime_start,
5779 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5780 GOMP_doacross_ull_wait.
5781 * libgomp.texi: Document omp_get_max_task_priority.
5782 Rename modifier argument to chunk_size for omp_set_schedule and
5783 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
5784 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5785 to run_sched_chunk_size renaming.
5786 (GOMP_loop_ordered_runtime_start): Likewise.
5787 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5788 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5789 GOMP_parallel_loop_runtime_start): New functions.
5790 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5791 to run_sched_chunk_size renaming.
5792 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5793 GOMP_loop_doacross_guided_start): New functions or aliases.
5794 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5795 run_sched_modifier to run_sched_chunk_size renaming.
5796 (GOMP_loop_ull_ordered_runtime_start): Likewise.
5797 (gomp_loop_ull_doacross_static_start,
5798 gomp_loop_ull_doacross_dynamic_start,
5799 gomp_loop_ull_doacross_guided_start,
5800 GOMP_loop_ull_doacross_runtime_start): New functions.
5801 (GOMP_loop_ull_doacross_static_start,
5802 GOMP_loop_ull_doacross_dynamic_start,
5803 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5804 * oacc-mem.c (acc_map_data, present_create_copy,
5805 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5806 to gomp_map_vars.
5807 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5808 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5809 instead of false to gomp_map_vars.
5810 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5811 * omp.h.in (omp_lock_hint_t): New type.
5812 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5813 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5814 omp_get_place_num, omp_get_partition_num_places,
5815 omp_get_partition_place_nums, omp_get_initial_device,
5816 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5817 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5818 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5819 prototypes.
5820 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5821 (omp_lock_hint_none, omp_lock_hint_uncontended,
5822 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5823 omp_lock_hint_speculative): New parameters.
5824 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5825 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5826 omp_get_place_num, omp_get_partition_num_places,
5827 omp_get_partition_place_nums, omp_get_initial_device,
5828 omp_get_max_task_priority): New interfaces.
5829 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5830 to chunk_size.
5831 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5832 (omp_lock_hint_none, omp_lock_hint_uncontended,
5833 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5834 omp_lock_hint_speculative): New parameters.
5835 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5836 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5837 omp_get_place_num, omp_get_partition_num_places,
5838 omp_get_partition_place_nums, omp_get_initial_device,
5839 omp_get_max_task_priority): New functions and subroutines.
5840 * ordered.c: Include stdarg.h and string.h.
5841 (MAX_COLLAPSED_BITS): Define.
5842 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5843 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5844 GOMP_doacross_ull_wait): New functions.
5845 * target.c: Include errno.h.
5846 (resolve_device): If device is not initialized, call
5847 gomp_init_device on it.
5848 (gomp_map_lookup): New function.
5849 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5850 Don't bump refcount if REFCOUNT_INFINITY. Handle
5851 GOMP_MAP_ALWAYS_TO_P.
5852 (get_kind): Rename is_openacc argument to short_mapkind.
5853 (gomp_map_pointer): Use gomp_map_lookup.
5854 (gomp_map_fields_existing): New function.
5855 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5856 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5857 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5858 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5859 Adjust for tgt->list changed type and copy_from living in there.
5860 (gomp_copy_from_async): Adjust for tgt->list changed type and
5861 copy_from living in there.
5862 (gomp_unmap_vars): Likewise.
5863 (gomp_update): Likewise. Rename is_openacc argument to
5864 short_mapkind. Don't fail if object is not mapped.
5865 (gomp_load_image_to_device): Initialize refcount to
5866 REFCOUNT_INFINITY.
5867 (gomp_target_fallback): New function.
5868 (gomp_get_target_fn_addr): Likewise.
5869 (GOMP_target): Adjust gomp_map_vars caller, use
5870 gomp_get_target_fn_addr and gomp_target_fallback.
5871 (GOMP_target_41): New function.
5872 (gomp_target_data_fallback): New function.
5873 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5874 (GOMP_target_data_41): New function.
5875 (GOMP_target_update): Adjust gomp_update caller.
5876 (GOMP_target_update_41): New function.
5877 (gomp_exit_data, GOMP_target_enter_exit_data,
5878 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5879 omp_target_is_present, omp_target_memcpy,
5880 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5881 omp_target_associate_ptr, omp_target_disassociate_ptr,
5882 gomp_load_plugin_for_device): New functions.
5883 * task.c: Include gomp-constants.h. Include taskloop.c
5884 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5885 (gomp_task_handle_depend): New function.
5886 (GOMP_task): Use it. Add priority argument. Use
5887 gomp-constant.h constants instead of hardcoded numbers.
5888 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5889 (gomp_create_target_task): New function.
5890 (verify_children_queue, verify_taskgroup_queue,
5891 verify_task_queue): New functions.
5892 (gomp_task_run_pre): Call verify_*_queue functions.
5893 If an upcoming tied task is about to leave the sibling or
5894 taskgroup queues in an invalid state, adjust appropriately.
5895 Remove taskgroup argument. Add comments.
5896 (gomp_task_run_post_handle_dependers): Add comments.
5897 (gomp_task_run_post_remove_parent): Likewise.
5898 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5899 (GOMP_taskwait): Likewise. Add comments.
5900 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5901 problem such that the first non parent_depends_on task does not
5902 end up at the end of the children queue.
5903 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5904 GOMP_TASK_UNDEFERRED.
5905 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5906 * taskloop.c: New file.
5907 * testsuite/lib/libgomp.exp
5908 (check_effective_target_offload_device_nonshared_as): New proc.
5909 * testsuite/libgomp.c/affinity-2.c: New test.
5910 * testsuite/libgomp.c/doacross-1.c: New test.
5911 * testsuite/libgomp.c/doacross-2.c: New test.
5912 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5913 Add map clause to target.
5914 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5915 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5916 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5917 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5918 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5919 Likewise.
5920 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5921 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5922 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5923 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5924 not defined. Use those where needed.
5925 * testsuite/libgomp.c/for-4.c: New test.
5926 * testsuite/libgomp.c/for-5.c: New test.
5927 * testsuite/libgomp.c/for-6.c: New test.
5928 * testsuite/libgomp.c/linear-1.c: New test.
5929 * testsuite/libgomp.c/ordered-4.c: New test.
5930 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5931 only allowed on the loop iterator.
5932 * testsuite/libgomp.c/pr66199-3.c: New test.
5933 * testsuite/libgomp.c/pr66199-4.c: New test.
5934 * testsuite/libgomp.c/reduction-7.c: New test.
5935 * testsuite/libgomp.c/reduction-8.c: New test.
5936 * testsuite/libgomp.c/reduction-9.c: New test.
5937 * testsuite/libgomp.c/reduction-10.c: New test.
5938 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5939 map(tofrom:s).
5940 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5941 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5942 * testsuite/libgomp.c/target-11.c: New test.
5943 * testsuite/libgomp.c/target-12.c: New test.
5944 * testsuite/libgomp.c/target-13.c: New test.
5945 * testsuite/libgomp.c/target-14.c: New test.
5946 * testsuite/libgomp.c/target-15.c: New test.
5947 * testsuite/libgomp.c/target-16.c: New test.
5948 * testsuite/libgomp.c/target-17.c: New test.
5949 * testsuite/libgomp.c/target-18.c: New test.
5950 * testsuite/libgomp.c/target-19.c: New test.
5951 * testsuite/libgomp.c/target-20.c: New test.
5952 * testsuite/libgomp.c/target-21.c: New test.
5953 * testsuite/libgomp.c/target-22.c: New test.
5954 * testsuite/libgomp.c/target-23.c: New test.
5955 * testsuite/libgomp.c/target-24.c: New test.
5956 * testsuite/libgomp.c/target-25.c: New test.
5957 * testsuite/libgomp.c/target-26.c: New test.
5958 * testsuite/libgomp.c/target-27.c: New test.
5959 * testsuite/libgomp.c/taskloop-1.c: New test.
5960 * testsuite/libgomp.c/taskloop-2.c: New test.
5961 * testsuite/libgomp.c/taskloop-3.c: New test.
5962 * testsuite/libgomp.c/taskloop-4.c: New test.
5963 * testsuite/libgomp.c++/ctor-13.C: New test.
5964 * testsuite/libgomp.c++/doacross-1.C: New test.
5965 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5966 Replace offload_device with offload_device_nonshared_as.
5967 * testsuite/libgomp.c++/for-12.C: New test.
5968 * testsuite/libgomp.c++/for-13.C: New test.
5969 * testsuite/libgomp.c++/for-14.C: New test.
5970 * testsuite/libgomp.c++/linear-1.C: New test.
5971 * testsuite/libgomp.c++/member-1.C: New test.
5972 * testsuite/libgomp.c++/member-2.C: New test.
5973 * testsuite/libgomp.c++/member-3.C: New test.
5974 * testsuite/libgomp.c++/member-4.C: New test.
5975 * testsuite/libgomp.c++/member-5.C: New test.
5976 * testsuite/libgomp.c++/ordered-1.C: New test.
5977 * testsuite/libgomp.c++/reduction-5.C: New test.
5978 * testsuite/libgomp.c++/reduction-6.C: New test.
5979 * testsuite/libgomp.c++/reduction-7.C: New test.
5980 * testsuite/libgomp.c++/reduction-8.C: New test.
5981 * testsuite/libgomp.c++/reduction-9.C: New test.
5982 * testsuite/libgomp.c++/reduction-10.C: New test.
5983 * testsuite/libgomp.c++/reference-1.C: New test.
5984 * testsuite/libgomp.c++/simd14.C: New test.
5985 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5986 * testsuite/libgomp.c++/target-5.C: New test.
5987 * testsuite/libgomp.c++/target-6.C: New test.
5988 * testsuite/libgomp.c++/target-7.C: New test.
5989 * testsuite/libgomp.c++/target-8.C: New test.
5990 * testsuite/libgomp.c++/target-9.C: New test.
5991 * testsuite/libgomp.c++/target-10.C: New test.
5992 * testsuite/libgomp.c++/target-11.C: New test.
5993 * testsuite/libgomp.c++/target-12.C: New test.
5994 * testsuite/libgomp.c++/taskloop-1.C: New test.
5995 * testsuite/libgomp.c++/taskloop-2.C: New test.
5996 * testsuite/libgomp.c++/taskloop-3.C: New test.
5997 * testsuite/libgomp.c++/taskloop-4.C: New test.
5998 * testsuite/libgomp.c++/taskloop-5.C: New test.
5999 * testsuite/libgomp.c++/taskloop-6.C: New test.
6000 * testsuite/libgomp.c++/taskloop-7.C: New test.
6001 * testsuite/libgomp.c++/taskloop-8.C: New test.
6002 * testsuite/libgomp.c++/taskloop-9.C: New test.
6003 * testsuite/libgomp.fortran/affinity1.f90: New test.
6004 * testsuite/libgomp.fortran/affinity2.f90: New test.
6005
1f600fea
TV
60062015-10-13 Tom de Vries <tom@codesourcery.com>
6007
6008 PR tree-optimization/67476
6009 * testsuite/libgomp.c/autopar-3.c: New test.
6010 * testsuite/libgomp.c/autopar-4.c: New test.
6011 * testsuite/libgomp.c/autopar-5.c: New test.
6012 * testsuite/libgomp.c/autopar-6.c: New test.
6013 * testsuite/libgomp.c/autopar-7.c: New test.
6014 * testsuite/libgomp.c/autopar-8.c: New test.
6015
058a654b
JN
60162015-10-12 James Norris <jnorris@codesourcery.com>
6017
6018 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6019 initializer.
6020
9e531d37
DM
60212015-10-09 David Malcolm <dmalcolm@redhat.com>
6022
6023 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6024 using load_gcc_lib.
6025
113020dc
TS
60262015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6027
6028 * oacc-ptx.h: Remove file, moving its content into...
6029 * config/nvptx/fortran.c: ... here...
6030 * config/nvptx/oacc-init.c: ..., here...
6031 * config/nvptx/oacc-parallel.c: ..., and here.
6032 * config/nvptx/openacc.f90: New file.
6033 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6034 (link_ptx): Don't link in predefined bits of PTX code.
6035
cc3cd79b
NS
60362015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6037 Bernd Schmidt <bernds@codesourcery.com>
6038
6039 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6040 (struct targ_ptx_obj): New.
6041 (nvptx_tdata): Move earlier, change data format.
6042 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6043 objects.
6044 (GOMP_OFFLOAD_load_image): Adjust.
6045
4e2a5450
TS
60462015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6047
6048 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6049 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6050 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6051 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6052 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6053 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6054 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6055 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6056 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6057 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6058 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6059 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6060 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6061 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6062 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6063 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6064 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6065 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6066 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6067 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6068 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6069 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6070 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6071 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6072 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6073 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6074 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6075 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6076 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6077 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6078 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6079 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6080 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6081 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6082 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6083 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6084 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6085 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6086 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6087 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6088 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6089 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6090 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6091 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6092 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6093 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6094 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6095 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6096 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6097 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6098 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6099 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6100 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6101 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6102 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6103 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6104 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6105 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6106 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6107 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6108 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6109 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6110 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6111
164453bb
NS
61122015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6113
6114 * oacc-init.c (acc_on_device): Force optimization level.
6115
a12a0437
NS
61162015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6117
6118 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6119 (cuda_errlist): Delete.
6120 (cuda_error): Reimplement.
6121
3e32ee19
NS
61222015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6123
6124 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6125 array.
6126 * libgomp.map (GOACC_parallel_keyed): New.
6127 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6128 all callers.
6129 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6130 and take keyed varargs list. Adjust call to exec_func.
6131 (GOACC_parallel): Force host fallback.
6132 * libgomp_g.h (GOACC_parallel): Remove.
6133 (GOACC_parallel_keyed): Declare.
6134 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
6135 (stuct targ_gn_descriptor): Replace name field with launch field.
6136 (nvptx_exec): Lose separate geometry args, take array. Process
6137 dynamic dimensions and adjust.
6138 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6139 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6140 data.
6141 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6142 passing.
6143 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6144 passing.
6145
6bb4c3e2
CLT
61462015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6147
6148 PR libgomp/67141
6149 * oacc-int.h (goacc_host_init): Add declaration.
6150 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6151 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6152
74032f47 61532015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 6154 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
6155
6156 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
6157 match o/p.
6158 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6159 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6160 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6161 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6162 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6163
97875f4a
JJ
61642015-09-03 Jakub Jelinek <jakub@redhat.com>
6165
6166 * configure.tgt: Add missing ;; in between nvptx and rtems
6167 snippets.
6168
06441dd5
SH
61692015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6170
6171 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6172 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6173 (gomp_thread_pool_reservoir): Add priority member.
6174 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6175 priority.
6176 (parse_thread_pools): Likewise.
6177 * team.c (gomp_team_start): Call configuration provided
6178 gomp_adjust_thread_attr(). Destroy thread attributes if
6179 necessary.
6180 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6181
66c59f92
SH
61822015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6183
6184 * config/posix/pool.h: New.
6185 * config/rtems/pool.h: Likewise.
6186 * config/rtems/proc.c: Likewise.
6187 * libgomp.h (gomp_thread_destructor): Declare.
6188 * team.c: Include configuration provided "pool.h".
6189 (gomp_get_thread_pool): Define in configuration.
6190 (gomp_team_end): Call configuration defined
6191 gomp_release_thread_pool().
6192
13c41b2e
SH
61932015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6194
6195 * config/rtems/bar.c: New.
6196 * config/rtems/bar.h: Likewise.
6197 * config/rtems/mutex.c: Likewise.
6198 * config/rtems/mutex.h: Likewise.
6199 * config/rtems/sem.c: Likewise.
6200 * config/rtems/sem.h: Likewise.
6201 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6202 <sys/lock.h> header file.
6203 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6204 supported by Newlib.
6205 * configure: Regenerate.
6206
7892ec67
SH
62072015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6208
6209 * team.c (gomp_new_thread_pool): Delete and move content to ...
6210 (gomp_get_thread_pool): ... new function. Allocate and
6211 initialize thread pool on demand.
6212 (get_last_team): Use gomp_get_thread_pool().
6213 (gomp_team_start): Delete thread pool initialization.
6214
1b96e9a4
TV
62152015-09-03 Tom de Vries <tom@codesourcery.com>
6216
6217 PR tree-optimization/65637
6218 * testsuite/libgomp.c/autopar-2.c: New test.
6219
3ff2d74e
TV
62202015-08-29 Tom de Vries <tom@codesourcery.com>
6221
6222 PR tree-optimization/46193
6223 * testsuite/libgomp.c/pr46193.c: New test.
6224
2a21ff19
NS
62252015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6226
6227 libgomp/
6228 * libgomp.map: Add 4.0.2 version.
6229 * target.c (offload_image_descr): Add version field.
6230 (gomp_load_image_to_device): Add version argument. Adjust plugin
6231 call. Improve load mismatch diagnostic.
6232 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6233 call.
6234 (GOMP_offload_regster): Make stub function, move bulk to ...
6235 (GOMP_offload_register_ver): ... here. Process version argument.
6236 (GOMP_offload_unregister): Make stub function, move bulk to ...
6237 (GOMP_offload_unregister_ver): ... here. Process version argument.
6238 (gomp_init_device): Process version field.
6239 (gomp_unload_device): Process version field.
6240 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6241 macros. Check plugin version.
6242 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6243 loader and unloader types.
6244 * oacc-host.c: Include gomp-constants.h.
6245 (host_version): New.
6246 (host_load_image, host_unload_image): Adjust.
6247 (host_dispatch): Add host_version.
6248 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6249 (GOMP_OFFLOAD_version): New.
6250 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6251 (GOMP_OFFLOAD_unload_image): Likewise.
6252 * plugin/plugin-host.c: Include gomp-constants.h.
6253 (GOMP_OFFLOAD_version): New.
6254 (GOMP_OFFLOAD_load_image): Add version arg.
6255 (GOMP_OFFLOAD_unload_image): Likewise.
6256
1358a747
TV
62572015-08-24 Tom de Vries <tom@codesourcery.com>
6258
6259 PR tree-optimization/65468
6260 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6261
6be5c241
TV
62622015-08-24 Tom de Vries <tom@codesourcery.com>
6263
6264 PR tree-optimization/65468
6265 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6266
bfe7ac89
JV
62672015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6268
6269 PR libgomp/66761
6270 PR libgomp/67303
6271 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6272 (gomp_iter_guided_next): Idem.
6273 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6274 (gomp_iter_ull_guided_next): Idem.
6275 * config/linux/wait.h (do_spin): Idem.
6276
b97e78b7
TS
62772015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6278
6279 * libgomp-plugin.h (enum offload_target_type): Remove
6280 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6281 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6282 * openacc.h (enum acc_device_t): Likewise.
6283 * openacc_lib.h: Likewise.
6284 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6285 (acc_on_device): Just use __builtin_acc_on_device.
6286 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6287 of acc_on_device builtin.
6288 * plugin/plugin-host.h: Remove file.
6289 * plugin/plugin-host.c: Likewise, but salvage some content into...
6290 * oacc-host.c: ... this file.
6291 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6292 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6293 * Makefile.in: Regenerate.
6294 * configure: Likewise.
6295 * testsuite/lib/libgomp.exp
6296 (check_effective_target_openacc_host_nonshm_selected): Remove.
6297 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6298 ACC_DEVICE_TYPE=host_nonshm.
6299 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6300 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6301 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6302 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6303 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6304 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6305
44a7d18d
TS
63062015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6307 Jakub Jelinek <jakub@redhat.com>
6308
6309 * config/nvptx/affinity.c: New file.
6310 * config/nvptx/alloc.c: Likewise.
6311 * config/nvptx/bar.c: Likewise.
6312 * config/nvptx/barrier.c: Likewise.
6313 * config/nvptx/critical.c: Likewise.
6314 * config/nvptx/env.c: Likewise.
6315 * config/nvptx/error.c: Likewise.
6316 * config/nvptx/fortran.c: Likewise.
6317 * config/nvptx/iter.c: Likewise.
6318 * config/nvptx/iter_ull.c: Likewise.
6319 * config/nvptx/libgomp-plugin.c: Likewise.
6320 * config/nvptx/lock.c: Likewise.
6321 * config/nvptx/loop.c: Likewise.
6322 * config/nvptx/loop_ull.c: Likewise.
6323 * config/nvptx/mutex.c: Likewise.
6324 * config/nvptx/oacc-async.c: Likewise.
6325 * config/nvptx/oacc-cuda.c: Likewise.
6326 * config/nvptx/oacc-host.c: Likewise.
6327 * config/nvptx/oacc-init.c: Likewise.
6328 * config/nvptx/oacc-mem.c: Likewise.
6329 * config/nvptx/oacc-parallel.c: Likewise.
6330 * config/nvptx/oacc-plugin.c: Likewise.
6331 * config/nvptx/omp-lock.h: Likewise.
6332 * config/nvptx/ordered.c: Likewise.
6333 * config/nvptx/parallel.c: Likewise.
6334 * config/nvptx/proc.c: Likewise.
6335 * config/nvptx/ptrlock.c: Likewise.
6336 * config/nvptx/sections.c: Likewise.
6337 * config/nvptx/sem.c: Likewise.
6338 * config/nvptx/single.c: Likewise.
6339 * config/nvptx/splay-tree.c: Likewise.
6340 * config/nvptx/target.c: Likewise.
6341 * config/nvptx/task.c: Likewise.
6342 * config/nvptx/team.c: Likewise.
6343 * config/nvptx/time.c: Likewise.
6344 * config/nvptx/work.c: Likewise.
6345 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6346 * configure: Regenerate.
6347 * configure.tgt (config_path): Set to "nvptx" for target
6348 nvptx*-*-*.
6349
96a2d174
TS
63502015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6351
6352 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6353
9ebddeb0
NS
63542015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6355
6356 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6357 (cuda_errlist): Constify.
6358 (errmsg): Move into ...
6359 (cuda_error): ... here. Make smaller.
6360 (_XSTR, _STR): Delete.
6361 (cuda_synames): Delete.
6362 (verify_device_library): Delete.
6363 (nvptx_init): Don't call it.
6364
12efb1d7
TV
63652015-07-28 Tom de Vries <tom@codesourcery.com>
6366
6367 * testsuite/libgomp.c/uns-outer-4.c: New test.
6368
710ee218
CP
63692015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6370
6371 * testsuite/libgomp.c/pr66714.c: New test.
6372
27c4ac7d
MB
63732015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
6374
6375 PR libgomp/66950
6376 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6377 (fib_ref): New function.
6378 (fib): Correct corner cases in the recursion.
6379 (main): Replace the non-simd loop with fib_ref call.
6380 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6381 subroutine.
6382 (fibonacci): Lower the parameter N to 30. Correct accordingly check
6383 for the last array element value. Replace the non-simd loop with
6384 fib_ref call. Remove redundant b_ref array. Remove the comparison
6385 of the last array element with according Fibonacci sequence element.
6386 (fib): Correct corner cases in the recursion.
6387
22be2349
NS
63882015-07-21 Nathan Sidwell <nathan@codesourcery.com>
6389
6390 * target.c (gomp_offload_image_to_device): Rename to ...
6391 (gomp_load_image_to_device): ... here.
6392 (GOMP_offload_register): Adjust call.
6393 (gomp_init_device): Likewise.
6394 (gomp_unload_image_from_device): New. Broken out of ...
6395 (GOMP_offload_unregister): ... here. Call it.
6396 (gomp_unload_device): New.
6397 * libgomp.h (gomp_unload_device): Declare.
6398 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6399 mem maps.
6400
f3e9a059
NS
64012015-07-20 Nathan Sidwell <nathan@codesourcery.com>
6402
a091118d
NS
6403 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6404 wait=-specific if.
6405 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6406 !=0 condition.
6407 (goacc_waits): Move !num_waits handling to ...
6408 (GOACC_wait): ... here, the only caller that might have zero waits.
6409
f3e9a059
NS
6410 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6411 (struct ptx_image_data): Move earlier, add fns field.
6412 (struct ptx_device): Add images and image_lock fields.
6413 (ptx_images, ptx_image_lock): Delete.
6414 (nvptx_open_device): Initialize images and image_lock fields.
6415 (nvptx_close_device): Destroy image_lock.
6416 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6417 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6418 fields.
6419
afb2d80b
NS
64202015-07-17 Nathan Sidwell <nathan@codesourcery.com>
6421
896c28a7
NS
6422 * target.c (GOMP_offload_register): Use int for device type arg.
6423 (GOMP_offload_unregister): Likewise.
6424
ebe4a560
NS
6425 * target.c (struct_offload_image_descr): Constify host_table.
6426 (gomp_offload_image_to_device): Likewise.
6427 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6428
afb2d80b
NS
6429 * libgomp.h (gomp_device_descr): Constify target data arguments.
6430 * target.c (struct offload_image_descr): Constify target_data.
6431 (gomp_offload_image_to_device): Likewise.
6432 (GOMP_offload_register): Likewise.
6433 (GOMP_offload_unrefister): Likewise.
6434 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6435 GOMP_OFFLOAD_unload_image): Constify target data.
6436 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6437 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6438
a4cb876d
NS
64392015-07-16 Nathan Sidwell <nathan@codesourcery.com>
6440
6441 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6442 Workaround driver library const error.
6443 (struct nvptx_tdata, nvptx_tdata_t): New.
6444 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6445 type.
6446
28ef6a27
MB
64472015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
6448
6449 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6450 of EPS parameter from integer to real.
6451 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6452 type of EPS parameter from integer to real.
6453
6dba0113
SH
64542015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6455
6456 * team.c (get_last_team): New.
6457 (gomp_new_team): Recycle last non-nested team if possible.
6458 (gomp_team_end): Move team work share list free lock destruction
6459 to ...
6460 (free_team): ... here.
6461
4c1cb4da
MB
64622015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
6463
6464 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6465 and ref from int to double. Replaced their comparison with
6466 an inequality of their difference and EPS.
6467 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6468 comparison of pri and a reference number with an inequality of their
6469 difference and EPS.
6470 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6471 the comparison of sum and sum_ref with an inequality of their
6472 difference and EPS.
6473 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6474 the comparison of pri and a reference number with an inequality of
6475 their difference and EPS.
6476
343587dc
MB
64772015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
6478
6479 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6480 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6481 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6482 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6483 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6484 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6485 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6486 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6487 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6488 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6489 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6490 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6491 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6492 variables.
6493 (vec_mult): Likewise. Add #pragma omp taskwait.
6494 (main): Adjust caller.
6495 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6496 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6497 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6498 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6499 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6500 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6501 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6502 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6503 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6504 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6505 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6506 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6507 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6508 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6509 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6510 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6511 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6512 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6513 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6514 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6515 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6516 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6517 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6518 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6519 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6520 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6521 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6522 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6523 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6524 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6525 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6526 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6527 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6528 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6529 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6530 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6531 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6532 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6533 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6534 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6535 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6536 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6537 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6538 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6539 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6540 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6541 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6542 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6543 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6544 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6545 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6546 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6547 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6548 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6549 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6550 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6551 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6552 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6553 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6554 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6555 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6556 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6557 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6558 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6559 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6560 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6561 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6562 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6563 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6564 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6565 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6566 (vec_mult): Add !$omp taskwait.
6567 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6568 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6569 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6570 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6571 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6572 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6573 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6574 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6575 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6576 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6577 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6578 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6579 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6580 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6581 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6582 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6583 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6584 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6585 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6586 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6587 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6588 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6589 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
6590 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
6591 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
6592 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
6593 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
6594 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
6595 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
6596 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
6597 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
6598 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
6599 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
6600 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
6601 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
6602 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
6603 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
6604 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
6605 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
6606 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
6607 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
6608 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
6609 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
6610 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
6611 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
6612 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
6613 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
6614 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
6615 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
6616 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
6617 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
6618 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
6619 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
6620 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
6621 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
6622 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
6623 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
6624 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
6625 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
6626 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
6627 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
6628 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
6629 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
6630 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
6631 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
6632 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
6633 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
6634
9f620bf1
TV
66352015-07-10 Tom de Vries <tom@codesourcery.com>
6636
6637 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
6638 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
6639
a92defda
TS
66402015-07-08 Thomas Schwinge <thomas@codesourcery.com>
6641
6642 PR libgomp/65099
6643 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
6644 in a 64-bit configuration.
6645 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
6646 offloading testing if no such device is available.
6647 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6648 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6649
cadb53a5
TV
66502015-07-08 Tom de Vries <tom@codesourcery.com>
6651
6652 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
6653 second call to f.
6654 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6655
712cb0bb
TV
66562015-07-07 Tom de Vries <tom@codesourcery.com>
6657
6658 PR tree-optimization/66642
6659 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
6660 iteration count case.
6661 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
6662 function, factor out of ...
6663 (main): ... here. Test low iteration count case.
6664
e5210c77
SH
66652015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
6666
6667 * libgomp.h (gomp_thread_pool): Comment last_team field.
6668
f70360e7
UB
66692015-07-02 Uros Bizjak <ubizjak@gmail.com>
6670
6671 * testsuite/libgomp.c++/pr66702-1.C: Require
6672 vect_simd_clones effective target.
6673 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
6674
b451c271
TV
66752015-06-30 Tom de Vries <tom@codesourcery.com>
6676
6677 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6678 already set. Use DEFAULT_CFLAGS in dg-runtest.
6679 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
6680 "-O2".
6681
f8e89d9f
TV
66822015-06-30 Tom de Vries <tom@codesourcery.com>
6683
6684 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6685 already set. Use DEFAULT_CFLAGS in dg-runtest.
6686 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
6687 * testsuite/libgomp.c++/pr64824.C: Same.
6688 * testsuite/libgomp.c++/pr64868.C: Same.
6689 * testsuite/libgomp.c++/pr66199-1.C: Same.
6690 * testsuite/libgomp.c++/pr66199-2.C: Same.
6691 * testsuite/libgomp.c++/target-2.C: Same.
6692 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
6693 -std=<standard> option.
6694 * testsuite/libgomp.c++/udr-11.C: Same.
6695 * testsuite/libgomp.c++/udr-12.C: Same.
6696 * testsuite/libgomp.c++/udr-13.C: Same.
6697 * testsuite/libgomp.c++/udr-14.C: Same.
6698 * testsuite/libgomp.c++/udr-15.C: Same.
6699 * testsuite/libgomp.c++/udr-16.C: Same.
6700 * testsuite/libgomp.c++/udr-17.C: Same.
6701 * testsuite/libgomp.c++/udr-18.C: Same.
6702 * testsuite/libgomp.c++/udr-19.C: Same.
6703 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
6704 * testsuite/libgomp.c++/simd-1.C: Same.
6705 * testsuite/libgomp.c++/simd-2.C: Same.
6706 * testsuite/libgomp.c++/simd-3.C: Same.
6707 * testsuite/libgomp.c++/simd-4.C: Same.
6708 * testsuite/libgomp.c++/simd-5.C: Same.
6709 * testsuite/libgomp.c++/simd-6.C: Same.
6710 * testsuite/libgomp.c++/simd-7.C: Same.
6711 * testsuite/libgomp.c++/simd-8.C: Same.
6712 * testsuite/libgomp.c++/simd-9.C: Same.
6713 * testsuite/libgomp.c++/simd10.C: Same.
6714 * testsuite/libgomp.c++/simd11.C: Same.
6715 * testsuite/libgomp.c++/simd12.C: Same.
6716 * testsuite/libgomp.c++/simd13.C: Same.
6717
3446fe48
JJ
67182015-06-30 Jakub Jelinek <jakub@redhat.com>
6719
6720 PR middle-end/66702
6721 * testsuite/libgomp.c++/pr66702-1.C: New test.
6722 * testsuite/libgomp.c++/pr66702-2.C: New test.
6723
8a36714a
TV
67242015-06-30 Tom de Vries <tom@codesourcery.com>
6725
6726 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6727 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6728 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6729 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6730
4f75d608
TV
67312015-06-30 Tom de Vries <tom@codesourcery.com>
6732
6733 PR tree-optimization/66652
6734 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6735 using restrict pointers.
6736 (main): Add arguments to calls to f.
6737 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6738
6d9d1eeb
AT
67392015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
6740
6741 * configure.ac: Fix check for header <sys/sysctl.h>.
6742 * configure: Regenerate.
6743 * config.h.in: Likewise.
6744
1222f22b
TV
67452015-06-23 Tom de Vries <tom@codesourcery.com>
6746
6747 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6748 abort.
6749 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6750
d7efbbf6
TS
67512015-06-19 Thomas Schwinge <thomas@codesourcery.com>
6752
bfcd036f
TS
6753 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6754 acc_device_nvidia.
6755
d7efbbf6
TS
6756 PR libgomp/66518
6757 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6758 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6759
d7bfc710
TV
67602015-06-15 Tom de Vries <tom@codesourcery.com>
6761
6762 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
6763 dg-additional-options for any remaining options.
6764 * testsuite/libgomp.c/atomic-2.c: Same.
6765 * testsuite/libgomp.c/atomic-4.c: Same.
6766 * testsuite/libgomp.c/atomic-5.c: Same.
6767 * testsuite/libgomp.c/atomic-6.c: Same.
6768 * testsuite/libgomp.c/autopar-1.c: Same.
6769 * testsuite/libgomp.c/copyin-1.c: Same.
6770 * testsuite/libgomp.c/copyin-2.c: Same.
6771 * testsuite/libgomp.c/copyin-3.c: Same.
6772 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6773 * testsuite/libgomp.c/nestedfn-5.c: Same.
6774 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6775 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6776 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6777 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6778 * testsuite/libgomp.c/pr32362-1.c: Same.
6779 * testsuite/libgomp.c/pr32362-2.c: Same.
6780 * testsuite/libgomp.c/pr32362-3.c: Same.
6781 * testsuite/libgomp.c/pr39591-1.c: Same.
6782 * testsuite/libgomp.c/pr39591-2.c: Same.
6783 * testsuite/libgomp.c/pr39591-3.c: Same.
6784 * testsuite/libgomp.c/pr58392.c: Same.
6785 * testsuite/libgomp.c/pr58756.c: Same.
6786 * testsuite/libgomp.c/simd-1.c: Same.
6787 * testsuite/libgomp.c/simd-10.c: Same.
6788 * testsuite/libgomp.c/simd-11.c: Same.
6789 * testsuite/libgomp.c/simd-12.c: Same.
6790 * testsuite/libgomp.c/simd-13.c: Same.
6791 * testsuite/libgomp.c/simd-14.c: Same.
6792 * testsuite/libgomp.c/simd-15.c: Same.
6793 * testsuite/libgomp.c/simd-2.c: Same.
6794 * testsuite/libgomp.c/simd-3.c: Same.
6795 * testsuite/libgomp.c/simd-4.c: Same.
6796 * testsuite/libgomp.c/simd-5.c: Same.
6797 * testsuite/libgomp.c/simd-6.c: Same.
6798 * testsuite/libgomp.c/simd-7.c: Same.
6799 * testsuite/libgomp.c/simd-8.c: Same.
6800 * testsuite/libgomp.c/simd-9.c: Same.
6801
fb5b5352
TV
68022015-06-15 Tom de Vries <tom@codesourcery.com>
6803
6804 * testsuite/libgomp.c/pr35625.c: Fix typo.
6805
ca431bef
TV
68062015-06-15 Tom de Vries <tom@codesourcery.com>
6807
6808 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6809 in dg-options.
6810 * testsuite/libgomp.c/atomic-3.c: Same.
6811 * testsuite/libgomp.c/debug-1.c: Same.
6812 * testsuite/libgomp.c/nqueens-1.c: Same.
6813 * testsuite/libgomp.c/pr26171.c: Same.
6814 * testsuite/libgomp.c/pr48591.c: Same.
6815 * testsuite/libgomp.c/pr64824.c: Same.
6816 * testsuite/libgomp.c/pr64868.c: Same.
6817 * testsuite/libgomp.c/pr66133.c: Same.
6818 * testsuite/libgomp.c/pr66199-1.c: Same.
6819 * testsuite/libgomp.c/pr66199-2.c: Same.
6820 * testsuite/libgomp.c/target-8.c: Same.
6821
0d8a9e20
TV
68222015-06-15 Tom de Vries <tom@codesourcery.com>
6823
6824 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6825 -std={gnu99,c99}.
6826 * testsuite/libgomp.c/for-1.c: Same.
6827 * testsuite/libgomp.c/for-2.c: Same.
6828 * testsuite/libgomp.c/for-3.c: Same.
6829 * testsuite/libgomp.c/pr35625.c: Same.
6830 * testsuite/libgomp.c/pr39154.c: Same.
6831 * testsuite/libgomp.c/simd-16.c: Same.
6832 * testsuite/libgomp.c/simd-17.c: Same.
6833
a6860be9
TV
68342015-06-13 Tom de Vries <tom@codesourcery.com>
6835
6836 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6837
ab3306d2
TV
68382015-06-13 Tom de Vries <tom@codesourcery.com>
6839
6840 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6841 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6842 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6843 (N): Define.
6844 (main): Use N instead of hardcoded constants.
6845
7c82d827
TV
68462015-06-05 Tom de Vries <tom@codesourcery.com>
6847
6848 merge from gomp4 branch:
6849 2015-05-28 Tom de Vries <tom@codesourcery.com>
6850
6851 PR tree-optimization/65443
6852 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6853 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6854 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6855
c469078d
BRF
68562015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6857
6858 * testsuite/libgomp.graphite/bounds.c: Adjust for
6859 cleanup-tree-dump removal.
6860 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6861 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6862 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6863 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6864 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6865 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6866 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6867 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6868 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6869 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6870
bb3caa35
UB
68712015-05-28 Uros Bizjak <ubizjak@gmail.com>
6872
6873 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6874 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6875 (futex_wake) [!__x86_64__]: Ditto.
6876
9fb5fd44
JB
68772015-05-28 Julian Brown <julian@codesourcery.com>
6878
6879 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6880 function comment. Only call gomp_fatal if new argument is true.
6881 (acc_dev_num_out_of_range): New function.
6882 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6883 acc_dev_num_out_of_range as appropriate.
6884 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6885 (acc_get_device_num, acc_set_device_num): Update calls to
6886 resolve_device.
9fb5fd44
JB
6887 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6888 output.
6889
32eaed93
JB
68902015-05-28 Julian Brown <julian@codesourcery.com>
6891
6892 PR libgomp/65742
32eaed93
JB
6893 * oacc-init.c (plugin/plugin-host.h): Include.
6894 (acc_on_device): Check whether we're in an offloaded region for
6895 host_nonshm
6896 plugin. Don't use __builtin_acc_on_device.
6897 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6898 nonshm_exec flag in thread-local data.
6899 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6900 data for host_nonshm plugin.
6901 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6902 for host_nonshm plugin.
6903 * plugin/plugin-host.h: New.
6904
ea023bcf
UB
69052015-05-27 Uros Bizjak <ubizjak@gmail.com>
6906
8ed501f1
UB
6907 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6908
69092015-05-27 Uros Bizjak <ubizjak@gmail.com>
6910
6911 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6912 Declare as int.
6913 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6914 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6915 Declare as int.
6916
69172015-05-27 Uros Bizjak <ubizjak@gmail.com>
6918
bb3caa35 6919 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6920
1716efeb
CLT
69212015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6922
6923 * target.c (gomp_map_pointer): New function abstracting out
6924 GOMP_MAP_POINTER handling.
6925 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6926 gomp_map_pointer().
6927
41b37d5e
JJ
69282015-05-19 Jakub Jelinek <jakub@redhat.com>
6929
6930 PR middle-end/66199
6931 * testsuite/libgomp.c/pr66199-1.c: New test.
6932 * testsuite/libgomp.c/pr66199-2.c: New test.
6933 * testsuite/libgomp.c++/pr66199-1.C: New test.
6934 * testsuite/libgomp.c++/pr66199-2.C: New test.
6935 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6936 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6937
c8319826
JB
69382015-05-19 Julian Brown <julian@codesourcery.com>
6939
6940 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6941 on cuInit failure.
6942
b37dddbc
JJ
69432015-05-13 Jakub Jelinek <jakub@redhat.com>
6944
6945 PR middle-end/66133
6946 * testsuite/libgomp.c/pr66133.c: New test.
6947
55fba601
MH
69482015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6949
6950 * Makefile.in: Regenerated with automake-1.11.6.
6951 * aclocal.m4: Likewise.
6952 * config.h.in: Likewise.
6953 * configure: Likewise.
6954 * testsuite/Makefile.in: Likewise.
6955
1be0899d
JM
69562015-05-08 Jason Merrill <jason@redhat.com>
6957
6958 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6959 _Complex.
6960
6961 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6962
d2463960
JB
69632015-05-06 Julian Brown <julian@codesourcery.com>
6964
6965 * oacc-init.c (acc_device_lock): Add explanatory comment.
6966 (resolve_device): Add comment about locking requirement.
6967 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6968 gomp_init_device and gomp_fini_device calls.
6969 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6970 (acc_get_device_num, acc_set_device_num): Add locking around
6971 resolve_device and gomp_init_device calls.
6972
e38fdba4
JB
69732015-05-06 Julian Brown <julian@codesourcery.com>
6974
6975 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6976 goacc_thread_lock on error paths.
6977 * oacc-mem.c (lookup_host): Remove locking from function. Note
6978 locking requirement for caller in function comment.
6979 (lookup_dev): Likewise.
6980 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6981 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6982 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6983 Add locking.
6984
ae8ffbbb
TS
69852015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6986
6987 PR testsuite/65205
6988 PR libgomp/65993
6989 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6990 don't expect "0x" prefix for "%p" format specifier, don't expect
6991 "(nil)" for NULL pointer.
6992 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6993 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6994 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6995 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6996 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6997 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6998 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6999 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7000 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7001 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7002 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7003 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7004 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7005 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7006 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7007 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7008 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7009 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7010 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7011 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7012 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7013 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7014 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7015 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7016 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7017 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7018 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7019 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7020 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7021 accurately specify what we're looking for.
7022 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7023 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7024 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7025 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7026 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7027
1309f1d2
JN
70282015-04-30 James Norris <jnorris@codesourcery.com>
7029
7030 PR testsuite/65205
7031 * testsuite/lib/libgomp.exp
7032 (check_effective_target_openacc_host_selected)
7033 (check_effective_target_openacc_host_nonshm_selected): New
7034 procedures.
7035 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7036 dg-shouldfail.
7037 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7038 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7039 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7040 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7041 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7042 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7043 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7044 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7045 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7046 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7047 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7048 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7049 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7050 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7051 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7052 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7053 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7054 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7055 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7056 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7057 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7058 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7059 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7060 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7061 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7062 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7063 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7064 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7065 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7066 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7067 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7068 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7069 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7070 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7071 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7072 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7073 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7074 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7075 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7076 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7077 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7078 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7079 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7080
d93bdab5
JB
70812015-04-08 Julian Brown <julian@codesourcery.com>
7082
7083 * libgomp.h (target_mem_desc: Remove mem_map field.
7084 (acc_dispatch_t): Remove open_device_func, close_device_func,
7085 get_device_num_func, set_device_num_func, target_data members.
7086 Change create_thread_data_func argument to device number instead of
7087 generic pointer.
7088 * oacc-async.c (assert.h): Include.
7089 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7090 (acc_wait_all, acc_wait_all_async): Use current host thread's
7091 active device, not base_dev.
7092 * oacc-cuda.c (acc_get_current_cuda_device)
7093 (acc_get_current_cuda_context, acc_get_cuda_stream)
7094 (acc_set_cuda_stream): Likewise.
7095 * oacc-host.c (host_dispatch): Don't set open_device_func,
7096 close_device_func, get_device_num_func or set_device_num_func.
7097 * oacc-init.c (base_dev, init_key): Remove.
7098 (cached_base_dev): New.
7099 (name_of_acc_device_t): New.
7100 (acc_init_1): Initialise default-numbered device, not zeroth.
7101 (acc_shutdown_1): Close all devices of a given type.
7102 (goacc_destroy_thread): Don't use base_dev.
7103 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7104 (goacc_attach_host_thread_to_device): New.
7105 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7106 (acc_get_num_devices): Don't use base_dev.
7107 (acc_set_device_type): Reimplement.
7108 (acc_get_device_type): Don't use base_dev.
7109 (acc_get_device_num): Tweak logic.
7110 (acc_set_device_num): Likewise.
7111 (acc_on_device): Use acc_get_device_type.
7112 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7113 (goacc_lazy_initialize): Reimplement with acc_init and
7114 goacc_attach_host_thread_to_device.
7115 * oacc-int.h (goacc_thread): Add base_dev field.
7116 (base_dev): Remove extern declaration.
7117 (goacc_attach_host_thread_to_device): Add prototype.
7118 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7119 base_dev.
7120 (acc_free): Likewise.
7121 (acc_memcpy_to_device): Likewise.
7122 (acc_memcpy_from_device): Likewise.
7123 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7124 goacc_lazy_initialize (throughout).
7125 (GOACC_parallel): Use tgt_offset to locate target functions.
7126 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7127 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7128 (gomp_load_plugin_for_device): Remove open_device, close_device,
7129 get_device_num, set_device_num openacc hook initialisation. Don't set
7130 openacc.target_data.
7131 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7132 (GOMP_OFFLOAD_openacc_close_device)
7133 (GOMP_OFFLOAD_openacc_get_device_num)
7134 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7135 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7136 to int.
7137 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7138 (instantiated_devices, ptx_dev_lock): New.
7139 (struct ptx_image_data): New.
7140 (ptx_devices, ptx_images, ptx_image_lock): New.
7141 (fini_streams_for_device): Reorder cuStreamDestroy call.
7142 (nvptx_get_num_devices): Remove forward declaration.
7143 (nvptx_init): Change return type to bool.
7144 (nvptx_fini): Remove.
7145 (nvptx_attach_host_thread_to_device): New.
7146 (nvptx_open_device): Return struct ptx_device* instead of void*.
7147 (nvptx_close_device): Change argument type to struct ptx_device*,
7148 return type to void.
7149 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7150 (kernel_target_data, kernel_host_table): Remove static globals.
7151 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7152 (GOMP_OFFLOAD_init_device): Reimplement.
7153 (GOMP_OFFLOAD_fini_device): Likewise.
7154 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7155 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7156 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7157 (GOMP_OFFLOAD_openacc_open_device)
7158 (GOMP_OFFLOAD_openacc_close_device)
7159 (GOMP_OFFLOAD_openacc_set_device_num)
7160 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7161 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7162 (device number).
7163
7164 testsuite/
7165 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7166
a51df54e
IV
71672015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7168
7169 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7170 * libgomp.h (struct gomp_memory_mapping): Remove.
7171 (struct target_mem_desc): Change type of mem_map from
7172 gomp_memory_mapping * to splay_tree_s *.
7173 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7174 Add load_image_func, unload_image_func.
7175 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7176 Remove offload_regions_registered.
7177 (gomp_init_tables): Remove.
7178 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7179 to splay_tree_s *.
7180 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7181 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7182 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7183 offload_regions_registered.
7184 Initialize load_image_func, unload_image_func, mem_map.root.
7185 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7186 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7187 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7188 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7189 gomp_memory_mapping *. Use dev's lock and splay_tree.
7190 (lookup_dev): Use dev's lock.
7191 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7192 (acc_is_present): Likewise.
7193 (acc_map_data): Likewise.
7194 (acc_unmap_data): Likewise. Use dev's lock.
7195 (present_create_copy): Likewise.
7196 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7197 (update_dev_host): Likewise.
7198 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7199 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7200 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7201 (GOMP_OFFLOAD_get_table): Remove
7202 (GOMP_OFFLOAD_load_image): New function.
7203 (GOMP_OFFLOAD_unload_image): New function.
7204 * target.c (register_lock): New mutex for offload image registration.
7205 (num_devices): Do not guard with PLUGIN_SUPPORT.
7206 (gomp_realloc_unlock): New static function.
7207 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7208 before gomp_fatal.
7209 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7210 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7211 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7212 mem_map's.
7213 (gomp_unmap_vars): Likewise.
7214 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7215 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7216 (gomp_offload_image_to_device): New static function.
7217 (GOMP_offload_register): Add mutex lock.
7218 Call gomp_offload_image_to_device for all initialized devices.
7219 Replace gomp_realloc with gomp_realloc_unlock.
7220 (GOMP_offload_unregister): New function.
7221 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7222 get_table_func from the plugin with calls to init_device_func and
7223 gomp_offload_image_to_device.
7224 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7225 to splay_tree_s *.
7226 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7227 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7228 (GOMP_target_data): Do not call gomp_init_tables.
7229 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7230 (gomp_load_plugin_for_device): Replace register_image and get_table
7231 with load_image and unload_image in DLSYM ().
7232 (gomp_register_images_for_device): Remove function.
7233 (gomp_target_init): Do not initialize current_device.mem_map.*,
7234 current_device.offload_regions_registered.
7235 Remove call to gomp_register_images_for_device.
7236 Do not free offload_images and num_offload_images.
7237
6c384511
JJ
72382015-03-30 Jakub Jelinek <jakub@redhat.com>
7239
7240 PR fortran/65597
7241 * testsuite/libgomp.fortran/pr65597.f90: New test.
7242
3e8165a5
TV
72432015-03-27 Tom de Vries <tom@codesourcery.com>
7244
7245 PR testsuite/65594
7246 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7247 (init, check): New function.
7248 (foo): Change return type to void.
7249 (main): Call init and check.
7250
4d688c9a
TV
72512015-03-27 Tom de Vries <tom@codesourcery.com>
7252
7253 PR testsuite/65594
7254 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7255 (foo): Use M for non-inner loops to scale down test-case.
7256
01c0b3b0
KT
72572015-03-25 Kai Tietz <ktietz@redhat.com>
7258
7259 PR libgomp/64972
7260 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7261 (GOACC_data_start): Likewise.
7262 * target.c (gomp_map_vars): Likewise.
7263
844d9a76
JDA
72642015-03-21 John David Anglin <danglin@gcc.gnu.org>
7265
7266 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7267 hppa*-*-hpux*.
7268
9b65e171
JJ
72692015-03-19 Jakub Jelinek <jakub@redhat.com>
7270
7271 * testsuite/libgomp.c/target-10.c: New test.
7272 * testsuite/libgomp.c++/target-4.C: New test.
7273
db397e2e
IV
72742015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7275
7276 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7277 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7278
cd93945d
SH
72792015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7280
7281 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7282 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7283 (pthread.h): Check for this header file.
7284 * configure: Regenerate.
7285
05deba9f
TV
72862015-02-25 Tom de Vries <tom@codesourcery.com>
7287
7288 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7289 (check_reduction_op, check_reduction_macro, max, min):
7290 Declare.
7291 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7292 function.
7293 (main): Use new functions.
7294
196904d8
IT
72952015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7296
7297 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7298 char * for variables holding dlerror return values.
7299 (DLSYM_OPT): Ditto.
7300
a2818955
TS
73012015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7302
7303 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7304
26f93312
TS
73052015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7306 Cesar Philippidis <cesar@codesourcery.com>
7307
7308 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7309 GOACC_ctaid, and GOACC_nctaid routines.
7310
fa01ffcc
JJ
73112015-02-11 Jakub Jelinek <jakub@redhat.com>
7312
7313 PR c/64824
7314 * testsuite/libgomp.c/atomic-18.c: New test.
7315 * testsuite/libgomp.c++/atomic-16.C: New test.
7316
4886ec8e
JJ
73172015-02-04 Jakub Jelinek <jakub@redhat.com>
7318
7319 PR c/64824
7320 PR c/64868
7321 * testsuite/libgomp.c/pr64824.c: New test.
7322 * testsuite/libgomp.c/pr64868.c: New test.
7323 * testsuite/libgomp.c++/pr64824.C: New test.
7324 * testsuite/libgomp.c++/pr64868.C: New test.
7325
02d3e45e
DE
73262015-02-01 David Edelsohn <dje.gcc@gmail.com>
7327
7328 PR libgomp/64635
7329 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7330 Link with -lpthread.
7331 * config/aix/plugin-suffix.h: Delete.
7332
b5f7a6ca
JH
73332015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7334
7335 PR libgomp/64635
7336 * configure.tgt (*-*-aix*): Use config_path "aix posix".
7337 (*-*-darwin*): Use config_path "bsd darwin posix".
7338 (*-*-hpux*): Use config_path "hpux posix".
7339 * target.c: Add include of plugin-suffix.h and use
7340 SONAME_SUFFIX macro.
7341 * config/aix/plugin-suffix.h: New file.
7342 * config/darwin/plugin-suffix.h: New file.
7343 * config/hpux/plugin-suffix.h: New file.
7344 * config/posix/plugin-suffix.h: New file.
7345
b8910447
JJ
73462015-01-23 Jakub Jelinek <jakub@redhat.com>
7347
7348 PR middle-end/64734
7349 * libgomp.c/pr64734.c: New test.
7350
a0c88d06
TV
73512015-01-23 Tom de Vries <tom@codesourcery.com>
7352
7353 PR libgomp/64672
7354 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7355
1506ae0e
TV
73562015-01-23 Tom de Vries <tom@codesourcery.com>
7357
7358 PR libgomp/64707
7359 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7360 dg-options.
7361
128b26dc
TS
73622015-01-19 Thomas Schwinge <thomas@codesourcery.com>
7363
bed62c21 7364 PR libgomp/64625
128b26dc
TS
7365 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7366 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7367 formal parameter. Update all users.
7368 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7369 Document unused formal parameter.
7370
6e36114c
TS
73712015-01-16 Thomas Schwinge <thomas@codesourcery.com>
7372
7373 * oacc-parallel.c: Don't include <alloca.h>.
7374 (GOACC_parallel): Use gomp_alloca instead of alloca.
7375
973e9808
GP
73762015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
7377
7378 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7379
41dbbb37
TS
73802015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7381 James Norris <jnorris@codesourcery.com>
7382 Tom de Vries <tom@codesourcery.com>
7383 Julian Brown <julian@codesourcery.com>
7384 Cesar Philippidis <cesar@codesourcery.com>
7385 Nathan Sidwell <nathan@codesourcery.com>
7386 Tobias Burnus <burnus@net-b.de>
7387
7388 * Makefile.am (search_path): Add $(top_srcdir)/../include.
7389 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7390 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7391 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7392 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7393 Include $(top_srcdir)/plugin/Makefrag.am.
7394 (nodist_libsubinclude_HEADERS): Add openacc.h.
7395 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7396 openacc.f90, openacc.mod, openacc_kinds.mod.
7397 (omp_lib.mod): Generalize into...
7398 (%.mod): ... this new rule.
7399 (openacc_kinds.mod, openacc.mod): New rules.
7400 * plugin/configfrag.ac: New file.
7401 * configure.ac: Move plugin/offloading support into it. Include
7402 it. Instantiate testsuite/libgomp-test-support.pt.exp.
7403 * plugin/Makefrag.am: New file.
7404 * testsuite/Makefile.am (OFFLOAD_TARGETS)
7405 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7406 export.
7407 (libgomp-test-support.exp): New rule.
7408 (all-local): Depend on it.
7409 * Makefile.in: Regenerate.
7410 * testsuite/Makefile.in: Regenerate.
7411 * config.h.in: Likewise.
7412 * configure: Likewise.
7413 * configure.tgt: Harden shell syntax.
7414 * env.c: Include "oacc-int.h".
7415 (parse_acc_device_type): New function.
7416 (gomp_debug_var, goacc_device_type, goacc_device_num): New
7417 variables.
7418 (initialize_env): Initialize those. Call
7419 goacc_runtime_initialize.
7420 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7421 (gomp_fatal): Call gomp_vfatal.
7422 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7423 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7424 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7425 (splay_tree_node, splay_tree, splay_tree_key)
7426 (struct target_mem_desc, struct splay_tree_key_s)
7427 (struct gomp_memory_mapping, struct acc_dispatch_t)
7428 (struct gomp_device_descr, gomp_acc_insert_pointer)
7429 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7430 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7431 (gomp_free_memmap, gomp_fini_device): New declarations.
7432 (gomp_vdebug, gomp_debug): New macros.
7433 Include "splay-tree.h".
7434 * libgomp.map (OACC_2.0): New symbol version. Use for
7435 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7436 acc_set_device_type_h_, acc_get_device_type,
7437 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7438 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7439 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7440 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7441 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7442 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7443 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7444 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7445 acc_copyin_array_h_, acc_present_or_copyin,
7446 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7447 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7448 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7449 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7450 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7451 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7452 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7453 acc_update_device, acc_update_device_32_h_,
7454 acc_update_device_64_h_, acc_update_device_array_h_,
7455 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7456 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7457 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7458 acc_is_present_64_h_, acc_is_present_array_h_,
7459 acc_memcpy_to_device, acc_memcpy_from_device,
7460 acc_get_current_cuda_device, acc_get_current_cuda_context,
7461 acc_get_cuda_stream, acc_set_cuda_stream.
7462 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
7463 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7464 GOACC_update, GOACC_wait, GOACC_get_thread_num,
7465 GOACC_get_num_threads.
7466 (GOMP_PLUGIN_1.0): New symbol version. Use for
7467 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7468 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7469 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7470 GOMP_PLUGIN_acc_thread.
7471 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7472 environment variable.
7473 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7474 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7475 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7476 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7477 (splay_tree_remove): New declarations.
7478 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7479 (splay_tree_remove, splay_tree_lookup): Move into...
7480 * splay-tree.c: ... this new file.
7481 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7482 (splay_tree_node, splay_tree, splay_tree_key)
7483 (struct target_mem_desc, struct splay_tree_key_s)
7484 (struct gomp_device_descr): Don't declare.
7485 (num_devices_openmp): New variable.
7486 (gomp_get_num_devices ): Use it.
7487 (gomp_init_targets_once): New function.
7488 (gomp_get_num_devices ): Use it.
7489 (get_kind, gomp_copy_from_async, gomp_free_memmap)
7490 (gomp_fini_device, gomp_register_image_for_device): New functions.
7491 (gomp_map_vars): Add devaddrs parameter.
7492 (gomp_update): Add mm parameter.
7493 (gomp_init_device): Move most of it into...
7494 (gomp_init_tables): ... this new function.
7495 (gomp_register_images_for_device): Remove function.
7496 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7497 Make them hidden instead of static.
7498 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7499 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7500 (GOMP_target_end_data, GOMP_target_update)
7501 (gomp_load_plugin_for_device, gomp_target_init): Update for
7502 OpenACC changes.
7503 * oacc-async.c: New file.
7504 * oacc-cuda.c: Likewise.
7505 * oacc-host.c: Likewise.
7506 * oacc-init.c: Likewise.
7507 * oacc-int.h: Likewise.
7508 * oacc-mem.c: Likewise.
7509 * oacc-parallel.c: Likewise.
7510 * oacc-plugin.c: Likewise.
7511 * oacc-plugin.h: Likewise.
7512 * oacc-ptx.h: Likewise.
7513 * openacc.f90: Likewise.
7514 * openacc.h: Likewise.
7515 * openacc_lib.h: Likewise.
7516 * plugin/plugin-host.c: Likewise.
7517 * plugin/plugin-nvptx.c: Likewise.
7518 * libgomp-plugin.c: Likewise.
7519 * libgomp-plugin.h: Likewise.
7520 * libgomp_target.h: Remove file after merging content into the
7521 former file. Update all users.
7522 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7523 (offload_targets_s, offload_targets_s_openacc): New variables.
7524 (check_effective_target_openacc_nvidia_accel_present)
7525 (check_effective_target_openacc_nvidia_accel_selected): New
7526 procedures.
7527 (libgomp_init): Update for OpenACC changes.
7528 * testsuite/libgomp-test-support.exp.in: New file.
7529 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7530 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7531 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7532 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7533 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7534 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7535 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7536 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7537 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7538 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7539 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7540 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7541 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7542 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7543 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7544 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7545 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7546 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7547 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7548 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7549 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7550 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7551 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7552 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7553 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7554 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7555 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7556 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7557 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7558 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7559 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7560 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7561 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7562 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7563 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7564 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7565 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7566 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7567 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7568 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7569 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7570 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7571 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7572 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7573 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7574 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7575 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7576 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7577 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7578 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7579 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7580 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7581 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7582 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7583 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7584 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7585 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7586 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7587 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7588 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7589 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7590 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
7591 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7592 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7593 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7594 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
7595 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
7596 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7597 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7598 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7599 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
7600 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7601 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7602 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7603 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
7604 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
7605 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7606 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7607 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
7608 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
7609 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
7610 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
7611 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7612 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7613 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7614 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
7615 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
7616 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7617 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7618 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
7619 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
7620 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
7621 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
7622 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7623 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7624 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7625 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7626 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
7627 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7628 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7629 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
7630 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
7631 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
7632 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7633 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
7634 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
7635 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
7636 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
7637 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
7638 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7639 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
7640 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7641 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7642 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
7643 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7644 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7645 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
7646 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7647 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
7648 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
7649 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
7650 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
7651 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7652 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
7653 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7654 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
7655 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7656 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
7657 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
7658 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
7659 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
7660 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
7661 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7662 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
7663 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7664 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7665 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7666 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7667 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7668 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
7669 Likewise.
7670 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
7675 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7676 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7677 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7678 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7679 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7680 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7681 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7682 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7683 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7684 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7685 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7686 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7687 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7688 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7689 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7690 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7691 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7692 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7693 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7694 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7695 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7696 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7697 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7698 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7699 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7700 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7701 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7702 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7703 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7704 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7705 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7706 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7707 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7708 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7709 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7710 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7711 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7712 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7713 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7714 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7715 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7716 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7717 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7718 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7719 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7720 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7721 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7722 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7723 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7724 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7725 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7726 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7727 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7728 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7729 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7730
f1f3453e
TS
77312015-01-10 Thomas Schwinge <thomas@codesourcery.com>
7732 Julian Brown <julian@codesourcery.com>
7733 David Malcolm <dmalcolm@redhat.com>
7734
7735 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7736 to "GNU Offloading and Multi Processing Runtime Library". Change
7737 all users.
7738 * configure: Regenerate.
7739 * libgomp.texi: Update.
7740
f9a0eca4
TS
77412015-01-08 Thomas Schwinge <thomas@codesourcery.com>
7742
b335ef4e
TS
7743 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7744 "$tgt_dir/lib32".
7745 * configure: Regenerate.
7746
f9a0eca4
TS
7747 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7748 "intelmic" in $offload_targets.
7749
b67cd4e3
JJ
77502015-01-05 Jakub Jelinek <jakub@redhat.com>
7751
5624e564
JJ
7752 Update copyright years.
7753
b67cd4e3
JJ
7754 * libgomp.texi: Bump @copying's copyright year.
7755
3b41b583
KT
77562014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7757
7758 * testsuite/lib/libgomp.exp: Load target-utils.exp.
7759 Move load of target-supportes.exp earlier.
7760
2354caec
IV
77612014-12-10 Ilya Verbin <ilya.verbin@intel.com>
7762
7763 * testsuite/libgomp.c/target-9.c: New test.
7764
f50eecba
VR
77652014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
7766
7767 * config.h.in: Regenerate.
7768 * configure: Regenerate.
7769 * configure.ac: Add GCC_CHECK_EMUTLS.
7770 * libgomp.h: Add check for USE_EMUTLS: this case
7771 is equal to HAVE_TLS.
7772 * team.c: Likewise.
7773
68bc9270
UB
77742014-12-03 Uros Bizjak <ubizjak@gmail.com>
7775
7776 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7777
476ff787
AT
77782014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
7779 Ilya Verbin <ilya.verbin@intel.com>
7780
7781 * testsuite/libgomp.c/target-critical-1.c: New test.
7782
31a30e62
JJ
77832014-11-26 Jakub Jelinek <jakub@redhat.com>
7784
7785 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 7786 to dg-options unless expensive testing is on.
31a30e62
JJ
7787 (TESTITERS): Define to N if not defined.
7788 (main): Use TESTITERS instead of N.
7789 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7790 dg-additional-options depending on whether expensive testing is on.
7791 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7792 Decrease N to 100000 and CHUNKSZ to 10000.
7793
3f9e8f13
JJ
77942014-11-24 Jakub Jelinek <jakub@redhat.com>
7795
7796 PR fortran/63938
31a30e62
JJ
7797 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7798 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 7799
c8451a46
SE
78002014-11-21 Steve Ellcey <sellcey@imgtec.com>
7801
7802 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7803
a699d672
L
78042014-11-21 H.J. Lu <hongjiu.lu@intel.com>
7805
7806 PR bootstrap/63784
7807 * configure: Regenerated.
7808
4a19f719
UB
78092014-11-19 Uros Bizjak <ubizjak@gmail.com>
7810
7811 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7812 vect_simd_clones effective target.
7813 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7814
b1bf6c52
JJ
78152014-11-14 Jakub Jelinek <jakub@redhat.com>
7816
7817 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7818 of 32 as block_size.
7819 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7820 instead of 32 as block_size.
7821
d64ae614
AT
78222014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7823 Ilya Verbin <ilya.verbin@intel.com>
7824
7825 * Makefile.in: Regenerate.
7826 * configure: Regenerate.
7827 * configure.ac: Set up offload_additional_options,
7828 offload_additional_lib_paths and offload_targets.
7829 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7830 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7831 * testsuite/Makefile.in: Regenerate.
7832 * testsuite/lib/libgomp.exp (libgomp_init): Append
7833 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7834 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7835 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7836
122d7303
AT
78372014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7838 Ilya Verbin <ilya.verbin@intel.com>
7839 Kirill Yukhin <kirill.yukhin@intel.com>
7840 Ilya Tocar <ilya.tocar@intel.com>
7841
7842 * testsuite/lib/libgomp.exp
7843 (check_effective_target_offload_device): New.
7844 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7845 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7846 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7847 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7848 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7849 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7850 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7851 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7852 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7853 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7854 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7855 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7856 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7857 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7858 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7859 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7860 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7861 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7862 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7863 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7864 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7865 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7866 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7867 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7868 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7869 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7870 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7871 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7872 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7873 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7874 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7875 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7876 * testsuite/libgomp.c/target-7.c: Fix test.
7877 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7878 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7879 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7880 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7881 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7882 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7883 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7884 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7885 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7886 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7887 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7888 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7889 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7890 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7891 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7892 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7893 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7894 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7895 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7896 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7897 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7898 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7899 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7900 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7901 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7902 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7903 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7904 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7905 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7906 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7907 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7908
1df3f842
JJ
79092014-11-13 Jakub Jelinek <jakub@redhat.com>
7910 Ilya Verbin <ilya.verbin@intel.com>
7911 Thomas Schwinge <thomas@codesourcery.com>
7912 Andrey Turetskiy <andrey.turetskiy@intel.com>
7913
7914 * libgomp.map (GOMP_4.0.1): New symbol version.
7915 Add GOMP_offload_register.
7916 * libgomp_target.h: New file.
7917 * splay-tree.h: New file.
7918 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7919 (gomp_target_init): New forward declaration.
7920 (gomp_is_initialized): New static variable.
7921 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7922 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7923 New structures.
7924 (offload_images, num_offload_images, devices, num_devices): New static
7925 variables.
7926 (splay_compare): New static function.
7927 (struct gomp_device_descr): New structure.
7928 (gomp_get_num_devices): Call gomp_target_init.
7929 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7930 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7931 (GOMP_offload_register): New function.
7932 (GOMP_target): Arrange for host callback to be performed in a separate
7933 initial thread and contention group, inheriting ICVs from
7934 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7935 Add device initialization and lookup for target function in splay tree.
7936 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7937 (GOMP_target_end_data): Call gomp_unmap_vars.
7938 (GOMP_target_update): Add device initialization and call gomp_update.
7939 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7940 (gomp_target_init): New static functions.
7941
85c64bbe
BS
79422014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7943 Thomas Schwinge <thomas@codesourcery.com>
7944 Ilya Verbin <ilya.verbin@intel.com>
7945 Andrey Turetskiy <andrey.turetskiy@intel.com>
7946
7947 * config.h.in: Regenerate.
7948 * configure: Regenerate.
7949 * configure.ac: Check for libdl, required for plugin support.
7950 (PLUGIN_SUPPORT): Define if plugins are supported.
7951 (enable_offload_targets): Support Intel MIC targets.
7952 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7953
ebf6d33b
FXC
79542014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7955
7956 PR target/63610
7957 * configure: Regenerate.
7958
8c768629
RO
79592014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7960
7961 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7962
c1d62412
MP
79632014-10-06 Marek Polacek <polacek@redhat.com>
7964
7965 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7966 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7967 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7968 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7969
44a0c6cb
MP
79702014-10-06 Marek Polacek <polacek@redhat.com>
7971
7972 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7973 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7974 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7975 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7976 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7977 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7978 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7979 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7980 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7981 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7982 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7983 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7984 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7985 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7986 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7987 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7988 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7989 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7990 declarations.
7991
5771c391
JJ
79922014-10-03 Jakub Jelinek <jakub@redhat.com>
7993
7994 PR libgomp/61200
7995 * testsuite/libgomp.c/pr61200.c: New test.
7996
bce16b88
JJ
79972014-09-18 Jakub Jelinek <jakub@redhat.com>
7998
7999 PR c++/63248
8000 * testsuite/libgomp.c++/pr63248.C: New test.
8001
3696163c
JJ
80022014-08-04 Jakub Jelinek <jakub@redhat.com>
8003
8004 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8005 is not zero, but taskgroup->children is NULL and there are
8006 any task->children, schedule those instead of waiting.
8007 * testsuite/libgomp.c/depend-6.c: New test.
8008 * testsuite/libgomp.c/depend-7.c: New test.
8009 * testsuite/libgomp.c/depend-8.c: New test.
8010 * testsuite/libgomp.c/depend-9.c: New test.
8011 * testsuite/libgomp.c/depend-10.c: New test.
8012
0494285a
JJ
80132014-08-01 Jakub Jelinek <jakub@redhat.com>
8014
8015 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8016 (struct gomp_taskwait): New type.
8017 (struct gomp_task): Add taskwait and parent_depends_on, remove
8018 in_taskwait and taskwait_sem fields.
8019 (gomp_finish_task): Don't destroy taskwait_sem.
8020 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8021 taskwait and parent_depends_on.
8022 (GOMP_task): For if (0) tasks with depend clause that depend on
8023 earlier tasks don't defer them, instead call
8024 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8025 Initialize redundant_out field, for redundant out entries just
8026 move them at the end of linked list instead of removing them
8027 completely, and set redundant_out flag instead of redundant.
8028 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8029 that task.
8030 (gomp_task_run_post_handle_dependers): If parent is in
8031 gomp_task_maybe_wait_for_dependencies and newly runnable task
8032 is not parent_depends_on, queue it in parent->children linked
8033 list after all runnable tasks with parent_depends_on set.
8034 Adjust for addition of taskwait indirection.
8035 (gomp_task_run_post_remove_parent): If parent is in
8036 gomp_task_maybe_wait_for_dependencies and task to be removed
8037 is parent_depends_on, decrement n_depend and if needed awake
8038 parent. Adjust for addition of taskwait indirection.
8039 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8040 (gomp_task_maybe_wait_for_dependencies): New function.
8041 * testsuite/libgomp.c/depend-5.c: New test.
8042
60ab4b44
TB
80432014-07-13 Tobias Burnus <burnus@net-b.de>
8044
8045 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 8046 with TS 18508/Fortran 2015.
60ab4b44 8047
773ec47f
MP
80482014-07-06 Marek Polacek <polacek@redhat.com>
8049
8050 PR c/6940
8051 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8052
f707da16
JJ
80532014-07-03 Jakub Jelinek <jakub@redhat.com>
8054
8055 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8056 matches regex $lang_source_re, add $lang_include_flags to options.
8057 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8058 * testsuite/libgomp.c++/c++.exp: Likewise.
8059 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8060 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8061 ALWAYS_CFLAGS.
8062 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8063
07b6c044
TS
80642014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8065
8066 * testsuite/libgomp.fortran/fortran.exp: Explain
8067 gfortran-dg-runtest usage.
8068
da6f124d
JJ
80692014-06-25 Jakub Jelinek <jakub@redhat.com>
8070
8071 * testsuite/libgomp.fortran/simd5.f90: New test.
8072 * testsuite/libgomp.fortran/simd6.f90: New test.
8073 * testsuite/libgomp.fortran/simd7.f90: New test.
8074
b46ebd6c
JJ
80752014-06-24 Jakub Jelinek <jakub@redhat.com>
8076
56ad0e38
JJ
8077 * testsuite/libgomp.c/for-2.c: Define SC to static for
8078 #pragma omp for simd testing.
8079 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8080 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8081 SC macro.
8082 * testsuite/libgomp.c/simd-14.c: New test.
8083 * testsuite/libgomp.c/simd-15.c: New test.
8084 * testsuite/libgomp.c/simd-16.c: New test.
8085 * testsuite/libgomp.c/simd-17.c: New test.
8086 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8087 #pragma omp for simd testing.
8088 * testsuite/libgomp.c++/simd10.C: New test.
8089 * testsuite/libgomp.c++/simd11.C: New test.
8090 * testsuite/libgomp.c++/simd12.C: New test.
8091 * testsuite/libgomp.c++/simd13.C: New test.
8092
b46ebd6c
JJ
8093 * testsuite/libgomp.fortran/aligned1.f03: New test.
8094 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8095 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8096 tasks with !$omp parallel !$omp single.
8097 * testsuite/libgomp.fortran/target8.f90: New test.
8098 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8099 not to use trim in the combiner, instead call elemental function.
8100 (fn): New elemental function.
8101 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8102 Make elemental.
8103 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8104 omp_in): Likewise.
8105 * testsuite/libgomp.fortran/udr12.f90: New test.
8106 * testsuite/libgomp.fortran/udr13.f90: New test.
8107 * testsuite/libgomp.fortran/udr14.f90: New test.
8108 * testsuite/libgomp.fortran/udr15.f90: New test.
8109
f014c653
JJ
81102014-06-18 Jakub Jelinek <jakub@redhat.com>
8111
8112 * omp_lib.f90.in (openmp_version): Set to 201307.
8113 * omp_lib.h.in (openmp_version): Likewise.
8114 * testsuite/libgomp.c/target-8.c: New test.
8115 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8116 and inbranch clauses.
8117 * testsuite/libgomp.fortran/depend-3.f90: New test.
8118 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8119 openmp_version.
8120 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8121 * testsuite/libgomp.fortran/target1.f90: New test.
8122 * testsuite/libgomp.fortran/target2.f90: New test.
8123 * testsuite/libgomp.fortran/target3.f90: New test.
8124 * testsuite/libgomp.fortran/target4.f90: New test.
8125 * testsuite/libgomp.fortran/target5.f90: New test.
8126 * testsuite/libgomp.fortran/target6.f90: New test.
8127 * testsuite/libgomp.fortran/target7.f90: New test.
8128
92d28cbb
JJ
81292014-06-10 Jakub Jelinek <jakub@redhat.com>
8130
8131 PR fortran/60928
8132 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8133 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8134 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8135 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8136 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8137 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8138 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8139 * testsuite/libgomp.fortran/associate1.f90: New test.
8140 * testsuite/libgomp.fortran/associate2.f90: New test.
8141 * testsuite/libgomp.fortran/procptr1.f90: New test.
8142
5f23671d
JJ
81432014-06-06 Jakub Jelinek <jakub@redhat.com>
8144
8145 * testsuite/libgomp.fortran/simd1.f90: New test.
8146 * testsuite/libgomp.fortran/udr1.f90: New test.
8147 * testsuite/libgomp.fortran/udr2.f90: New test.
8148 * testsuite/libgomp.fortran/udr3.f90: New test.
8149 * testsuite/libgomp.fortran/udr4.f90: New test.
8150 * testsuite/libgomp.fortran/udr5.f90: New test.
8151 * testsuite/libgomp.fortran/udr6.f90: New test.
8152 * testsuite/libgomp.fortran/udr7.f90: New test.
8153 * testsuite/libgomp.fortran/udr8.f90: New test.
8154 * testsuite/libgomp.fortran/udr9.f90: New test.
8155 * testsuite/libgomp.fortran/udr10.f90: New test.
8156 * testsuite/libgomp.fortran/udr11.f90: New test.
8157
0389fbb5
UB
81582014-05-27 Uros Bizjak <ubizjak@gmail.com>
8159
8160 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8161 vect_simd_clones effective target.
8162 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8163
decaaec8
JJ
81642014-05-21 Jakub Jelinek <jakub@redhat.com>
8165
8166 PR middle-end/61252
8167 * testsuite/libgomp.c++/simd-9.C: New test.
8168
72832460
UB
81692014-05-18 Uros Bizjak <ubizjak@gmail.com>
8170
8171 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8172 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8173 texts according to their @menu entry positions.
8174
dd2fc525
JJ
81752014-05-11 Jakub Jelinek <jakub@redhat.com>
8176
8177 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8178 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8179 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8180 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8181 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8182 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8183 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8184 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8185 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8186 * testsuite/libgomp.fortran/depend-1.f90: New test.
8187 * testsuite/libgomp.fortran/depend-2.f90: New test.
8188 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8189 * testsuite/libgomp.fortran/simd1.f90: New test.
8190 * testsuite/libgomp.fortran/simd2.f90: New test.
8191 * testsuite/libgomp.fortran/simd3.f90: New test.
8192 * testsuite/libgomp.fortran/simd4.f90: New test.
8193 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8194
95782571
JJ
81952014-05-02 Jakub Jelinek <jakub@redhat.com>
8196
8197 * testsuite/libgomp.c/simd-10.c: New test.
8198 * testsuite/libgomp.c/simd-11.c: New test.
8199 * testsuite/libgomp.c/simd-12.c: New test.
8200 * testsuite/libgomp.c/simd-13.c: New test.
8201
f7468577
JJ
82022014-04-24 Jakub Jelinek <jakub@redhat.com>
8203
42056eac
JJ
8204 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8205 atomic type clauses in any order and optional comma in between.
8206 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8207 * testsuite/libgomp.c/atomic-17.c: Likewise.
8208
f7468577
JJ
8209 * testsuite/libgomp.c/simd-7.c: New test.
8210 * testsuite/libgomp.c/simd-8.c: New test.
8211 * testsuite/libgomp.c/simd-9.c: New test.
8212 * testsuite/libgomp.c/loop-16.c: New test.
8213
ab18f2f5
RH
82142014-04-02 Richard Henderson <rth@redhat.com>
8215
8216 * config/linux/futex.h (futex_wait): Get error value from errno.
8217 (futex_wake): Likewise.
8218
8bcc90b0
JJ
82192014-03-25 Jakub Jelinek <jakub@redhat.com>
8220
8221 PR c++/60331
8222 * testsuite/libgomp.c++/udr-11.C: New test.
8223 * testsuite/libgomp.c++/udr-12.C: New test.
8224 * testsuite/libgomp.c++/udr-13.C: New test.
8225 * testsuite/libgomp.c++/udr-14.C: New test.
8226 * testsuite/libgomp.c++/udr-15.C: New test.
8227 * testsuite/libgomp.c++/udr-16.C: New test.
8228 * testsuite/libgomp.c++/udr-17.C: New test.
8229 * testsuite/libgomp.c++/udr-18.C: New test.
8230 * testsuite/libgomp.c++/udr-19.C: New test.
8231
18d73c7f
RS
82322014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8233
8234 Update copyright years
8235
f9030485
RS
82362014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8237
8238 * hashtab.h: Use the standard form for the copyright notice.
8239
98db73df
TB
82402014-01-02 Tobias Burnus <burnus@net-b.de>
8241
8242 * libgomp.texi: Bump @copying's copyright year.
8243
ae246f7f
AT
82442013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8245
8246 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
8247 alloca () with __builtin_alloca ().
8248 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8249 * testsuite/libgomp.c/lock-3.c: Likewise.
8250 * testsuite/libgomp.c/pr48591.c: Likewise.
8251
fa00a5fe
JJ
82522013-12-17 Jakub Jelinek <jakub@redhat.com>
8253
8254 PR testsuite/59534
8255 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8256 comparisons.
8257
e9792e1d
JJ
82582013-12-16 Jakub Jelinek <jakub@redhat.com>
8259
8260 PR libgomp/58756
8261 * testsuite/libgomp.c/pr58756.c: New test.
8262
cab37c89
JJ
82632013-12-12 Jakub Jelinek <jakub@redhat.com>
8264
8265 PR libgomp/59467
8266 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8267 !$omp parallel.
8268
de14871c
TS
82692013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8270
1707a5de
TS
8271 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8272 ALWAYS_CFLAGS.
8273 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8274 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8275 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8276 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8277 Likewise.
8278
70f05c43
TS
8279 * libgomp_g.h: Include <stddef.h> for size_t.
8280
de14871c
TS
8281 * libgomp.spec.in: Update comment about libgomp's dependencies.
8282 * configure.ac: Likewise.
8283 * configure: Regenerate.
8284
83fd6c5b
TB
82852013-10-16 Tobias Burnus <burnus@net-b.de>
8286
8287 * libgomp.texi: (Runtime Library Routines): Update references for
8288 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8289 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8290 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8291 (Environment Variables): Update references for OpenMP 4.0. Add
8292 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8293 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8294 order.
8295
c8673881
JJ
82962013-10-14 Jakub Jelinek <jakub@redhat.com>
8297
8298 * env.c (parse_bind_var): Initialize value to avoid
8299 (false positive) warning.
8300
f89163fd
JJ
83012013-10-12 Jakub Jelinek <jakub@redhat.com>
8302
8303 PR libgomp/58691
8304 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8305 to check variable.
8306 (gomp_init_num_threads): Move i variable declaration into
8307 #ifdef CPU_ALLOC_SIZE block.
8308 * config/linux/affinity.c (gomp_affinity_init_level): Test
8309 gomp_places_list_len == 0 rather than gomp_places_list == 0
8310 when checking for topology reading error.
8311 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8312 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8313 gomp_places_list, only parse env var and always return false.
8314 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8315 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8316 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8317 and either of these variables were parsed correctly into a places
8318 list.
8319
1d340638
TS
83202013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8321 Jakub Jelinek <jakub@redhat.com>
8322
8323 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8324 of 5 loopfn matches.
8325 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8326 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8327 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8328 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8329 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8330 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8331 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8332 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8333
71a81c21
TS
83342013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8335
bd87f731
TS
8336 * Makefile.am (omp_lib.mod): Streamline rule.
8337 * Makefile.in: Regenerate.
8338
f5745bed
TS
8339 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8340 exceptions.
8341
b5512c66
TS
8342 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8343 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8344 * testsuite/libgomp.fortran/lib2.f: Likewise.
8345 * testsuite/libgomp.fortran/lib3.f: Likewise.
8346
451c19c4
TS
8347 * configure.ac: Typo fix.
8348 * configure: Regenerate.
8349
86a6016d
TS
8350 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8351 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8352
71a81c21
TS
8353 * omp.h.in: Don't touch the user's namespace.
8354
acf0174b
JJ
83552013-10-11 Jakub Jelinek <jakub@redhat.com>
8356 Tobias Burnus <burnus@net-b.de>
8357 Richard Henderson <rth@redhat.com>
8358
8359 * target.c: New file.
8360 * Makefile.am (libgomp_la_SOURCES): Add target.c.
8361 * Makefile.in: Regenerated.
8362 * libgomp_g.h (GOMP_task): Add depend argument.
8363 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8364 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8365 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8366 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8367 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8368 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8369 GOMP_taskgroup_start, GOMP_taskgroup_end,
8370 GOMP_parallel_sections): New prototypes.
8371 * fortran.c (omp_is_initial_device): Add ialias_redirect.
8372 (omp_is_initial_device_): New function.
8373 (ULP, STR1, STR2, ialias_redirect): Removed.
8374 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8375 omp_set_default_device_8_, omp_get_default_device_,
8376 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8377 functions.
8378 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8379 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8380 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8381 @@GOMP_4.0.
8382 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8383 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8384 omp_set_default_device, omp_set_default_device_,
8385 omp_set_default_device_8_, omp_get_default_device,
8386 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8387 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8388 omp_get_team_num_): Export @@OMP_4.0.
8389 * team.c (struct gomp_thread_start_data): Add place field.
8390 (gomp_thread_start): Clear thr->thread_pool and
8391 thr->task before returning. Use gomp_team_barrier_wait_final
8392 instead of gomp_team_barrier_wait. Initialize thr->place.
8393 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8394 team_cancelled and task_queued_count fields.
8395 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8396 before calling pthread_exit.
8397 (gomp_free_thread): No longer static. Use
8398 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8399 (gomp_team_start): Add flags argument. Set
8400 thr->thread_pool->threads_busy to nthreads immediately after creating
8401 new pool. Use gomp_managed_threads_lock instead of
8402 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
8403 (gomp_team_end): Use gomp_managed_threads_lock instead of
8404 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
8405 of gomp_team_barrier_wait. If team->team_cancelled, call
8406 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
8407 rather than thr->ts.work_share.
8408 (initialize_team): Don't call gomp_sem_init here.
8409 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8410 caller.
8411 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8412 * env.c (gomp_global_icv): Add default_device_var, target_data and
8413 bind_var initializers.
8414 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8415 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8416 gomp_places_list_len): New variables.
8417 (parse_bind_var, parse_one_place, parse_places_var): New functions.
8418 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8419 sized places.
8420 (gomp_cancel_var): New global variable.
8421 (parse_int): New function.
8422 (handle_omp_display_env): New function.
8423 (initialize_env): Use it. Initialize default_device_var.
8424 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
8425 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
8426 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
8427 been successfully parsed (and call gomp_init_affinity in that case).
8428 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8429 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8430 omp_get_team_num, omp_is_initial_device): New functions.
8431 * libgomp.h: Include stdlib.h.
8432 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8433 Define.
8434 (struct target_mem_desc): Forward declare.
8435 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8436 and thread_limit_var fields.
8437 (gomp_get_num_devices): New prototype.
8438 (gomp_cancel_var): New extern decl.
8439 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8440 team_cancelled and task_queued_count fields. Add comments about
8441 task_{,queued_,running_}count.
8442 (gomp_cancel_kind): New enum.
8443 (gomp_work_share_end_cancel): New prototype.
8444 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8445 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8446 and depend fields.
8447 (struct gomp_taskgroup): New type.
8448 (struct gomp_task_depend_entry,
8449 struct gomp_dependers_vec): New types.
8450 (gomp_finish_task): Free depend_hash if non-NULL.
8451 (struct gomp_team_state): Add place_partition_off
8452 and place_partition_len fields.
8453 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8454 gomp_places_list_len): New extern decls.
8455 (struct gomp_thread): Add place field.
8456 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8457 (gomp_init_thread_affinity): Add place argument.
8458 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8459 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8460 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8461 gomp_affinity_init_level, gomp_affinity_print_place): New
8462 prototypes.
8463 (gomp_team_start): Add flags argument.
8464 (gomp_thread_limit_var, gomp_remaining_threads_count,
8465 gomp_remaining_threads_lock): Remove.
8466 (gomp_managed_threads_lock): New variable.
8467 (struct gomp_thread_pool): Add threads_busy field.
8468 (gomp_free_thread): New prototype.
8469 * task.c: Include hashtab.h.
8470 (hash_entry_type): New typedef.
8471 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8472 (gomp_init_task): Clear dependers, depend_hash, depend_count,
8473 copy_ctors_done and taskgroup fields.
8474 (GOMP_task): Add depend argument, handle depend clauses. If
8475 gomp_team_barrier_cancelled or if it's taskgroup has been
8476 cancelled, don't queue or start new tasks. Set copy_ctors_done
8477 field if needed. Initialize taskgroup field. If copy_ctors_done
8478 and already cancelled, don't discard the task. If taskgroup is
8479 non-NULL, enqueue the task into taskgroup queue. Increment
8480 num_children field in taskgroup. Increment task_queued_count.
8481 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8482 gomp_task_run_post_remove_taskgroup): New inline functions.
8483 (gomp_task_run_post_handle_depend_hash,
8484 gomp_task_run_post_handle_dependers,
8485 gomp_task_run_post_handle_depend): New functions.
8486 (GOMP_taskwait): Use them. If more than one new tasks
8487 have been queued, wake other threads if needed.
8488 (gomp_barrier_handle_tasks): Likewise. If
8489 gomp_team_barrier_cancelled, don't start any new tasks, just free
8490 all tasks.
8491 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8492 * omp_lib.f90.in
8493 (omp_proc_bind_kind, omp_proc_bind_false,
8494 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8495 omp_proc_bind_spread): New params.
8496 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8497 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8498 omp_get_team_num, omp_is_initial_device): New interfaces.
8499 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8500 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8501 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8502 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8503 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8504 useless use omp_lib_kinds.
8505 * omp.h.in (omp_proc_bind_t): New typedef.
8506 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8507 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8508 omp_get_team_num, omp_is_initial_device): New prototypes.
8509 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8510 through to gomp_team_start.
8511 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8512 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8513 Adjust gomp_parallel_loop_start callers.
8514 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8515 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8516 GOMP_loop_end_cancel): New functions.
8517 (GOMP_parallel_end): Add ialias_redirect.
8518 * hashtab.h: New file.
8519 * libgomp.texi (Environment Variables): Minor cleanup,
8520 update section refs to OpenMP 4.0rc2.
8521 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8522 environment variables.
8523 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8524 team->work_shares_to_free to thr->ts.work_share before calling
8525 free_work_share.
8526 (gomp_work_share_end_cancel): New function.
8527 * config/linux/proc.c: Include errno.h.
8528 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8529 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8530 sizeof (cpu_set_t) to determine number of iterations. Fix up check
8531 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
8532 gomp_cpuset_size is sizeof (cpu_set_t).
8533 (gomp_init_num_threads): Initialize gomp_cpuset_size,
8534 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8535 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8536 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
8537 contain any logical CPUs.
8538 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8539 is NULL. Use gomp_cpusetp instead of &cpuset and pass
8540 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8541 pthread_getaffinity_np. Check gomp_places_list instead of
8542 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
8543 * config/linux/bar.c (gomp_barrier_wait_end,
8544 gomp_barrier_wait_last): Use BAR_* defines.
8545 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
8546 from state where needed. Set work_share_cancelled to 0 on last
8547 thread.
8548 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8549 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8550 functions.
8551 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8552 Add cpusetsize argument.
8553 (gomp_cpuset_size, gomp_cpusetp): Declare.
8554 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8555 (affinity_counter): Remove.
8556 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8557 if CPU_ALLOC_SIZE isn't defined.
8558 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8559 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8560 bind current thread to the first place.
8561 (gomp_init_thread_affinity): Rewritten. Add place argument, just
8562 pthread_setaffinity_np to gomp_places_list[place].
8563 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8564 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8565 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8566 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8567 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8568 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8569 (gomp_barrier_t): Add awaited_final field.
8570 (gomp_barrier_init): Initialize awaited_final field.
8571 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8572 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8573 prototypes.
8574 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
8575 defines.
8576 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8577 gomp_team_barrier_cancelled): New inline functions.
8578 (gomp_barrier_last_thread,
8579 gomp_team_barrier_set_task_pending,
8580 gomp_team_barrier_clear_task_pending,
8581 gomp_team_barrier_set_waiting_for_tasks,
8582 gomp_team_barrier_waiting_for_tasks,
8583 gomp_team_barrier_done): Use BAR_* defines.
8584 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8585 (gomp_barrier_wait_end): Use BAR_* defines.
8586 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8587 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8588 Use BAR_* defines.
8589 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
8590 gomp_team_barrier_cancel): New functions.
8591 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
8592 argument.
8593 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8594 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8595 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8596 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
8597 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8598 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8599 (gomp_barrier_t): Add cancellable field.
8600 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
8601 gomp_team_barrier_cancel): New prototypes.
8602 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
8603 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
8604 gomp_team_barrier_cancelled): New inline functions.
8605 (gomp_barrier_wait_start, gomp_barrier_last_thread,
8606 gomp_team_barrier_set_task_pending,
8607 gomp_team_barrier_clear_task_pending,
8608 gomp_team_barrier_set_waiting_for_tasks,
8609 gomp_team_barrier_waiting_for_tasks,
8610 gomp_team_barrier_done): Use BAR_* defines.
8611 * barrier.c (GOMP_barrier_cancel): New function.
8612 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
8613 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8614 omp_proc_bind_spread): New params.
8615 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8616 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8617 omp_get_team_num, omp_is_initial_device): New externals.
8618 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
8619 New functions.
8620 (gomp_resolve_num_threads): Adjust for thread_limit now being in
8621 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8622 infinity. If not nested, just return minimum of max_num_threads
8623 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
8624 to the returned value. Otherwise, don't update atomically
8625 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
8626 (GOMP_parallel_end): Adjust for thread_limit now being in
8627 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8628 infinity. Adjust threads_busy in the pool rather than
8629 gomp_remaining_threads_count. Remember team->nthreads and call
8630 gomp_team_end before adjusting threads_busy, if not nested
8631 afterwards, just set it to 1 non-atomically. Add ialias.
8632 (GOMP_parallel_start): Adjust gomp_team_start caller.
8633 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
8634 * testsuite/libgomp.c/affinity-1.c: New test.
8635 * testsuite/libgomp.c/atomic-15.c: New test.
8636 * testsuite/libgomp.c/atomic-16.c: New test.
8637 * testsuite/libgomp.c/atomic-17.c: New test.
8638 * testsuite/libgomp.c/cancel-for-1.c: New test.
8639 * testsuite/libgomp.c/cancel-for-2.c: New test.
8640 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
8641 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
8642 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
8643 * testsuite/libgomp.c/cancel-sections-1.c: New test.
8644 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
8645 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
8646 * testsuite/libgomp.c/depend-1.c: New test.
8647 * testsuite/libgomp.c/depend-2.c: New test.
8648 * testsuite/libgomp.c/depend-3.c: New test.
8649 * testsuite/libgomp.c/depend-4.c: New test.
8650 * testsuite/libgomp.c/for-1.c: New test.
8651 * testsuite/libgomp.c/for-1.h: New file.
8652 * testsuite/libgomp.c/for-2.c: New test.
8653 * testsuite/libgomp.c/for-2.h: New file.
8654 * testsuite/libgomp.c/for-3.c: New test.
8655 * testsuite/libgomp.c/pr58392.c: New test.
8656 * testsuite/libgomp.c/simd-1.c: New test.
8657 * testsuite/libgomp.c/simd-2.c: New test.
8658 * testsuite/libgomp.c/simd-3.c: New test.
8659 * testsuite/libgomp.c/simd-4.c: New test.
8660 * testsuite/libgomp.c/simd-5.c: New test.
8661 * testsuite/libgomp.c/simd-6.c: New test.
8662 * testsuite/libgomp.c/target-1.c: New test.
8663 * testsuite/libgomp.c/target-2.c: New test.
8664 * testsuite/libgomp.c/target-3.c: New test.
8665 * testsuite/libgomp.c/target-4.c: New test.
8666 * testsuite/libgomp.c/target-5.c: New test.
8667 * testsuite/libgomp.c/target-6.c: New test.
8668 * testsuite/libgomp.c/target-7.c: New test.
8669 * testsuite/libgomp.c/taskgroup-1.c: New test.
8670 * testsuite/libgomp.c/thread-limit-1.c: New test.
8671 * testsuite/libgomp.c/thread-limit-2.c: New test.
8672 * testsuite/libgomp.c/thread-limit-3.c: New test.
8673 * testsuite/libgomp.c/udr-1.c: New test.
8674 * testsuite/libgomp.c/udr-2.c: New test.
8675 * testsuite/libgomp.c/udr-3.c: New test.
8676 * testsuite/libgomp.c++/affinity-1.C: New test.
8677 * testsuite/libgomp.c++/atomic-10.C: New test.
8678 * testsuite/libgomp.c++/atomic-11.C: New test.
8679 * testsuite/libgomp.c++/atomic-12.C: New test.
8680 * testsuite/libgomp.c++/atomic-13.C: New test.
8681 * testsuite/libgomp.c++/atomic-14.C: New test.
8682 * testsuite/libgomp.c++/atomic-15.C: New test.
8683 * testsuite/libgomp.c++/cancel-for-1.C: New test.
8684 * testsuite/libgomp.c++/cancel-for-2.C: New test.
8685 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
8686 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
8687 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
8688 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
8689 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
8690 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
8691 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
8692 * testsuite/libgomp.c++/cancel-test.h: New file.
8693 * testsuite/libgomp.c++/for-9.C: New test.
8694 * testsuite/libgomp.c++/for-10.C: New test.
8695 * testsuite/libgomp.c++/for-11.C: New test.
8696 * testsuite/libgomp.c++/simd-1.C: New test.
8697 * testsuite/libgomp.c++/simd-2.C: New test.
8698 * testsuite/libgomp.c++/simd-3.C: New test.
8699 * testsuite/libgomp.c++/simd-4.C: New test.
8700 * testsuite/libgomp.c++/simd-5.C: New test.
8701 * testsuite/libgomp.c++/simd-6.C: New test.
8702 * testsuite/libgomp.c++/simd-7.C: New test.
8703 * testsuite/libgomp.c++/simd-8.C: New test.
8704 * testsuite/libgomp.c++/target-1.C: New test.
8705 * testsuite/libgomp.c++/target-2.C: New test.
8706 * testsuite/libgomp.c++/target-2-aux.cc: New file.
8707 * testsuite/libgomp.c++/target-3.C: New test.
8708 * testsuite/libgomp.c++/taskgroup-1.C: New test.
8709 * testsuite/libgomp.c++/udr-1.C: New test.
8710 * testsuite/libgomp.c++/udr-2.C: New test.
8711 * testsuite/libgomp.c++/udr-3.C: New test.
8712 * testsuite/libgomp.c++/udr-4.C: New test.
8713 * testsuite/libgomp.c++/udr-5.C: New test.
8714 * testsuite/libgomp.c++/udr-6.C: New test.
8715 * testsuite/libgomp.c++/udr-7.C: New test.
8716 * testsuite/libgomp.c++/udr-8.C: New test.
8717 * testsuite/libgomp.c++/udr-9.C: New test.
8718
bd599dea
JJ
87192013-09-20 Jakub Jelinek <jakub@redhat.com>
8720
8721 PR testsuite/57605
8722 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8723 ALWAYS_CFLAGS.
8724
3cbe17f7
AM
87252013-09-20 Alan Modra <amodra@gmail.com>
8726
8727 * configure: Regenerate.
8728
4befd127
JJ
87292013-09-19 Jakub Jelinek <jakub@redhat.com>
8730
8731 * testsuite/libgomp.c/sections-2.c: New test.
8732
946c8f7b
MS
87332013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
8734
8735 * testsuite/libgomp.fortran/strassen.f90:
8736 Add dg-skip-if aarch64_tiny.
8737
1ef3b58e
IS
87382013-06-20 Iain Sandoe <iain@codesourcery.com>
8739 Cesar Philippidis <cesar@codesourcery.com>
8740
8741 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8742 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8743 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8744 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8745 * testsuite/libgomp.graphite/graphite.exp: Likewise.
8746 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8747 Use dg-runtest rather than gfortran-dg-runtest.
8748
9275f73a
TS
87492013-06-10 Thomas Schwinge <thomas@codesourcery.com>
8750
8751 * testsuite/libgomp.c/icv-2.c: Extend current handling of
8752 Linux-based x86 systems to cover all GNU systems.
8753 * testsuite/libgomp.c/lock-3.c: Likewise.
8754 * testsuite/libgomp.c/pr48591.c: Likewise.
8755
492992e2
TS
87562013-06-06 Thomas Schwinge <thomas@codesourcery.com>
8757
48df3acb
TS
8758 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8759 GNU/Hurd, as done for Linux-based systems.
8760
492992e2
TS
8761 * config/posix/ptrlock.h: Fix comment.
8762
4fed6b25
TB
87632013-05-27 Tobias Burnus <burnus@net-b.de>
8764
8765 PR fortran/57423
8766 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8767 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8768 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8769 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8770 omp_destroy_nest_lock): Correct arguments to match the one in
8771 the OpenMP spec.
8772 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8773 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8774 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8775 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8776
5a0f4dd3
JJ
87772013-05-16 Jakub Jelinek <jakub@redhat.com>
8778
8779 * testsuite/libgomp.c/loop-13.c: New test.
8780 * testsuite/libgomp.c/loop-14.c: New test.
8781 * testsuite/libgomp.c/loop-15.c: New test.
8782 * testsuite/libgomp.c++/loop-13.C: New test.
8783 * testsuite/libgomp.c++/loop-14.C: New test.
8784 * testsuite/libgomp.c++/loop-15.C: New test.
8785
6d840d99
JJ
87862013-02-06 Jakub Jelinek <jakub@redhat.com>
8787
8788 PR middle-end/56217
8789 * testsuite/libgomp.c++/pr56217.C: New test.
8790
bed8d8a6
AM
87912013-02-01 Alan Modra <amodra@gmail.com>
8792
8793 * task.c (GOMP_task, GOMP_taskwait): Comment.
8794
3b35cd04
DV
87952013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
8796 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
8797
8798 PR libgomp/55561
8799 * config/linux/wait.h (do_spin): Use atomic load for addr.
8800 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8801 for intptr and ptrlock.
8802 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8803 for ptrlock.
8804
9a647288
AM
88052013-01-22 Alan Modra <amodra@gmail.com>
8806
8807 PR libgomp/51376
8808 PR libgomp/56073
8809 * task.c (GOMP_task): Revert 2011-12-09 change.
8810 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8811 barrier to read task->children..
8812 (gomp_barrier_handle_tasks): ..and matching atomic store with
8813 release barrier here when setting parent->children to NULL.
8814
f34dea03
JJ
88152013-01-16 Jakub Jelinek <jakub@redhat.com>
8816 Tobias Burnus <burnus@net-b.de>
8817
8818 PR driver/55884
8819 * testsuite/libgomp.fortran/fortran.exp: Use
8820 -fintrinsic-modules-path= instead of
8821 -fintrinsic-modules-path.
8822
8129609c
RS
88232013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8824
8825 Update copyright years.
8826
aa86bf1e
TB
88272012-12-19 Tobias Burnus <burnus@net-b.de>
8828
8829 * testsuite/libgomp.fortran/fortran.exp: Set
8830 -fintrinsic-modules-path.
8831
2865ea66
TB
88322012-12-19 Tobias Burnus <burnus@net-b.de>
8833
8834 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8835 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8836
4c5ba8d0
JJ
88372012-11-21 Jakub Jelinek <jakub@redhat.com>
8838
8839 PR libgomp/55411
8840 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8841 if pool had any threads_used.
8842
e9f958c2
JH
88432012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8844
8845 * testsuite/libgomp.c++/pr24455.C: Use
8846 -Wl,-undefined,dynamic_lookup on darwin.
8847
a57d75dc
DE
88482012-11-07 David Edelsohn <dje.gcc@gmail.com>
8849
8850 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8851
c6c08485
DH
88522012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8853
8854 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8855
c1f37c00
IB
88562012-10-23 Ian Bolton <ian.bolton@arm.com>
8857 Jim MacArthur <jim.macarthur@arm.com>
8858 Marcus Shawcroft <marcus.shawcroft@arm.com>
8859 Nigel Stephens <nigel.stephens@arm.com>
8860 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8861 Richard Earnshaw <rearnsha@arm.com>
8862 Sofiane Naci <sofiane.naci@arm.com>
8863 Stephen Thomas <stephen.thomas@arm.com>
8864 Tejas Belagod <tejas.belagod@arm.com>
8865 Yufeng Zhang <yufeng.zhang@arm.com>
8866
8867 * configure.tgt: Add AArch64.
8868
7c424acd
JM
88692012-10-04 Jason Merrill <jason@redhat.com>
8870
8871 * testsuite/libgomp.c++/tls-init1.C: New.
8872
6608378b
DE
88732012-09-14 David Edelsohn <dje.gcc@gmail.com>
8874
8875 * configure: Regenerated.
8876
c24dbebb
CLT
88772012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8878
8879 * config/linux/mips/futex.h (sys_futex0): Change to static
8880 function with noinline, nomips16 attributes under MIPS16. Adjust
8881 asm statement to place 'li v0,SYS_futex' immediately before
8882 syscall insn.
8883
3d3949df
SL
88842012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8885
8886 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8887 conflict with index.html on case-insensitive file systems.
8888
68a12ef3
UB
88892012-07-03 Uros Bizjak <ubizjak@gmail.com>
8890
8891 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8892 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8893
33ad93b9 88942012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8895 Michael Matz <matz@suse.de>
8896 Tobias Grosser <tobias@grosser.es>
8897 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8898
8899 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8900 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8901 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8902 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8903
e6fdc918
AS
89042012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8905
8906 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8907
62e0a1ed
RG
89082012-06-22 Richard Guenther <rguenther@suse.de>
8909
8910 Merge from graphite branch
8911 2012-01-13 Tobias Grosser <tobias@grosser.es>
8912
8913 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8914 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8915
26127932
JJ
89162012-06-07 Jakub Jelinek <jakub@redhat.com>
8917
8918 PR middle-end/53580
8919 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8920 use GOMP_barrier () call instead.
8921 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8922 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8923 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8924 call GOMP_barrier instead.
8925 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8926
43fa5db5
JJ
89272012-06-06 Jakub Jelinek <jakub@redhat.com>
8928
8929 PR libgomp/52993
8930 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8931 argument to memset call.
8932
e6d5f8c9
L
89332012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8934
8935 * configure: Regenerated.
8936
559d990c
MLI
89372012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8938
8939 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8940
b9c23a61
L
89412012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8942
8943 PR bootstrap/52812
8944 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8945
c140ddf3
JJ
89462012-03-22 Jakub Jelinek <jakub@redhat.com>
8947
8948 PR middle-end/52547
8949 * testsuite/libgomp.c/pr52547.c: New test.
8950
6a26a74d
BRF
89512012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8952
8953 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8954
b24513a1
RO
89552012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8956
8957 * configure.tgt (mips-sgi-irix6*): Remove.
8958
5c30094f
RO
89592012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8960
8961 * configure.tgt (alpha*-dec-osf*): Remove.
8962
8963 * config/osf/sem.h: Remove.
8964 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8965
a339c9d6
EB
89662012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8967
8968 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8969
cc2de92d
RO
89702012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8971
8972 PR libstdc++/52188
8973 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8974 Remove ENABLE_SYMVERS_SOL2.
8975 * configure: Regenerate.
8976 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8977 (PREPROCESS): New variable.
8978 (libgomp.ver): New target.
8979 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8980 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8981 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8982 Use libgomp.ver.
8983 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8984 * Makefile.in: Regenerate.
8985
dd552284
WL
89862012-02-14 Walter Lee <walt@tilera.com>
8987
8988 * configure.tgt: Handle tilegx and tilepro.
8989 * config/linux/tile/futex.h: New file.
8990
31432e21
RG
89912012-02-08 Richard Guenther <rguenther@suse.de>
8992
8993 PR tree-optimization/46886
8994 * testsuite/libgomp.c/pr46886.c: New testcase.
8995
b9264b5f
MK
89962012-01-25 Matthias Klose <doko@ubuntu.com>
8997
8998 * config/linux/arm: Remove empty directory.
8999 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9000
fbf7be80
AM
90012011-12-09 Alan Modra <amodra@gmail.com>
9002
9003 PR libgomp/51376
9004 * task.c (GOMP_taskwait): Don't access task->children outside of
9005 task_lock mutex region.
9006 (GOMP_task): Likewise.
9007
5de62d00
JJ
90082011-12-06 Jakub Jelinek <jakub@redhat.com>
9009
9010 PR libgomp/51132
9011 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9012 to file scope.
9013 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9014 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9015 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9016 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9017 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9018
45608a43
AM
90192011-12-02 Alan Modra <amodra@gmail.com>
9020
9021 * config/linux/affinity.c: Use atomic rather than sync builtin.
9022 * config/linux/lock.c: Likewise.
9023 * config/linux/ptrlock.h: Likewise.
9024 * config/linux/ptrlock.c: Likewise.
9025 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9026 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9027 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9028 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9029 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9030 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9031 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9032 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9033 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9034 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9035
ab6dd406
AM
90362011-11-30 Alan Modra <amodra@gmail.com>
9037
9038 PR libgomp/51298
9039 * config/linux/bar.h: Use atomic rather than sync builtins.
9040 * config/linux/bar.c: Likewise. Add missing acquire
9041 synchronisation on generation field.
9042 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9043 double unlock.
9044
b40c885f
AM
90452011-11-30 Alan Modra <amodra@gmail.com>
9046
9047 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9048 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9049 * config/linux/mutex.h: Use atomic rather than sync builtins.
9050 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9051 * config/linux/omp-lock.h: Comment fix.
9052 * config/linux/arm/mutex.h: Delete.
9053 * config/linux/powerpc/mutex.h: Delete.
9054 * config/linux/ia64/mutex.h: Delete.
9055 * config/linux/mips/mutex.h: Delete.
9056
3e348fcc
AM
90572011-11-30 Alan Modra <amodra@gmail.com>
9058
9059 PR libgomp/51249
9060 * config/linux/sem.h: Rewrite.
9061 * config/linux/sem.c: Rewrite.
9062
cef86eb2
RH
90632011-11-28 Richard Henderson <rth@redhat.com>
9064
9065 * libgomp.h (enum memmodel): New.
9066
c6084f68
AT
90672011-11-21 Andreas Tobler <andreast@fgznet.ch>
9068
9069 * configure: Regenerate.
9070
06fe026c
MK
90712011-10-10 Matthias Klose <doko@ubuntu.com>
9072
9073 * config/posix95: Remove empty directory.
9074
a6c975bd
JJ
90752011-08-26 Jakub Jelinek <jakub@redhat.com>
9076
9077 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9078
c26dffff
JJ
90792011-08-19 Jakub Jelinek <jakub@redhat.com>
9080
9081 PR fortran/49792
9082 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9083 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9084
ddaad3c8
RO
90852011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9086
9087 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9088
98d03683
RO
90892011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9090
9091 PR libgomp/49965
9092 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9093
e0b23d9f
UB
90942011-08-03 Uros Bizjak <ubizjak@gmail.com>
9095
9096 * config/linux/proc.h: New.
9097 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9098 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9099 (gomp_init_num_threads): Update call to cpuset_popcount.
9100 (get_num_procs): Ditto.
9101 * config/linux/affinity.c (gomp_init_affinity): Call
9102 gomp_cpuset_popcount.
9103
20906c66
JJ
91042011-08-02 Jakub Jelinek <jakub@redhat.com>
9105
9106 PR fortran/42041
9107 PR fortran/46752
9108 * omp.h.in (omp_in_final): New prototype.
9109 * omp_lib.f90.in (omp_in_final): New interface.
9110 (omp_integer_kind, omp_logical_kind): Remove
9111 and replace all its uses in the module with 4.
9112 (openmp_version): Change to 201107.
9113 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9114 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9115 kind for the parameters.
9116 (omp_in_final): New external.
9117 (openmp_version): Change to 201107.
9118 * task.c (omp_in_final): New function.
9119 (gomp_init_task): Initialize final_task.
9120 (GOMP_task): Remove unused attribute from flags. Handle final
9121 tasks.
9122 (GOMP_taskyield): New function.
9123 (omp_in_final): Return true if if (false) or final (true) task
9124 or descendant of final (true).
9125 * fortran.c (omp_in_final_): New function.
9126 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9127 (GOMP_3.0): Export GOMP_taskyield.
9128 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9129 variables.
9130 (parse_unsigned_long_list): New function.
9131 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9132 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9133 even if parse_affinity returned false.
9134 * config/linux/affinity.c (gomp_init_affinity): Handle
9135 gomp_cpu_affinity_len == 0.
9136 * libgomp_g.h (GOMP_taskyield): New prototype.
9137 * libgomp.h (struct gomp_task): Add final_task field.
9138 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9139 * team.c (gomp_team_start): Override new task's nthreads_var icv
9140 if list form OMP_NUM_THREADS has been used and it has value for
9141 the new nesting level.
9142
9143 * testsuite/libgomp.c/atomic-11.c: New test.
9144 * testsuite/libgomp.c/atomic-12.c: New test.
9145 * testsuite/libgomp.c/atomic-13.c: New test.
9146 * testsuite/libgomp.c/atomic-14.c: New test.
9147 * testsuite/libgomp.c/reduction-6.c: New test.
9148 * testsuite/libgomp.c/task-5.c: New test.
9149 * testsuite/libgomp.c++/atomic-2.C: New test.
9150 * testsuite/libgomp.c++/atomic-3.C: New test.
9151 * testsuite/libgomp.c++/atomic-4.C: New test.
9152 * testsuite/libgomp.c++/atomic-5.C: New test.
9153 * testsuite/libgomp.c++/atomic-6.C: New test.
9154 * testsuite/libgomp.c++/atomic-7.C: New test.
9155 * testsuite/libgomp.c++/atomic-8.C: New test.
9156 * testsuite/libgomp.c++/atomic-9.C: New test.
9157 * testsuite/libgomp.c++/task-8.C: New test.
9158 * testsuite/libgomp.c++/reduction-4.C: New test.
9159 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9160 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9161 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9162 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9163 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9164 * testsuite/libgomp.fortran/pointer1.f90: New test.
9165 * testsuite/libgomp.fortran/pointer2.f90: New test.
9166 * testsuite/libgomp.fortran/task4.f90: New test.
9167
91682011-08-02 Tobias Burnus <burnus@net-b.de>
9169
9170 * libgomp.texi: Update OpenMP spec references to 3.1.
9171 (omp_in_final,OMP_PROC_BIND): New sections.
9172 (OMP_NUM_THREADS): Document that the value can be now a list.
9173 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9174
c01ecafc
L
91752011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9176
9177 * config/linux/x86/futex.h: Check __x86_64__ instead of
9178 __LP64__.
9179
25142650
JJ
91802011-07-29 Jakub Jelinek <jakub@redhat.com>
9181
9182 PR middle-end/49897
9183 PR middle-end/49898
9184 * testsuite/libgomp.c/pr49897-1.c: New test.
9185 * testsuite/libgomp.c/pr49897-2.c: New test.
9186 * testsuite/libgomp.c/pr49898-1.c: New test.
9187 * testsuite/libgomp.c/pr49898-2.c: New test.
9188
f53d712f
L
91892011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9190
9191 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9192 for ia32 instead of ilp32.
9193
9194 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9195 * testsuite/libgomp.c/atomic-6.c: Likewise.
9196
3689198d
SP
91972011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9198
9199 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9200 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9201
1a79cb73
RO
92022011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9203
9204 PR libgomp/45351
9205 * config/osf/sem.h: New file.
9206 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9207
c1f51484
RO
92082011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9209
9210 PR target/49541
9211 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9212 ldflags.
9213
bfee0724
JJ
92142011-07-15 Jakub Jelinek <jakub@redhat.com>
9215
9216 * config/linux/wait.h (do_spin): New inline, largely copied
9217 from do_wait, just don't do futex_wait here, instead return true if
9218 it should be done.
9219 (do_wait): Implement using do_spin.
9220 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9221 to prototype.
9222 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9223 __sync_bool_compare_and_swap, pass the oldval to
9224 gomp_mutex_lock_slow.
9225 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9226 If all mutex contenders are just spinning and not sleeping, don't
9227 change state to 2 unnecessarily. Optimize the loop when state has
9228 already become 2 to use just one atomic operation per loop instead
9229 of two.
9230 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9231 to prototype.
9232 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9233 __sync_bool_compare_and_swap, pass the oldval to
9234 gomp_mutex_lock_slow.
9235
fb79f500
JJ
92362011-06-22 Jakub Jelinek <jakub@redhat.com>
9237
9238 PR libgomp/49490
9239 * iter.c (gomp_iter_static_next): For chunk size 0
9240 only use n ceil/ nthreads size for the first
9241 n % nthreads threads in the team instead of
9242 all threads except for the last few ones which
9243 get less work or none at all.
9244 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9245 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9246 chunk argument, set run_sched_modifier to 0 for static
9247 resp. 1 for other kinds. If chunk argument is 0
9248 and not static, set value to 1.
9249
4577f730
JJ
92502011-05-19 Jakub Jelinek <jakub@redhat.com>
9251
ea93a47b
JJ
9252 PR c++/49043
9253 * testsuite/libgomp.c++/pr49043.C: New test.
9254
4577f730
JJ
9255 PR c++/48869
9256 * testsuite/libgomp.c++/pr48869.C: New test.
9257
e7385332
JJ
92582011-05-06 Jakub Jelinek <jakub@redhat.com>
9259
9260 PR fortran/48894
9261 * fortran.c: Include limits.h.
9262 (TO_INT): Define.
9263 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9264 *set.
9265 (omp_set_num_threads_8_, omp_set_schedule_8_,
9266 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9267 omp_get_team_size_8_): Use TO_INT macro.
9268 * testsuite/libgomp.fortran/pr48894.f90: New test.
9269
20790697
JJ
92702011-04-13 Jakub Jelinek <jakub@redhat.com>
9271
9272 PR middle-end/48591
9273 * testsuite/libgomp.c/pr48591.c: New test.
9274
bf382f5f
RO
92752011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9276
9277 PR bootstrap/48135
9278 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9279 * configure: Regenerate.
9280
113a53c1
JJ
92812011-02-27 Jakub Jelinek <jakub@redhat.com>
9282
9283 PR fortran/47886
9284 * testsuite/libgomp.fortran/task3.f90: New test.
9285
0024f1af
TB
92862011-02-24 Tobias Burnus <burnus@net-b.de>
9287
9288 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9289
21e1e594
JJ
92902011-02-23 Jakub Jelinek <jakub@redhat.com>
9291
9292 PR libgomp/47854
9293 * libgomp.texi (omp_get_wtime): Don't say time in the past
9294 must be Unix Epoch.
9295
67962076
JJ
92962011-02-18 Jakub Jelinek <jakub@redhat.com>
9297
9298 PR libgomp/47804
9299 * testsuite/libgomp.fortran/fortran.exp: Check for both
9300 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9301 but $blddir != "", still append ${blddir}/${lang_library_path}
9302 to ld_library_path.
9303
3808007c
TB
93042011-02-16 Tobias Burnus <burnus@net-b.de>
9305
9306 PR libgomp/47758
9307 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9308 of libquadmath.a before adding its libpath to ldflags.
9309
53b4d41d
JJ
93102011-02-14 Jakub Jelinek <jakub@redhat.com>
9311
9312 PR libgomp/47731
9313 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9314 to FUTEX_WAIT futex syscall.
9315 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9316
029c8f3e
RW
93172011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9318
9319 * configure: Regenerate.
9320
bddd6626
BK
93212011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9322
9323 PR libstdc++/36104
9324 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9325
f1d4ab26
GP
93262011-01-16 Gerald Pfeifer
9327
9328 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9329
2b503136
JJ
93302010-12-14 Jakub Jelinek <jakub@redhat.com>
9331
9332 PR fortran/46874
9333 * libgomp.fortran/allocatable6.f90: New test.
9334
c0f9d583
RO
93352010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9336
9337 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9338 * configure: Regenerate.
9339
7de6ba7a
DK
93402010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
9341
9342 PR target/40125
9343 PR lto/46695
9344 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9345 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9346 * aclocal.m4: Regenerate.
9347 * configure: Regenerate.
9348 * Makefile.in: Regenerate.
9349 * testsuite/Makefile.in: Regenerate.
9350
b7516041
JJ
93512010-12-02 Jakub Jelinek <jakub@redhat.com>
9352
edaadf74
JJ
9353 PR fortran/46753
9354 * libgomp.fortran/pr46753.f90: New test.
9355
4c698cf8
JJ
9356 PR libgomp/43706
9357 * env.c (initialize_env): Default to spin count 300000
9358 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9359 is specified.
9360
b7516041
JJ
9361 PR libgomp/45240
9362 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9363 at the end if sync builtins aren't supported.
9364
6b43a34c
RO
93652010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9366
9367 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9368
950691fa
RO
93692010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9370
9371 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9372
fb9041ea
IS
93732010-11-24 Iain Sandoe <iains@gcc.gnu.org>
9374
9375 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9376
1ec601bf
FXC
93772010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9378 Tobias Burnus <burnus@net-b.de>
9379
9380 PR fortran/32049
3e348fcc 9381 * configure.ac:
1ec601bf
FXC
9382 * configure: Regenerate.
9383
d213e92e
MS
93842010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
9385
9386 * config/linux/futex.h: New.
9387 * config/linux/arm/mutex.h: New.
9388 * configure.tgt (arm*-*-linux*): Add config path.
9389
89d5c66f
SP
93902010-09-30 Sebastian Pop <sebastian.pop@amd.com>
9391
9392 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9393
87350d4a
TB
93942010-09-23 Tobias Burnus <burnus@net-b.de>
9395
9396 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9397 Change Fortran datatype to LOGICAL.
9398 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9399 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9400
75bc9e5e
RW
94012010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9402
9403 * configure: Regenerate.
9404
acb5c916
JJ
94052010-07-26 Jakub Jelinek <jakub@redhat.com>
9406
9407 * libgomp.texi: Add function keyword to a couple of Fortran
9408 interfaces, use integer instead of int for Fortran.
9409
6a2ba183
AH
94102010-07-26 Aldy Hernandez <aldyh@redhat.com>
9411
9412 * libgomp.texi: Fix spelling and pasto problems throughout.
9413 Adjust prototypes to match code.
9414
df161b69
TB
94152010-07-24 Tobias Burnus <burnus@net-b.de>
9416
9417 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9418 silence -fwhole-file warning.
9419
16c9d3b1
RO
94202010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9421
9422 * configure.tgt (*-*-solaris2.[56]*): Removed.
9423
6d28b933
RO
94242010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9425
9426 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9427 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9428 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9429 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9430 targetting solaris2*.
9431 * configure: Regenerate.
9432 * config.h.in: Regenerate.
9433
9434 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9435 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9436 Add libgomp_version_dep.
9437 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9438 versioning.
9439 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9440 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9441 * Makefile.in: Regenerate.
9442
9443 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9444 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9445 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9446 to common block, protected by
9447 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9448
07a67d6a
GP
94492010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
9450
9451 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
9452
dbd34b89
IS
94532010-06-09 Iain Sandoe <iains@gcc.gnu.org>
9454
9455 PR bootstrap/43170
9456 * configure: Regenerate.
9457
13917ae3
RW
94582010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9459
9460 PR other/43620
9461 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9462 * configure: Regenerate.
9463 * Makefile.in: Regenerate.
9464 * testsuite/Makefile.in: Regenerate.
9465
b83a701b
JJ
94662010-04-26 Jakub Jelinek <jakub@redhat.com>
9467
9468 PR c/43893
9469 * testsuite/libgomp.c/pr43893.c: New test.
9470 * testsuite/libgomp.c++/pr43893.C: New test.
9471
78db7d92
JJ
94722010-04-21 Jakub Jelinek <jakub@redhat.com>
9473
9474 PR middle-end/43570
9475 * testsuite/libgomp.fortran/vla8.f90: New test.
9476
5221d7a9
JJ
94772010-04-20 Jakub Jelinek <jakub@redhat.com>
9478
e4ba7a60
JJ
9479 PR libgomp/43706
9480 * config/linux/affinity.c (gomp_init_affinity): Decrease
9481 gomp_available_cpus if affinity mask confines the process to fewer
9482 CPUs.
9483 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9484 non-NULL, just return gomp_available_cpus.
9485
5221d7a9
JJ
9486 PR libgomp/43569
9487 * sections.c (gomp_sections_init): Initialize ws->mode.
9488
289a9f86
UB
94892010-04-14 Uros Bizjak <ubizjak@gmail.com>
9490
9491 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9492 not unused bar variable.
9493 * configure: Regenerate.
9494
4d9e8446
RW
94952010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9496
9497 * Makefile.in: Regenerate.
9498 * aclocal.m4: Regenerate.
9499 * testsuite/Makefile.in: Regenerate.
9500
80f046cc
JJ
95012010-03-22 Jakub Jelinek <jakub@redhat.com>
9502
9503 PR libgomp/42942
9504 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9505 (initialize_env): Adjust callers.
9506 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9507 when the argument is 0.
9508
9509 * testsuite/libgomp.c/pr42942.c: New test.
9510
b58543c3
SP
95112010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9512
9513 PR middle-end/42644
9514 PR middle-end/42130
9515 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9516 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9517
41d1138f
RO
95182010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9519
9520 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9521 * testsuite/libgomp.c++/task-6.C: Likewise.
9522
6684eb28
SE
95232010-01-28 Steve Ellcey <sje@cup.hp.com>
9524
9525 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9526
2122aa97
PB
95272010-01-26 Paolo Bonzini <bonzini@gnu.org>
9528
9529 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9530 * configure: Regenerate.
9531
057dd91d
JJ
95322010-01-26 Jakub Jelinek <jakub@redhat.com>
9533
9534 PR fortran/42866
9535 * testsuite/libgomp.fortran/allocatable5.f90: New test.
9536
d0709b6a
PB
95372010-01-20 Paolo Bonzini <bonzini@gnu.org>
9538
9539 * configure.ac: Test for executability of GFORTRAN.
9540 * configure: Regenerate.
9541
b9497ab5
RO
95422010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9543
9544 * configure: Regenerate.
9545
45de5648
L
95462010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9547
9548 PR libgomp/42602
9549 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9550
e74003a1
RG
95512010-01-03 Richard Guenther <rguenther@suse.de>
9552
9553 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9554
1b3abda8
SP
95552009-12-23 Sebastian Pop <sebpop@gmail.com>
9556
9557 * testsuite/libgomp.graphite/pr4118.c: New.
9558
e19977d3
IS
95592009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9560
9561 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9562 for darwin, protect the test with require-effective-target tls_runtime.
9563 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9564
1d32a772
IS
95652009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9566
9567 PR target/41605
9568 * testsuite/lib/libgomp.exp: Provide -B options to allow for
9569 link spec %s substitutions for static libraries.
9570
deb109b2
JH
95712009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
9572
9573 PR testsuite/42135
9574 * libgomp.graphite/force-parallel-2.c: Reduce array size.
9575
43e02a8a
RW
95762009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9577
9578 * Makefile.in: Regenerate.
9579 * configure: Regenerate.
9580 * testsuite/Makefile.in: Regenerate.
9581
17f35e23
DK
95822009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
9583
9584 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9585 settings for LC_ALL and LANG.
9586
281e33e1
JJ
95872009-11-25 Jakub Jelinek <jakub@redhat.com>
9588
9589 PR fortran/42162
9590 * testsuite/libgomp.fortran/pr42162.f90: New test.
9591
2b32c27d
JJ
95922009-11-13 Jakub Jelinek <jakub@redhat.com>
9593
9594 PR middle-end/42029
281e33e1 9595 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 9596
89c74f4a
JJ
95972009-10-26 Jakub Jelinek <jakub@redhat.com>
9598
9599 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
9600 *s. Accept ld version without text in ()s.
9601 * configure: Regenerated.
9602
7e06c3d6
EB
96032009-10-22 Razya Ladelsky <razya@il.ibm.com>
9604
9605 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
9606
0046b1a7
RW
96072009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9608
9609 PR libgomp/41418
9610 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
9611 or a hyphen (happens with fortran language disabled).
9612 * configure: Regenerate.
9613
c82852f7
RW
96142009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9615
9616 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
9617 use sed script portable to Solaris /bin/sed for extracting ld
9618 version.
9619 * configure: Regenerate.
9620
98f3eb1f
AM
96212009-09-17 Alexander Monakov <amonakov@ispras.ru>
9622
9623 * testsuite/libgomp.graphite/bounds.c: New test.
9624
878f62e5
RW
96252009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9626
9627 * Makefile.am (libgomp_la_LINK): New.
9628 * Makefile.in: Regenerate.
9629
df58e648
RW
96302009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9631
9632 * configure.ac (AC_PREREQ): Bump to 2.64.
9633
5213506e
RW
96342009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9635
70fa0efa
RW
9636 * Makefile.am (install-html, install-pdf): Remove.
9637 * Makefile.in: Regenerate.
9638
5213506e
RW
9639 * Makefile.in: Regenerate.
9640 * aclocal.m4: Regenerate.
9641 * config.h.in: Regenerate.
9642 * configure: Regenerate.
9643 * testsuite/Makefile.in: Regenerate.
9644
84fec8a5
RW
96452009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9646
9647 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
9648 * Makefile.in: Regenerate.
9649
197c68cc
DK
96502009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
9651
9652 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
9653 * Makefile.in: Regenerate.
9654
693d54f2
TB
96552009-08-19 Tobias Burnus <burnus@net-b.de>
9656
9657 PR fortran/41102
9658 omp_lib.h.in: Fix -std=f95 errors.
9659
8cac884c
DE
96602009-08-14 David Edelsohn <edelsohn@gnu.org>
9661
9662 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
9663 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
9664 * testsuite/libgomp.graphite/graphite.exp: New.
9665
78729ee2
AT
96662009-08-05 Andreas Tobler <a.tobler@schweiz.org>
9667
9668 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
9669 only build.
9670
b13b7f39
DD
96712009-08-04 David Daney <ddaney@caviumnetworks.com>
9672
9673 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
9674 needed memory barrier semantics.
9675 * config/linux/mips/mutex.h: New file.
9676
1b3b24c2
RW
96772009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9678
9679 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
9680
396b7fa4
JM
96812009-07-16 Joseph Myers <joseph@codesourcery.com>
9682
9683 * configure: Regenerate.
9684
33cde516
RS
96852009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
9686
9687 PR testsuite/40699
9688 PR testsuite/40707
9689 PR testsuite/40709
9690 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
9691 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
9692 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
9693
bc21bfa5
RS
96942009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
9695
9696 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
9697 options when choosing a multilib.
9698
b30bfd40
RS
96992009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
9700
9701 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
9702 ld_library_path. Use add_path. Add just find_libgcc_s to
9703 ld_library_path, not every libgcc multilib directory.
9704 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
9705 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
9706 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
9707 Use add_path.
9708 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
9709
479c15c2
NF
97102009-06-09 Nathan Froyd <froydnj@codesourcery.com>
9711
9712 * Makefile.am (LTLDFLAGS): Define.
9713 (LINK): Define.
9714 * Makefile.in: Regenerate.
9715
667e6f89
JB
97162009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
9717
9718 PR fortran/39718
9719 * testsuite/libgomp.fortran/fortran.exp: Don't link with
9720 libgfortranbegin, check existence of libgfortran.a instead of
9721 libgfortranbegin.a.
9722
6dea8e99
JJ
97232009-05-20 Jakub Jelinek <jakub@redhat.com>
9724
9725 PR libgomp/40174
9726 * team.c (gomp_thread_start): Destroy thr->release semaphore.
9727 (gomp_free_pool_helper): Likewise.
9728
34d01e1d
VL
97292009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
9730 Jakub Jelinek <jakub@redhat.com>
9731
9732 PR fortran/35423
9733 * testsuite/libgomp.fortran/workshare2.f90: New test.
9734
748086b7
JJ
97352009-04-09 Nick Clifton <nickc@redhat.com>
9736
9737 * iter.c: Change copyright header to refer to version 3 of the
9738 GNU General Public License with version 3.1 of the GCC Runtime
9739 Library Exception and to point readers at the COPYING3 and
9740 COPYING3.RUNTIME files and the FSF's license web page.
9741 * alloc.c: Likewise.
9742 * barrier.c: Likewise.
9743 * config/bsd/proc.c: Likewise.
9744 * config/linux/affinity.c: Likewise.
9745 * config/linux/alpha/futex.h: Likewise.
9746 * config/linux/bar.c: Likewise.
9747 * config/linux/bar.h: Likewise.
9748 * config/linux/ia64/futex.h: Likewise.
9749 * config/linux/ia64/mutex.h: Likewise.
9750 * config/linux/lock.c: Likewise.
9751 * config/linux/mips/futex.h: Likewise.
9752 * config/linux/mutex.c: Likewise.
9753 * config/linux/mutex.h: Likewise.
9754 * config/linux/powerpc/futex.h: Likewise.
9755 * config/linux/proc.c: Likewise.
9756 * config/linux/ptrlock.c: Likewise.
9757 * config/linux/ptrlock.h: Likewise.
9758 * config/linux/s390/futex.h: Likewise.
9759 * config/linux/sem.c: Likewise.
9760 * config/linux/sem.h: Likewise.
9761 * config/linux/sparc/futex.h: Likewise.
9762 * config/linux/wait.h: Likewise.
9763 * config/linux/x86/futex.h: Likewise.
9764 * config/mingw32/proc.c: Likewise.
9765 * config/mingw32/time.c: Likewise.
9766 * config/posix/affinity.c: Likewise.
9767 * config/posix/bar.c: Likewise.
9768 * config/posix/bar.h: Likewise.
9769 * config/posix/lock.c: Likewise.
9770 * config/posix/mutex.h: Likewise.
9771 * config/posix/proc.c: Likewise.
9772 * config/posix/ptrlock.h: Likewise.
9773 * config/posix/sem.c: Likewise.
9774 * config/posix/sem.h: Likewise.
9775 * config/posix/time.c: Likewise.
9776 * config/posix95/lock.c: Likewise.
9777 * critical.c: Likewise.
9778 * env.c: Likewise.
9779 * error.c: Likewise.
9780 * fortran.c: Likewise.
9781 * iter_ull.c: Likewise.
9782 * libgomp.h: Likewise.
9783 * libgomp_f.h.in: Likewise.
9784 * libgomp_g.h: Likewise.
9785 * loop.c: Likewise.
9786 * loop_ull.c: Likewise.
9787 * omp.h.in: Likewise.
9788 * omp_lib.f90.in: Likewise.
9789 * omp_lib.h.in: Likewise.
9790 * ordered.c: Likewise.
9791 * parallel.c: Likewise.
9792 * sections.c: Likewise.
9793 * single.c: Likewise.
9794 * task.c: Likewise.
9795 * team.c: Likewise.
9796 * work.c: Likewise.
9797
97982009-04-09 Jakub Jelinek <jakub@redhat.com>
9799
9800 * testsuite/config/default.exp: Change copyright header to refer to
9801 version 3 of the GNU General Public License and to point readers
9802 at the COPYING3 file and the FSF's license web page.
9803
4f0ae266
JJ
98042009-04-08 Jakub Jelinek <jakub@redhat.com>
9805
9806 PR middle-end/39573
9807 * libgomp.c++/pr39573.C: New test.
9808
03742a9b
JJ
98092009-04-01 Jakub Jelinek <jakub@redhat.com>
9810
9811 PR other/39591
9812 * testsuite/libgomp.c/pr39591-1.c: New test.
9813 * testsuite/libgomp.c/pr39591-2.c: New test.
9814 * testsuite/libgomp.c/pr39591-3.c: New test.
9815
e50ea10b
UB
98162009-03-25 Uros Bizjak <ubizjak@gmail.com>
9817
9818 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9819 * testsuite/libgomp.c/atomic-6.c: Ditto.
9820
c5cdb03f
JJ
98212009-03-23 Jakub Jelinek <jakub@redhat.com>
9822
9823 PR c/39495
9824 * testsuite/libgomp.c/loop-12.c: New test.
9825 * testsuite/libgomp.c/loop-11.c: New test.
9826 * testsuite/libgomp.c++/loop-11.C: New test.
9827 * testsuite/libgomp.c++/loop-12.C: New test.
9828 * testsuite/libgomp.c++/for-8.C: New test.
9829
7a9d3fe8
RW
98302009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9831
9832 * configure: Regenerate.
9833
3ad6b266
JJ
98342009-02-11 Jakub Jelinek <jakub@redhat.com>
9835
9836 PR middle-end/39154
9837 * testsuite/libgomp.c/pr39154.c: New test.
9838
b39dea08
ILT
98392009-01-30 Ian Lance Taylor <iant@google.com>
9840
9841 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9842 libgomp_ld_is_gold. Get gold version number.
9843 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9844 * configure: Rebuild.
9845
72c66596
IS
98462009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9847
e50ea10b 9848 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
9849 use libgfortran.a%s in their specs.
9850
876080ff
JJ
98512009-01-07 Jakub Jelinek <jakub@redhat.com>
9852
9853 PR libgomp/38086
9854 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9855 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9856 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9857 * configure: Regenerated.
9858 * config.h.in: Likewise.
9859
e4ebaef3
JJ
98602008-12-28 Jakub Jelinek <jakub@redhat.com>
9861
9862 PR c++/38650
9863 * testsuite/libgomp.c/pr38650.c: New test.
9864 * testsuite/libgomp.c++/pr38650.C: New test.
9865
382017a6
JJ
98662008-12-27 Jakub Jelinek <jakub@redhat.com>
9867
9868 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9869
79644b27
UB
98702008-12-26 Uros Bizjak <ubizjak@gmail.com>
9871
9872 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9873
baafc534
RW
98742008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9875
9876 * configure: Regenerate.
9877
d9c194cb
JJ
98782008-12-08 Jakub Jelinek <jakub@redhat.com>
9879
9880 PR middle-end/36802
9881 * testsuite/libgomp.c/pr36802-1.c: New test.
9882 * testsuite/libgomp.c/pr36802-2.c: New test.
9883 * testsuite/libgomp.c/pr36802-3.c: New test.
9884
86a182bf
JJ
98852008-12-01 Janis Johnson <janis187@us.ibm.com>
9886
9887 PR libgomp/38270
9888 * config/linux/powerpc/mutex.h: New.
9889
956adfaf
JJ
98902008-12-01 Jakub Jelinek <jakub@redhat.com>
9891
a2d4cdc9
JJ
9892 PR c++/38257
9893 * testsuite/libgomp.c++/for-7.C: New test.
9894
956adfaf
JJ
9895 PR c++/38348
9896 * testsuite/libgomp.c++/for-6.C: New test.
9897
d4038ca2
JJ
98982008-11-26 Janis Johnson <janis187@us.ibm.com>
9899
9900 PR testsuite/28870
9901 * testsuite/lib/libgomp.exp: Include new timeout library files.
9902 (libgomp_target_compile): Set timeout value from new proc.
9903
8b159eea
SE
99042008-11-13 Steve Ellcey <sje@cup.hp.com>
9905
9906 PR libgomp/37938
9907 * config/linux/ia64/mutex.h: New.
9908
5c6ed53a
TB
99092008-11-04 Tobias Burnus <burnus@net-b.de>
9910
9911 PR libgomp/37935
9912 * libgomp.texi (Runtime library routines, environment variables):
9913 Update for OpenMP version 3.0.
9914
6b4a97ed
PG
99152008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9916 Steve Ellcey <sje@cup.hp.com>
9917
9918 * configure: Regenerate for new libtool.
9919 * Makefile.in: Ditto.
9920 * testsuite/Makefile.in: Ditto.
9921
e2b34106
JJ
99222008-09-19 Jakub Jelinek <jakub@redhat.com>
9923 Andreas Tobler <a.tobler@schweiz.org>
9924
9925 * config/bsd/proc.c: New file.
8c3b3600 9926 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9927 * configure.ac: Check for header <sys/sysctl.h>
9928 * configure: Regenerate.
9929 * config.h.in: Likewise.
9930
3606b8bf
JJ
99312008-09-05 Janis Johnson <janis187@us.ibm.com>
9932
9933 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9934
6528b88d
AL
99352008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9936
9937 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9938 * Makefile.in: Regenerated.
9939 * testsuite/Makefile.in: Regenerated.
9940
d9b14b12 99412008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9942
a16b68bb 9943 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9944 depend on blddir if blddir exists.
9945 (libgomp_target_compile): Likewise.
9946 * testsuite/libgomp.c++/c++.exp: Likewise.
9947 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9948
70b1e376
RW
99492008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9950
9951 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9952 Do not list GPL as Invariant Section.
9953
318e8c3f
IG
99542008-07-28 Ilie Garbacea <ilie@mips.com>
9955 Chao-ying Fu <fu@mips.com>
9956
9957 * configure.tgt: Enable futex for MIPS.
9958 * config/linux/mips/futex.h: New file.
9959
4db72361
JJ
99602008-07-16 Jakub Jelinek <jakub@redhat.com>
9961
9962 * team.c (gomp_team_end): Free team immediately if it has
9963 just one thread.
9964
87bd23b8
DE
99652008-07-08 David Edelsohn <edelsohn@gnu.org>
9966
9967 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9968 * testsuite/libgomp.fortran/fortran.exp: Same.
9969 * testsuite/libgomp.c/c.exp: Same.
9970 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9971 directory to library path first.
9972
323ff903
KW
99732008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9974
9975 * env.c (parse_stacksize): Add cast to avoid warning.
9976 (parse_spincount): Likewise.
9977
b357f682
JJ
99782008-06-27 Jakub Jelinek <jakub@redhat.com>
9979
ca2b1311
JJ
9980 * testsuite/libgomp.c/loop-10.c: New test.
9981 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9982 * libgomp.c++/loop-6.C (main): Likewise.
9983
b357f682
JJ
9984 PR debug/36617
9985 * testsuite/libgomp.c/debug-1.c: New test.
9986
09a46078
JJ
99872008-06-19 Jakub Jelinek <jakub@redhat.com>
9988
9989 * testsuite/libgomp.c/nqueens-1.c: New test.
9990
2368a460
JJ
9991 PR c++/36523
9992 * testsuite/libgomp.c++/task-7.C: New function.
9993
18c04407
RW
99942008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9995
9996 * configure: Regenerate.
9997
9c4e59e0
JDA
99982008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9999
10000 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10001 mutex when HAVE_SYNC_BUILTINS isn't defined.
10002
6ccde948
RW
100032008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10004
10005 * libgomp.texi (omp_test_lock): Fix typo.
10006
b896f9fd
TB
100072008-06-12 Tobias Burnus <burnus@net-b.de>
10008
10009 * omp_lib.f90.in: Add "implicit none".
10010
c34938a8
JJ
100112008-06-12 Jakub Jelinek <jakub@redhat.com>
10012
10013 PR middle-end/36506
10014 * testsuite/libgomp.c/reduction-5.c: New test.
10015
976e44e3
JJ
100162008-06-11 Jakub Jelinek <jakub@redhat.com>
10017
5f836cbb
JJ
10018 * libgomp.h (struct gomp_task): Add in_tied_task field.
10019 * task.c (gomp_init_task): Initialize it.
10020 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10021 unconditionally. Don't call gomp_team_barrier_wake if
10022 current task is implicit or if(0) from implicit and number of
10023 running tasks is equal to nthreads - 1.
10024
01501fc8
JJ
10025 PR libgomp/36471
10026 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10027 omp_get_team_size_8): Fix pastos.
10028
976e44e3
JJ
10029 PR libgomp/36469
10030 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10031 * configure: Regenerated.
10032 * config.h.in: Regenerated.
10033 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10034 defined.
10035
e919209b
AT
100362008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10037
10038 PR bootstrap/36452
10039 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10040 (GOMP_loop_ull_dynamic_start): Likewise.
10041 (GOMP_loop_ull_guided_start): Likewise.
10042 (GOMP_loop_ull_ordered_static_start): Likewise.
10043 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10044 (GOMP_loop_ull_ordered_guided_start): Likewise.
10045
a68ab351
JJ
100462008-06-06 Jakub Jelinek <jakub@redhat.com>
10047 Richard Henderson <rth@redhat.com>
10048 Ulrich Drepper <drepper@redhat.com>
10049 Jakob Blomer <jakob.blomer@ira.uka.de>
10050
10051 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10052 Substitute also OMP_*LOCK_25*.
10053 * configure: Regenerated.
10054 * config.h.in: Regenerated.
10055 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10056 ptrlock.c and task.c.
10057 * Makefile.in: Regenerated.
10058 * testsuite/Makefile.in: Regenerated.
10059 * task.c: New file.
10060 * loop_ull.c: New file.
10061 * iter_ull.c: New file.
10062 * libgomp.h: Include ptrlock.h.
10063 (enum gomp_task_kind): New type.
10064 (struct gomp_team): Add task_lock, task_queue, task_count,
10065 task_running_count, single_count fields. Add
10066 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10067 Remove work_share_lock, generation_mask,
10068 oldest_live_gen, num_live_gen and init_work_shares fields, add
10069 work work_share_list_alloc, work_share_list_free and work_share_chunk
10070 fields. Change work_shares from pointer to pointers into an array.
10071 Change ordered_release field into gomp_sem_t ** from flexible array
10072 member. Add implicit_task and initial_work_shares fields.
10073 Move close to the end of the struct.
10074 (struct gomp_team_state): Add single_count, last_work_share,
10075 active_level and level fields, remove work_share_generation.
10076 (gomp_barrier_handle_tasks): New prototype.
10077 (gomp_finish_task): New inline function.
10078 (struct gomp_work_share): Move chunk_size, end, incr into
10079 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10080 next_ll fields. Reshuffle fields. Add next_alloc,
10081 next_ws, next_free and inline_ordered_team_ids fields, change
10082 ordered_team_ids into pointer from flexible array member.
10083 Add mode field. Put lock and next into a different cache line
10084 from most of the write-once fields.
10085 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10086 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10087 gomp_iter_ull_guided_next): New prototypes.
10088 (gomp_new_icv): New prototype.
10089 (struct gomp_thread): Add thread_pool and task fields.
10090 (struct gomp_thread_pool): New type.
10091 (gomp_new_team): New prototype.
10092 (gomp_team_start): Change type of last argument.
10093 (gomp_new_work_share): Removed.
10094 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10095 (gomp_work_share_init_done): New static inline.
10096 (gomp_throttled_spin_count_var, gomp_available_cpus,
10097 gomp_managed_threads): New extern decls.
10098 (gomp_init_task): New prototype.
10099 (gomp_spin_count_var): New extern var decl.
10100 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10101 or no alias support, or if not PIC.
10102 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10103 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10104 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10105 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10106 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10107 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10108 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10109 gomp_test_nest_lock_25): New prototypes.
10110 (omp_lock_symver, strong_alias): Define.
10111 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10112 decls.
10113 (gomp_end_task): New.
10114 (struct gomp_task_icv, gomp_global_icv): New.
10115 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10116 (struct gomp_task): New.
10117 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10118 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10119 (gomp_icv): New.
10120 (gomp_schedule_type): Reorder enum to match
10121 omp_sched_t.
10122 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10123 fields.
10124 (gomp_thread_start): Add gomp_team_barrier_wait call.
10125 For non-nested case remove clearing of docked thread thr fields.
10126 Use pool fields instead of global gomp_* variables. Use
10127 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10128 Create tasks for each member thread.
10129 (free_team): Only destroy team barrier, task_lock here and free it.
10130 (gomp_free_thread): Free last_team if non-NULL.
10131 (gomp_team_end): Call gomp_team_barrier_wait instead of
10132 gomp_barrier_wait. For nested case call one extra
10133 gomp_barrier_wait. Move here some destruction from free_team.
10134 Call free_team on pool->last_team if any, rather than freeing
10135 current team. Destroy work_share_list_free_lock ifndef
10136 HAVE_SYNC_BUILTINS.
10137 (gomp_new_icv): New function.
10138 (gomp_threads, gomp_threads_size, gomp_threads_used,
10139 gomp_threads_dock): Removed.
10140 (gomp_thread_destructor): New variable.
10141 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10142 functions.
10143 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 10144 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
10145 Initialize thread_pool field for new threads. Clear single_count.
10146 Change last argument from ws to team, don't create
10147 new team, set ts.work_share to &team->work_shares[0] and clear
10148 ts.last_work_share. Don't clear ts.work_share_generation.
10149 If number of threads changed, adjust atomically gomp_managed_threads.
10150 Use gomp_init_task instead of gomp_new_task,
10151 set thr->task to the corresponding implicit_task array entry.
10152 Create tasks for each member thread. Initialize ts.level.
10153 (initialize_team): Call pthread_key_create on
10154 gomp_thread_destructor.
10155 (team_destructor): New function.
10156 (new_team): Removed.
10157 (gomp_new_team): New function.
10158 (free_team): Free gomp_work_share blocks chained through next_alloc,
10159 instead of freeing work_shares and destroying work_share_lock.
10160 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10161 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10162 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10163 of gomp_barrier_wait.
10164 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10165 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10166 if gomp_work_share_start returned true. Don't unlock ws->lock.
10167 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10168 of gomp_barrier_wait.
10169 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10170 gomp_work_share_init_done if gomp_work_share_start returned true.
10171 Don't unlock ws->lock.
10172 * work.c: Include stddef.h.
10173 (free_work_share): Use work_share_list_free_lock instead
10174 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10175 Call gomp_fini_work_share and then either free ws if orphaned, or
10176 put it into work_share_list_free list of the current team.
10177 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10178 functions.
10179 (gomp_work_share_start, gomp_work_share_end,
10180 gomp_work_share_end_nowait): Rewritten.
10181 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10182 (openmp_version): Set to 200805.
10183 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10184 omp_sched_guided, omp_sched_auto): New parameters.
10185 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10186 omp_set_max_active_levels, omp_get_max_active_levels,
10187 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10188 omp_get_active_level): New interfaces.
10189 * omp_lib.h.in (openmp_version): Set to 200805.
10190 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10191 omp_sched_guided, omp_sched_auto): New parameters.
10192 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10193 omp_set_max_active_levels, omp_get_max_active_levels,
10194 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10195 omp_get_active_level): New externals.
10196 * loop.c: Include limits.h.
10197 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10198 GFS_AUTO.
10199 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10200 Likewise. Use gomp_icv.
10201 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10202 ts.static_trip here.
10203 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10204 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10205 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10206 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10207 don't unlock ws->lock, otherwise lock it.
10208 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10209 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10210 (gomp_parallel_loop_start): Call gomp_new_team instead of
10211 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10212 Adjust gomp_team_start caller. Pass 0 as second argument to
10213 gomp_resolve_num_threads.
10214 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10215 If adding ws->chunk_size nthreads + 1 times after end won't
10216 overflow, set ws->mode to 1.
10217 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10218 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10219 GOMP_loop_ull_ordered_static_start,
10220 GOMP_loop_ull_ordered_dynamic_start,
10221 GOMP_loop_ull_ordered_guided_start,
10222 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10223 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10224 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10225 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10226 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10227 prototypes.
10228 * libgomp.map: Export lock routines also @@OMP_2.0.
10229 (GOMP_loop_ordered_dynamic_first,
10230 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10231 GOMP_loop_ordered_static_first): Remove.
10232 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10233 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10234 GOMP_loop_ull_ordered_dynamic_next,
10235 GOMP_loop_ull_ordered_dynamic_start,
10236 GOMP_loop_ull_ordered_guided_next,
10237 GOMP_loop_ull_ordered_guided_start,
10238 GOMP_loop_ull_ordered_runtime_next,
10239 GOMP_loop_ull_ordered_runtime_start,
10240 GOMP_loop_ull_ordered_static_next,
10241 GOMP_loop_ull_ordered_static_start,
10242 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10243 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10244 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10245 (omp_set_schedule, omp_get_schedule,
10246 omp_get_thread_limit, omp_set_max_active_levels,
10247 omp_get_max_active_levels, omp_get_level,
10248 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10249 omp_set_schedule_, omp_set_schedule_8_,
10250 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10251 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10252 omp_get_max_active_levels_, omp_get_level_,
10253 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10254 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10255 New exports @@OMP_3.0.
10256 * omp.h.in (omp_sched_t): New type.
10257 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10258 omp_set_max_active_levels, omp_get_max_active_levels,
10259 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10260 omp_get_active_level): New prototypes.
10261 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10262 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10263 gomp_thread_limit_var, gomp_remaining_threads_count,
10264 gomp_remaining_threads_lock): New variables.
10265 (parse_spincount): New function.
10266 (initialize_env): Call gomp_init_num_threads unconditionally.
10267 Initialize gomp_available_cpus. Call parse_spincount,
10268 initialize gomp_{,throttled_}spin_count_var
10269 depending on presence and value of OMP_WAIT_POLICY and
10270 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10271 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10272 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10273 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10274 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10275 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10276 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10277 (gomp_global_icv): New.
10278 (parse_schedule): Use it. Parse "auto".
10279 (omp_set_num_threads): Use gomp_icv.
10280 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10281 Likewise.
10282 (omp_get_max_threads): Move from parallel.c.
10283 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10284 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10285 add ialias.
10286 (parse_stacksize, parse_wait_policy): New functions.
10287 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10288 both wrappers for compatibility and new locks.
10289 (omp_set_schedule, omp_get_schedule,
10290 omp_get_thread_limit, omp_set_max_active_levels,
10291 omp_get_max_active_levels, omp_get_level,
10292 omp_get_ancestor_thread_num, omp_get_team_size,
10293 omp_get_active_level): New ialias_redirect.
10294 (omp_set_schedule_, omp_set_schedule_8_,
10295 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10296 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10297 omp_get_max_active_levels_, omp_get_level_,
10298 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10299 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10300 New functions.
10301 * parallel.c: Include limits.h.
10302 (gomp_resolve_num_threads): Add count argument. Rewritten.
10303 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10304 argument to gomp_team_start. Pass 0 as second argument to
10305 gomp_resolve_num_threads.
10306 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10307 if gomp_thread_limit_var != ULONG_MAX.
10308 (omp_in_parallel): Implement using ts.active_level.
10309 (omp_get_max_threads): Move to env.c.
10310 (omp_get_level, omp_get_ancestor_thread_num,
10311 omp_get_team_size, omp_get_active_level): New functions,
10312 add ialias.
10313 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10314 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10315 gomp_iter_dynamic_next instead of the _locked variant and don't take
10316 lock around it, otherwise acquire it before calling
10317 gomp_iter_dynamic_next_locked.
10318 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10319 gomp_iter_dynamic_next instead of the _locked variant and don't take
10320 lock around it.
10321 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10322 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10323 Adjust gomp_team_start caller. Pass count as second argument to
10324 gomp_resolve_num_threads, don't adjust num_threads after the call.
10325 Use gomp_icv.
10326 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10327 ws->chunk_size by incr.
10328 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10329 code.
10330 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10331 types.
10332 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10333 (omp_check_defines): Check even the compat defines.
10334 * config/linux/ptrlock.c: New file.
10335 * config/linux/ptrlock.h: New file.
10336 * config/linux/wait.h: New file.
10337 * config/posix/ptrlock.c: New file.
10338 * config/posix/ptrlock.h: New file.
10339 * config/linux/bar.h (gomp_team_barrier_wait,
10340 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10341 (gomp_team_barrier_set_task_pending,
10342 gomp_team_barrier_clear_task_pending,
10343 gomp_team_barrier_set_waiting_for_tasks,
10344 gomp_team_barrier_waiting_for_tasks,
10345 gomp_team_barrier_done): New inlines.
10346 (gomp_barrier_t): Rewritten.
10347 (gomp_barrier_state_t): New typedef.
10348 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10349 gomp_barrier_wait_start): Rewritten.
10350 (gomp_barrier_wait_end): Change second argument to
10351 gomp_barrier_state_t.
10352 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10353 inlines.
10354 * config/linux/bar.c: Include wait.h instead of libgomp.h and
10355 futex.h.
10356 (gomp_barrier_wait_end): Rewritten.
10357 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10358 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10359 * config/posix/bar.h (gomp_barrier_t): Add generation field.
10360 (gomp_barrier_state_t): New typedef.
10361 (gomp_team_barrier_wait,
10362 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10363 (gomp_barrier_wait_start): Or all but low 2 bits from generation
10364 into the return value. Return gomp_barrier_state_t.
10365 (gomp_team_barrier_set_task_pending,
10366 gomp_team_barrier_clear_task_pending,
10367 gomp_team_barrier_set_waiting_for_tasks,
10368 gomp_team_barrier_waiting_for_tasks,
10369 gomp_team_barrier_done): New inlines.
10370 (gomp_barrier_wait_end): Change second argument to
10371 gomp_barrier_state_t.
10372 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10373 inlines.
10374 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10375 (gomp_barrier_wait_end): Change second argument to
3e348fcc 10376 gomp_barrier_state_t.
a68ab351
JJ
10377 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10378 gomp_team_barrier_wake): New functions.
10379 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10380 futex.h.
10381 (gomp_futex_wake, gomp_futex_wait): New variables.
10382 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10383 * config/linux/lock.c: Rewrite to make locks task owned,
10384 for backwards compatibility provide the old entrypoints
10385 if symbol versioning. Include wait.h instead of libgomp.h and
10386 futex.h.
10387 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10388 * config/posix95/lock.c: Rewrite to make locks task owned,
10389 for backwards compatibility provide the old entrypoints
10390 if symbol versioning.
10391 * config/posix/lock.c: Rewrite to make locks task owned,
10392 for backwards compatibility provide the old entrypoints
10393 if symbol versioning.
10394 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10395 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10396 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10397 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10398 (sys_futex0): Return error code.
10399 (futex_wake, futex_wait): If ENOSYS was returned, clear
10400 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10401 (cpu_relax, atomic_write_barrier): New static inlines.
10402 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10403 (futex_wake, futex_wait): If ENOSYS was returned, clear
10404 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10405 (cpu_relax, atomic_write_barrier): New static inlines.
10406 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10407 (sys_futex0): Return error code.
10408 (futex_wake, futex_wait): If ENOSYS was returned, clear
10409 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10410 (cpu_relax, atomic_write_barrier): New static inlines.
10411 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10412 (sys_futex0): Return error code.
10413 (futex_wake, futex_wait): If ENOSYS was returned, clear
10414 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10415 (cpu_relax, atomic_write_barrier): New static inlines.
10416 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10417 (sys_futex0): Return error code.
10418 (futex_wake, futex_wait): If ENOSYS was returned, clear
10419 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10420 (cpu_relax, atomic_write_barrier): New static inlines.
10421 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10422 (sys_futex0): Return error code.
10423 (futex_wake, futex_wait): If ENOSYS was returned, clear
10424 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10425 (cpu_relax, atomic_write_barrier): New static inlines.
10426 * config/linux/sem.c: Include wait.h instead of libgomp.h and
10427 futex.h.
10428 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10429 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10430 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10431 types.
10432 (omp_nest_lock_t): Change owner into void *, add lock field.
10433 * config/posix95/omp-lock.h: Include semaphore.h.
10434 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10435 (omp_lock_t): Use sem_t instead of mutex if semaphores
10436 aren't broken.
10437 (omp_nest_lock_t): Likewise. Change owner to void *.
10438 * config/posix/omp-lock.h: Include semaphore.h.
10439 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10440 (omp_lock_t): Use sem_t instead of mutex if semaphores
10441 aren't broken.
10442 (omp_nest_lock_t): Likewise. Add owner field.
10443
104442008-06-06 Jakub Jelinek <jakub@redhat.com>
10445
10446 * testsuite/libgomp.c/collapse-1.c: New test.
10447 * testsuite/libgomp.c/collapse-2.c: New test.
10448 * testsuite/libgomp.c/collapse-3.c: New test.
10449 * testsuite/libgomp.c/icv-1.c: New test.
10450 * testsuite/libgomp.c/icv-2.c: New test.
10451 * testsuite/libgomp.c/lib-2.c: New test.
10452 * testsuite/libgomp.c/lock-1.c: New test.
10453 * testsuite/libgomp.c/lock-2.c: New test.
10454 * testsuite/libgomp.c/lock-3.c: New test.
10455 * testsuite/libgomp.c/loop-4.c: New test.
10456 * testsuite/libgomp.c/loop-5.c: New test.
10457 * testsuite/libgomp.c/loop-6.c: New test.
10458 * testsuite/libgomp.c/loop-7.c: New test.
10459 * testsuite/libgomp.c/loop-8.c: New test.
10460 * testsuite/libgomp.c/loop-9.c: New test.
10461 * testsuite/libgomp.c/nested-3.c: New test.
10462 * testsuite/libgomp.c/nestedfn-6.c: New test.
10463 * testsuite/libgomp.c/sort-1.c: New test.
10464 * testsuite/libgomp.c/task-1.c: New test.
10465 * testsuite/libgomp.c/task-2.c: New test.
10466 * testsuite/libgomp.c/task-3.c: New test.
10467 * testsuite/libgomp.c/task-4.c: New test.
10468 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10469 to C++ testsuite default compiler options.
10470 * testsuite/libgomp.c++/collapse-1.C: New test.
10471 * testsuite/libgomp.c++/collapse-2.C: New test.
10472 * testsuite/libgomp.c++/ctor-10.C: New test.
10473 * testsuite/libgomp.c++/for-1.C: New test.
10474 * testsuite/libgomp.c++/for-2.C: New test.
10475 * testsuite/libgomp.c++/for-3.C: New test.
10476 * testsuite/libgomp.c++/for-4.C: New test.
10477 * testsuite/libgomp.c++/for-5.C: New test.
10478 * testsuite/libgomp.c++/loop-8.C: New test.
10479 * testsuite/libgomp.c++/loop-9.C: New test.
10480 * testsuite/libgomp.c++/loop-10.C: New test.
10481 * testsuite/libgomp.c++/task-1.C: New test.
10482 * testsuite/libgomp.c++/task-2.C: New test.
10483 * testsuite/libgomp.c++/task-3.C: New test.
10484 * testsuite/libgomp.c++/task-4.C: New test.
10485 * testsuite/libgomp.c++/task-5.C: New test.
10486 * testsuite/libgomp.c++/task-6.C: New test.
10487 * testsuite/libgomp.fortran/allocatable1.f90: New test.
10488 * testsuite/libgomp.fortran/allocatable2.f90: New test.
10489 * testsuite/libgomp.fortran/allocatable3.f90: New test.
10490 * testsuite/libgomp.fortran/allocatable4.f90: New test.
10491 * testsuite/libgomp.fortran/collapse1.f90: New test.
10492 * testsuite/libgomp.fortran/collapse2.f90: New test.
10493 * testsuite/libgomp.fortran/collapse3.f90: New test.
10494 * testsuite/libgomp.fortran/collapse4.f90: New test.
10495 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10496 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10497 * testsuite/libgomp.fortran/lib4.f90: New test.
10498 * testsuite/libgomp.fortran/lock-1.f90: New test.
10499 * testsuite/libgomp.fortran/lock-2.f90: New test.
10500 * testsuite/libgomp.fortran/nested1.f90: New test.
10501 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10502 * testsuite/libgomp.fortran/strassen.f90: New test.
10503 * testsuite/libgomp.fortran/tabs1.f90: New test.
10504 * testsuite/libgomp.fortran/tabs2.f: New test.
10505 * testsuite/libgomp.fortran/task1.f90: New test.
10506 * testsuite/libgomp.fortran/task2.f90: New test.
10507 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10508 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10509 * testsuite/libgomp.c/pr26943-2.c: Likewise.
10510 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10511 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10512
7a0112e7
JJ
105132008-05-23 Jakub Jelinek <jakub@redhat.com>
10514
10515 PR c++/36308
10516 * testsuite/libgomp.c++/ctor-11.C: New test.
10517 * testsuite/libgomp.c++/ctor-12.C: New test.
10518
91a5b394
JJ
105192008-05-15 Janis Johnson <janis187@us.ibm.com>
10520
10521 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10522
c18c98c0
JJ
105232008-05-07 Jakub Jelinek <jakub@redhat.com>
10524
10525 PR middle-end/36106
10526 * testsuite/libgomp.c/atomic-5.c: New test.
10527 * testsuite/libgomp.c/atomic-6.c: New test.
10528 * testsuite/libgomp.c/autopar-1.c: New test.
10529
6d26724a
RW
105302008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10531
10532 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10533 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10534 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10535 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10536 * configure: Regenerate.
10537 * Makefile.in, testsuite/Makefile.in: Likewise.
10538
deb984e6
PB
105392008-04-18 Paolo Bonzini <bonzini@gnu.org>
10540
10541 PR bootstrap/35457
10542 * aclocal.m4: Regenerate.
10543 * configure: Regenerate.
10544
9e775963
JJ
105452008-03-18 Jakub Jelinek <jakub@redhat.com>
10546
8119fc93
JJ
10547 PR middle-end/35611
10548 * testsuite/libgomp.c/atomic-4.c: New test.
10549
9e775963
JJ
10550 PR libgomp/35625
10551 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10552 (gomp_iter_guided_next): Likewise.
10553 * testsuite/libgomp.c/pr35625.c: New test.
10554
38d24731
RW
105552008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10556
10557 * aclocal.m4: Regenerate.
10558 * configure: Likewise.
10559 * Makefile.in: Likewise.
10560 * testsuite/Makefile.in: Likewise.
10561
d0fb20be
JJ
105622008-03-13 Jakub Jelinek <jakub@redhat.com>
10563
10564 PR middle-end/35185
10565 * testsuite/libgomp.c++/pr35185.C: New test.
10566
7c8f7639
JJ
105672008-03-12 Jakub Jelinek <jakub@redhat.com>
10568
10569 PR middle-end/35549
10570 * testsuite/libgomp.c/pr35549.c: New test.
10571
251923f5
JJ
105722008-03-06 Jakub Jelinek <jakub@redhat.com>
10573
10574 * testsuite/libgomp.c/atomic-3.c: New test.
10575
f489fba1
FXC
105762008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10577
10578 PR fortran/33197
251923f5 10579 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
10580 .F08 file suffixes.
10581
a1b25e49
PG
105822008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
10583
10584 PR libgomp/33131
10585 * configure.ac: Add ACX_HEADER_STRING.
10586 * env.c: Include strings.h.
10587 * aclocal.m4: Regenerate.
10588 * config.h.in: Regenerate.
10589 * configure: Regenerate.
10590 * Makefile.in: Regenerate.
10591 * testsuite/Makefile.in: Regenerate.
10592
6837b3b8
JJ
105932008-02-15 Jakub Jelinek <jakub@redhat.com>
10594
ac84c062
JJ
10595 PR middle-end/35196
10596 * testsuite/libgomp.c/pr35196.c: New test.
10597
6837b3b8
JJ
10598 PR middle-end/35130
10599 * testsuite/libgomp.fortran/pr35130.f90: New test.
10600 * testsuite/libgomp.c/pr35130.c: New test.
10601
c256730c
JJ
106022008-01-25 Jakub Jelinek <jakub@redhat.com>
10603
10604 PR middle-end/33880
10605 * testsuite/libgomp.c/pr33880.c: New test.
10606 * testsuite/libgomp.fortran/pr33880.f90: New test.
10607
c8e95542 106082008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
10609
10610 * configure: Regenerate.
10611
0f3e711e
JJ
106122008-01-08 Jakub Jelinek <jakub@redhat.com>
10613
10614 * configure.ac: Move futex checking into ../config/futex.m4.
10615 * configure: Rebuilt.
10616 * aclocal.m4: Rebuilt.
10617 * Makefile.in: Rebuilt.
10618
10619 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
10620 2007-10-15 ../config/tls.m4 change.
10621
5259c813
JJ
106222007-12-19 Jakub Jelinek <jakub@redhat.com>
10623
10624 PR c++/34513
10625 * testsuite/libgomp.c/pr34513.c: New test.
10626 * testsuite/libgomp.c++/pr34513.C: New test.
10627
ae8d8879
JH
106282007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
10629
10630 PR target/32765
10631 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
10632
2b4cf991
JJ
106332007-12-04 Jakub Jelinek <jakub@redhat.com>
10634
10635 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
10636
d2dda7fe
JJ
106372007-12-03 Jakub Jelinek <jakub@redhat.com>
10638
10639 * testsuite/libgomp.c/private-1.c: New test.
10640
d683ec81
PB
106412007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
10642 Paolo Bonzini <bonzini@gnu.org>
10643
10644 * Makefile.am: Use space as vpath separator. Use 'vpath %'
10645 instead of 'VPATH ='.
10646 * Makefile.in: Regenerate.
10647
a7415017
MK
106482007-11-23 Matthias Klose <doko@ubuntu.com>
10649
10650 * configure.ac: Adjust makeinfo version check.
10651 * configure: Regenerate.
10652
78e47463
JJ
106532007-11-10 Jakub Jelinek <jakub@redhat.com>
10654
10655 PR fortran/34020
10656 * testsuite/libgomp.fortran/pr34020.f90: New test.
10657
239371f9
JJ
106582007-11-06 Jakub Jelinek <jakub@redhat.com>
10659
10660 PR c++/33894
10661 * testsuite/libgomp.c++/atomic-1.C: New test.
10662
98a5fa94
JJ
106632007-10-25 Jakub Jelinek <jakub@redhat.com>
10664
10665 PR libgomp/33275
10666 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
10667 Make x and y integers rather than (implicit) reals. Add private (j)
10668 clause to the last omp parallel.
10669
3afcaaf4
MR
106702007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
10671
10672 * configure: Regenerate following changes to ../config/tls.m4.
10673
bd69daef
JJ
106742007-09-28 Jakub Jelinek <jakub@redhat.com>
10675
10676 * testsuite/libgomp.fortran/stack.f90: New test.
10677
1d0bd356
DS
106782007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
10679
10680 * config/mingw32/proc.c: New file.
10681
b3172cab
UB
106822007-09-05 Uros Bizjak <ubizjak@gmail.com>
10683
10684 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
10685 (main): Use __get_cpuid to get i386 target fetaures.
10686 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
10687 (main): Use __get_cpuid to get x86_64 target fetaures.
10688
6da17392
JH
106892007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
10690
10691 PR target/32765
10692 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
10693 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
10694
e1c82219
JJ
106952007-07-12 Jakub Jelinek <jakub@redhat.com>
10696
10697 PR fortran/32550
10698 * testsuite/libgomp.fortran/pr32550.f90: New test.
10699 * testsuite/libgomp.fortran/crayptr2.f90: New test.
10700
12a27363
L
107012007-07-05 H.J. Lu <hongjiu.lu@intel.com>
10702
10703 * aclocal.m4: Regenerated.
10704
5349080d
TB
107052007-07-05 Tobias Burnus <burnus@net-b.de>
10706
10707 PR fortran/32359
10708 * testsuite/libgomp.fortran/pr32359.f90: New.
10709
4f9c450c
JJ
107102007-07-02 Jakub Jelinek <jakub@redhat.com>
10711
10712 PR libgomp/32468
10713 * sections.c (GOMP_parallel_sections_start): Only decrease
10714 number of threads to COUNT if dyn_var is true.
10715 * testsuite/libgomp.c/pr32468.c: New test.
10716
28c67ed7
RO
107172007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10718
10719 PR libgomp/26308
10720 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10721
64964499
JJ
107222007-06-21 Jakub Jelinek <jakub@redhat.com>
10723
10724 PR middle-end/32362
10725 * testsuite/libgomp.c/pr32362-1.c: New test.
10726 * testsuite/libgomp.c/pr32362-2.c: New test.
10727 * testsuite/libgomp.c/pr32362-3.c: New test.
10728
46d8fbd1
JJ
107292007-06-07 Jakub Jelinek <jakub@redhat.com>
10730
10731 * team.c (gomp_team_start): Fix setting up thread_attr
10732 stack size.
10733
82a6cadf
PB
107342007-06-02 Paolo Bonzini <bonzini@gnu.org>
10735
10736 * configure: Regenerate.
10737
1cf3d07d
SE
107382007-05-23 Steve Ellcey <sje@cup.hp.com>
10739
10740 * Makefile.in: Regenerate.
10741 * configure: Regenerate.
10742 * aclocal.m4: Regenerate.
10743 * testsuite/Makefile.in: Regenerate.
10744
12aac30b
JJ
107452007-05-04 Jakub Jelinek <jakub@redhat.com>
10746
10747 * config/linux/proc.c: New file.
10748
f1028b02
JJ
10749 PR libgomp/28482
10750 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10751
06785a48
DF
107522007-04-19 Daniel Franke <franke.daniel@gmail.com>
10753
10754 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10755
b3b08ba0
MK
107562007-04-16 Matthias Klose <doko@debian.org>
10757
10758 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10759 flags if not building with -m64.
10760 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10761 flag for i?86-*-* targets, if current target matches -m64.
10762
6b2c5ce0
SE
107632007-04-14 Steve Ellcey <sje@cup.hp.com>
10764
10765 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10766 * Makefile.in: Regenerate.
10767
dd56fe7c
JDA
107682007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10769
10770 PR testsuite/31369
10771 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10772 ld_library_path.
10773 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10774
a0884cf0
JJ
107752007-04-04 Jakub Jelinek <jakub@redhat.com>
10776
10777 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10778 decls.
10779 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10780 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10781 (parse_affinity): New function.
10782 (initialize_env): Call it and gomp_init_affinity.
10783 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10784 create new pthread_attr_t and call gomp_init_thread_affinity
10785 on it for each thread before passing the attribute to pthread_create.
10786 * config/linux/affinity.c: New file.
10787 * config/posix/affinity.c: New file.
10788 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10789 * configure: Rebuilt.
10790 * config.h.in: Rebuilt.
10791 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10792 * Makefile.in: Rebuilt.
10793
1850744b
AT
107942007-03-23 Andreas Tobler <a.tobler@schweiz.org>
10795
10796 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10797 *-*-darwin*.
10798 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10799 and use it if found.
10800
516f1ed8
UB
108012007-03-18 Uros Bizjak <ubizjak@gmail.com>
10802
10803 * testsuite/config/default.exp: New file.
10804 * testsuite/lib/libgomp.exp: New file.
10805 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10806 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10807 load_lib *, load_gcc_lib *): Move to libgomp.exp.
10808 (libgomp_load): Remove.
10809 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10810 always_ld_library_path, not ld_library_path. Set additional_flags
10811 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10812 (target_compile): Do not call libgomp_init. Append lang_library_path
10813 and lang_link_flags to options.
10814 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10815 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10816 here.
10817 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10818 always_ld_library_path. Set LD_LIBRARY_PATH here.
10819 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10820 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10821 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10822 CX8 flag.
10823 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10824 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10825 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10826 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10827 * testsuite/libgomp.c/atomic-10.c: Ditto.
10828
2ada56f5
JJ
108292007-03-21 Jakub Jelinek <jakub@redhat.com>
10830
10831 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10832 dg-final cleanup-modules line.
10833 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10834 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10835 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10836 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10837 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10838 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10839 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10840
f210f1cd
AS
108412007-03-18 Andreas Schwab <schwab@suse.de>
10842
10843 * acinclude.m4: Adjust regular expression for ld version
10844 extraction.
10845 * configure: Regenerate.
10846
c4dc950d
BM
108472007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10848
10849 * Makefile.am: Add install-pdf target as copied from
10850 automake v1.10 rules.
10851 * Makefile.in: Regenerate
10852
e02a048f
JJ
108532007-02-07 Jakub Jelinek <jakub@redhat.com>
10854
78e075d4
JJ
10855 PR libgomp/28486
10856 * configure: Regenerate.
10857
e02a048f
JJ
10858 PR c++/30703
10859 * testsuite/libgomp.c++/pr30703.C: New test.
10860
60def7ed
JJ
108612007-02-02 Jakub Jelinek <jakub@redhat.com>
10862
10863 Revert:
10864 2006-07-05 Eric Christopher <echristo@apple.com>
10865 * configure.ac: Depend addition of -pthread on host OS.
10866 * configure: Regenerate.
10867
f1b0882e
RW
108682007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10869
10870 * libgomp.texi: Fix spacing after abbreviations.
10871
748b9d7c
DF
108722007-01-31 Daniel Franke <franke.daniel@gmail.com>
10873
10874 PR libgomp/30546
10875 * configure.ac: Add check for makeinfo
10876 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10877 if an appropiate version of makeinfo is found.
10878 * aclocal.m4: Regenerated.
10879 * configure: Regenerated.
10880 * Makefile.in: Regenerated.
10881 * testsuite/Makefile.in: Regenerated.
10882
14734fc7
DF
108832007-01-29 Daniel Franke <franke.daniel@gmail.com>
10884
10885 PR libgomp/30540
10886 * libgomp.texi: More about implementation-dependent settings.
10887
7befd5d2
TB
108882007-01-26 Tobias Burnus <burnus@net-b.de>
10889
10890 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10891
4288fea2
JJ
108922007-01-24 Jakub Jelinek <jakub@redhat.com>
10893
10894 PR middle-end/30494
10895 * testsuite/libgomp.c/pr30494.c: New test.
10896
627ab4b8
TT
108972007-01-15 Tom Tromey <tromey@redhat.com>
10898
10899 * configure: Rebuilt.
10900 * configure.ac: Fixed comment.
10901
7c2b7f45
DF
109022007-01-14 Daniel Franke <franke.daniel@gmail.com>
10903
10904 * libgomp.texi: Document implementation specific default values of
10905 environment variables.
10906
3721b9e1
DF
109072006-12-21 Daniel Franke <franke.daniel@gmail.com>
10908
10909 PR libgomp/28209
10910 * libgomp.texi: New file.
10911 * configure.ac: Add --enable-generated-files-in-srcdir option.
10912 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10913 files to srcdir.
10914 * Makefile.in: Regenerated.
10915 * config.h.in: Regenerated.
10916 * testsuite/Makefile.in: Regenerated.
10917 * NOTES: Removed.
10918
62bd6216
DF
109192006-12-04 Daniel Franke <franke.daniel@gmail.com>
10920
10921 PR libgomp/29949
10922 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10923
aad741f4
EB
109242006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10925
10926 * configure: Regenerate.
10927
22568cc6
JJ
109282006-12-04 Jakub Jelinek <jakub@redhat.com>
10929
10930 PR libgomp/29947
10931 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10932 start if there shouldn't be any loop iterations.
10933 (gomp_loop_ordered_static_start): Remove start == end test.
10934 * testsuite/libgomp.c/pr29947-1.c: New test.
10935 * testsuite/libgomp.c/pr29947-2.c: New test.
10936
a9690009
EB
109372006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10938
10939 * configure.tgt: Force initial-exec TLS model on Linux only.
10940
597c25e6
DJ
109412006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10942
10943 * configure: Regenerated.
10944
6acf0b38
UB
109452006-11-09 Uros Bizjak <ubizjak@gmail.com>
10946
10947 * env.c (parse_schedule): Reject out of range values.
10948 (parse_unsigned_long): Reject out of range, negative or zero values.
10949
a7a53ca5
JJ
109502006-10-29 Jakub Jelinek <jakub@redhat.com>
10951
10952 PR fortran/29629
10953 * testsuite/libgomp.fortran/pr29629.f90: New test.
10954
6d4d216a
EB
109552006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10956
10957 PR libgomp/29494
10958 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10959 * config/posix95: New directory.
10960 * config/posix95/omp-lock.h: New file.
10961 * config/posix95/lock.c: Likewise.
10962
5b043f08
GK
109632006-10-14 Geoffrey Keating <geoffk@apple.com>
10964
10965 * aclocal.m4: Regenerate.
10966 * configure: Regenerate.
10967
b50019f0
DS
109682006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10969
10970 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10971 '<' to '<='.
10972
8887708e
DS
109732006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10974
10975 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10976 test.
10977 * configure: Regenerate.
10978 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10979
9b9e4cd6
JJ
109802006-09-26 Jakub Jelinek <jakub@redhat.com>
10981
a70ad3bb
JJ
10982 PR middle-end/25261
10983 PR middle-end/28790
10984 * testsuite/libgomp.c/nestedfn-4.c: New test.
10985 * testsuite/libgomp.c/nestedfn-5.c: New test.
10986 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10987
9b9e4cd6
JJ
10988 PR fortran/29097
10989 * testsuite/libgomp.fortran/condinc1.f: New test.
10990 * testsuite/libgomp.fortran/condinc2.f: New test.
10991 * testsuite/libgomp.fortran/condinc3.f90: New test.
10992 * testsuite/libgomp.fortran/condinc4.f90: New test.
10993 * testsuite/libgomp.fortran/condinc1.inc: New file.
10994
2fb31455
TT
109952006-09-18 Tom Tromey <tromey@redhat.com>
10996
10997 * configure: Rebuilt.
10998
c663e301
JM
109992006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11000
11001 PR c/28768
11002 PR preprocessor/14634
11003 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11004 to AC_DEFINE.
11005 * configure: Regenerate.
11006
38371be9
SK
110072006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11008
11009 * testsuite/libgomp.fortran/reduction3.f90: Change
11010 -2147483648 to -huge(i)-1 to avoid overflow.
11011 * testsuite/libgomp.fortran/reduction4.f90: Change
11012 Z'ffffffff' to not(0) to avoid overflow.
11013
571d5ac5
JM
110142006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11015
11016 PR libgomp/25938
11017 * Makefile.am (libsubincludedir): New.
11018 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11019 * Makefile.in: Regenerate.
11020
89b3e3cd
JJ
110212006-08-17 Jakub Jelinek <jakub@redhat.com>
11022
11023 PR libgomp/28725
11024 * env.c: Include ctype.h.
11025 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11026 leading and/or trailing whitespace and compare strings case
11027 insensitively.
11028
742fae05
JJ
110292006-07-16 Jakub Jelinek <jakub@redhat.com>
11030
11031 PR fortran/28390
11032 * testsuite/libgomp.fortran/pr28390.f: New test.
11033
a1daed2d
EC
110342006-07-05 Eric Christopher <echristo@apple.com>
11035
11036 * configure.ac: Depend addition of -pthread on host OS.
11037 * configure: Regenerate.
11038
5d7b5199
JJ
110392006-06-21 Jakub Jelinek <jakub@redhat.com>
11040
11041 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11042 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11043 defined.
11044
fe5568e9
JJ
110452006-06-20 Jakub Jelinek <jakub@redhat.com>
11046
11047 PR libgomp/26175
11048 PR libgomp/26477
11049 * configure.ac: If neither --enable-linux-futex nor
11050 --disable-linux-futex is passed, determine the default by checking
11051 for compiling and/or running against NPTL. With --enable-linux-futex,
11052 check if SYS_gettid and SYS_futex are defined.
11053 * configure: Rebuilt.
11054
c3b11a40
RH
110552006-06-14 Richard Henderson <rth@redhat.com>
11056
11057 PR libgomp/28008
11058 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11059 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11060
d0d1b24d
RH
110612006-06-09 Richard Henderson <rth@redhat.com>
11062
11063 * env.c (gomp_nthreads_var): Change to unsigned long.
11064 (gomp_run_sched_chunk): Likewise.
11065 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11066 (initialize_env): Initialize gomp_thread_attr.
11067 * libgomp.h (gomp_nthreads_var): Update decl.
11068 (gomp_run_sched_chunk): Likewise.
11069 (gomp_thread_attr): Declare.
11070 * team.c (gomp_thread_attr): Export.
11071 (initialize_team): Don't initialize it.
11072
cd75853e
JJ
110732006-06-09 Jakub Jelinek <jakub@redhat.com>
11074
11075 PR fortran/27916
11076 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11077 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11078
33815e0c
FXC
110792006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11080
11081 * config/mingw32/time.c: New file.
11082 * configure.tgt: Use it.
11083
6667de0d
CD
110842006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11085
11086 * Makefile.am: Add install-html target. Add install-html to .PHONY
11087 * Makefile.in: Regenerate.
11088
e962c46b
JDA
110892006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11090
11091 PR libgomp/27612
11092 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11093 * testsuite/libgomp.c/critical-1.c: Likewise.
11094 * testsuite/libgomp.c/loop-1.c: Likewise.
11095 * testsuite/libgomp.c/loop-2.c: Likewise.
11096 * testsuite/libgomp.c/single-1.c: Likewise.
11097 * testsuite/libgomp.c/ordered-1.c: Likewise.
11098 * testsuite/libgomp.c/ordered-2.c: Likewise.
11099
eeb1d9e0
JJ
111002006-05-15 Jakub Jelinek <jakub@redhat.com>
11101
11102 PR middle-end/27416
11103 * libgomp.fortran/pr27416-1.f90: New test.
11104
693d710f
JJ
111052006-05-03 Jakub Jelinek <jakub@redhat.com>
11106
11107 PR fortran/27395
11108 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11109 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11110
8ca5b2a2
JJ
111112006-05-02 Jakub Jelinek <jakub@redhat.com>
11112
11113 PR c++/26943
11114 * testsuite/libgomp.c/pr26943-1.c: New test.
11115 * testsuite/libgomp.c/pr26943-2.c: New test.
11116 * testsuite/libgomp.c/pr26943-3.c: New test.
11117 * testsuite/libgomp.c/pr26943-4.c: New test.
11118 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11119 * testsuite/libgomp.c++/pr26943.C: New test.
11120
077b0dfb
JJ
111212006-05-02 Jakub Jelinek <jakub@redhat.com>
11122
11123 PR middle-end/27337
11124 * testsuite/libgomp.c++/pr27337.C: New test.
11125
91b6c26d
JJ
111262006-04-26 Jakub Jelinek <jakub@redhat.com>
11127
11128 PR c/26171
11129 * testsuite/libgomp.c/pr26171.c: New test.
11130
60e1758f
RH
111312006-04-25 Richard Henderson <rth@redhat.com>
11132
11133 PR libgomp/25865
11134 * configure.ac: Use GCC_CHECK_TLS.
11135 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11136 * Makefile.in, aclocal.m4, configure: Regenerate.
11137
615baed7
MK
111382006-04-10 Matthias Klose <doko@debian.org>
11139
11140 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11141 directory names containing underscores.
11142
fae2b46b
JJ
111432006-03-21 Jakub Jelinek <jakub@redhat.com>
11144
11145 PR c++/26691
11146 * testsuite/libgomp.c++/pr26691.C: New test.
11147
11a5f608
JJ
111482006-03-13 Jakub Jelinek <jakub@redhat.com>
11149
11150 * testsuite/libgomp.fortran/retval2.f90: New test.
11151
1799e5d5
RH
111522006-03-09 Diego Novillo <dnovillo@redhat.com>
11153
11154 * testsuite/libgomp.c++: New directory.
11155
d349482e
AT
111562006-02-25 Shantonu Sen <ssen@opendarwin.org>
11157
11158 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11159 * config/posix/sem.c: Implement the above.
11160
111612006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11162
11163 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11164 define HAVE_BROKEN_POSIX_SEMAPHORES.
11165 * configure: Rebuilt.
11166 * config.h.in: Rebuilt.
11167
124452c9
FXC
111682006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11169
11170 PR bootstrap/26161
11171 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11172 for the other pthread check.
11173 * configure: Regenerate.
11174 * config.h.in: Regenerate.
11175
dd8d6dfe
JJ
111762006-02-15 Jakub Jelinek <jakub@redhat.com>
11177
11178 PR libgomp/25938
11179 PR libgomp/25984
11180 * Makefile.am (fincludedir): New variable.
11181 (nodist_include_HEADERS): Remove Fortran files.
11182 (nodist_finclude_HEADERS): New variable.
11183 * Makefile.in: Regenerated.
11184
6c7a4dfd
JJ
111852006-02-13 Jakub Jelinek <jakub@redhat.com>
11186
11187 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11188 Remove tests for returning assumed character length arrays.
11189
5142e08b
RS
111902006-02-12 Roger Sayle <roger@eyesopen.com>
11191 John David Anglin <dave@hiauly1.hia.nrc.ca>
11192
11193 PR libgomp/25936
11194 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 11195
5821fba8
UW
111962006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11197
11198 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11199
cb2bbc67
EB
112002006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11201
11202 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11203 part of LD_LIBRARY_PATH manually.
11204
f05ee80c
L
112052006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11206
11207 PR libgomp/25852
11208 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11209 libgomp_init.
11210
03b8fe49
PB
112112005-01-25 Paolo Bonzini <bonzini@gnu.org>
11212
11213 PR libgomp/25884
f05ee80c
L
11214 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11215 * configure.ac (PERL): Don't set.
11216 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11217 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11218 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11219 * omp.h.in: Wrap the new configure substitutions with @ characters.
11220 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11221 * aclocal.m4, configure, Makefile.in: Regenerate.
11222 * mkomp_h.pl: Delete.
03b8fe49 11223
18cbfd85
PB
112242005-01-24 Paolo Bonzini <bonzini@gnu.org>
11225
11226 PR libgomp/25259
11227 * configure.ac: Use GCC_HEADER_STDINT.
11228 * libgomp.h: Include gstdint.h.
11229 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11230 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11231
c41303c6
RH
112322006-01-24 Richard Henderson <rth@redhat.com>
11233
11234 PR libgomp/25942
11235 * configure.ac: Add AM_MAINTAINER_MODE.
11236 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11237
149b9553
DN
112382006-01-24 Diego Novillo <dnovillo@redhat.com>
11239
11240 * Makefile.in: Regenerate.
11241 * testsuite/Makefile.in: Regenerate.
11242 * aclocal.m4: Regenerate.
11243
192a50ad
AT
112442006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11245
11246 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11247 Solaris.
11248 * configure.ac: Add check for loadavg.h.
11249 (link_gomp): Adjust comment.
11250 * configure: Regenerate.
11251 * config.h.in: Regenerate.
11252
a55b8e18
SE
112532006-01-21 Steve Ellcey <sje@cup.hp.com>
11254
11255 PR libgomp/25877
11256 * configure.ac: Remove check for alloca.h.
11257 * configure: Regenerate.
11258 * config.h.in: Regenerate.
11259 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11260 * team.c: Remove use of alloca.h.
11261 Call gomp_alloca instead of alloca.
11262
692eeb34
SE
112632006-01-20 Steve Ellcey <sje@cup.hp.com>
11264
11265 PR libgomp/25877
11266 * team.c: Add include of alloca.h.
11267 * configure.ac: Add check for alloca.h.
11268 * configure: Regenerate.
11269 * config.h.in: Regenerate.
11270
953ff289
DN
112712006-01-17 Jakub Jelinek <jakub@redhat.com>
11272
11273 PR fortran/25219
11274 * testsuite/libgomp.fortran/pr25219.f90: New test.
11275
112762005-12-05 Uros Bizjak <uros@kss-loka.si>
11277
11278 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11279 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11280 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11281 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11282 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11283 testsuite/libgomp.fortran/threadprivate1.f90,
11284 testsuite/libgomp.fortran/threadprivate2.f90,
11285 testsuite/libgomp.fortran/threadprivate3.f90,
11286 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11287 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11288 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11289 effective-target to TLS runtime.
11290
11291 * testsuite/libgomp.fortran/pr25162.f: Require
11292 effective-target TLS runtime.
11293
112942005-12-01 Jakub Jelinek <jakub@redhat.com>
11295
11296 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11297 * testsuite/libgomp.c/nestedfn-3.c: New test.
11298
112992005-11-30 Jakub Jelinek <jakub@redhat.com>
11300
11301 PR fortran/25162
11302 * testsuite/libgomp.fortran/pr25162.f: New test.
11303
113042005-11-28 Jakub Jelinek <jakub@redhat.com>
11305
11306 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11307 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11308
113092005-11-25 Jakub Jelinek <jakub@redhat.com>
11310
11311 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11312 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11313 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11314 single.c, team.c, work.c, config/linux/alpha/futex.h,
11315 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11316 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11317 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11318 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11319 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11320 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11321 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11322 FSF address.
11323
113242005-11-18 Jakub Jelinek <jakub@redhat.com>
11325
11326 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11327 to nodist_noinst_HEADERS.
11328 * Makefile.in: Rebuilt.
11329
11330 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11331 add integer count field.
11332 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11333 omp_nest_lock_t type change.
11334 (omp_init_nest_lock): Likewise. Initialize count to 0.
11335 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11336 Increment count.
11337 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11338 Decrement count.
11339 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11340 Increment count if successful and return the new nesting level.
11341 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11342 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11343 * testsuite/libgomp.c/lib-1.c: New test.
11344 * testsuite/libgomp.fortran/lib1.f90: New test.
11345 * testsuite/libgomp.fortran/lib2.f: New test.
11346 * testsuite/libgomp.fortran/lib3.f: New test.
11347
113482005-11-17 Richard Henderson <rth@redhat.com>
11349
11350 PR 24845
11351 * Makefile.am (nodist_toolexeclib_HEADERS): New.
11352 * configure.ac (link_gomp): New. Substitute it.
11353 (AC_CONFIG_FILES): Add libgomp.spec.
11354 * libgomp.spec.in: New file.
11355 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11356 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11357
113582005-11-18 Jakub Jelinek <jakub@redhat.com>
11359
11360 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11361 reduction(-:var) behaving the same as reduction(+:var).
11362 * testsuite/libgomp.c/reduction-4.c: New test.
11363
113642005-11-15 Uros Bizjak <uros@kss-loka.si>
11365
11366 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11367 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11368 testsuite/libgomp.c/copyin-3.c,
11369 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11370 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11371 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11372 testsuite/libgomp.c++/pr24455.C,
11373 testsuite/libgomp.fortran/threadprivate1.f90,
11374 testsuite/libgomp.fortran/threadprivate2.f90,
11375 testsuite/libgomp.fortran/threadprivate3.f90,
11376 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11377 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11378 testsuite/libgomp.fortran/omp_parse3.f90: Require
11379 effective-target TLS.
11380
113812005-11-14 Diego Novillo <dnovillo@redhat.com>
11382
11383 * HEADER: Remove.
11384
113852005-11-13 Jakub Jelinek <jakub@redhat.com>
11386
11387 PR libgomp/24797
11388 * team.c (initialize_team): Pass NULL rather than free as
11389 pthread_key_create destructor. Initialize thread specific data
11390 pointer in initial thread to a static local variable rather than
11391 malloced memory.
11392
113932005-11-11 Uros Bizjak <uros@kss-loka.si>
11394
11395 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11396 its location to ld_library_path.
11397
113982005-11-10 Diego Novillo <dnovillo@redhat.com>
11399
11400 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11401
114022005-11-10 Diego Novillo <dnovillo@redhat.com>
11403
11404 * testsuite/libgomp.c: Rename from libgomp.dg.
11405
114062005-11-09 Diego Novillo <dnovillo@redhat.com>
11407
11408 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11409 threadprivate variable 'i'.
11410
114112005-11-09 Jakub Jelinek <jakub@redhat.com>
11412
11413 * config/linux/s390/futex.h: New file.
11414 * configure.tgt: Use it.
11415
11416 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11417 before the parallel.
11418
114192005-11-08 Jakub Jelinek <jakub@redhat.com>
11420
11421 PR c++/24734
11422 * testsuite/libgomp.c++/master-1.C: New test.
11423
114242005-11-07 Jakub Jelinek <jakub@redhat.com>
11425
11426 * testsuite/libgomp.dg/copyin-3.c: New test.
11427
114282005-11-07 Jakub Jelinek <jakub@redhat.com>
11429
11430 * testsuite/libgomp.fortran/retval1.f90: New test.
11431 * testsuite/libgomp.fortran/vla7.f90: New test.
11432
114332005-11-06 Jakub Jelinek <jakub@redhat.com>
11434
11435 * testsuite/libgomp.fortran/vla2.f90: New test.
11436 * testsuite/libgomp.fortran/vla3.f90: New test.
11437 * testsuite/libgomp.fortran/vla4.f90: New test.
11438 * testsuite/libgomp.fortran/vla5.f90: New test.
11439 * testsuite/libgomp.fortran/vla6.f90: New test.
11440
114412005-11-01 Jakub Jelinek <jakub@redhat.com>
11442
11443 * config/linux/sparc/futex.h: New file.
11444 * configure.tgt: Use it.
11445 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11446
11447 * critical.c: Include stdlib.h.
11448 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11449 ignoring return value.
11450 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11451 LIBGOMP_CHECK_SYNC_BUILTINS check.
11452 * configure: Rebuilt.
11453
114542005-10-31 Jakub Jelinek <jakub@redhat.com>
11455
11456 * testsuite/libgomp.fortran/vla1.f90: New test.
11457
114582005-10-31 Richard Henderson <rth@redhat.com>
11459
11460 * testsuite/libgomp.fortran/character2.f90: Fix race condition
11461 setting 's' in different threads.
11462
114632005-10-31 Jakub Jelinek <jakub@redhat.com>
11464
11465 * libgomp.h (attribute_hidden, ialias): Define.
11466 * config/posix/proc.c (omp_get_num_procs): Add ialias.
11467 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11468 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11469 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11470 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11471 omp_test_lock, omp_test_nest_lock): Likewise.
11472 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11473 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11474 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11475 omp_test_lock, omp_test_nest_lock): Likewise.
11476 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11477 omp_get_dynamic, omp_get_nested): Likewise.
11478 * parallel.c (omp_get_num_threads, omp_get_max_threads,
11479 omp_get_thread_num, omp_in_parallel): Likewise.
11480 * fortran.c (ialias_redirect): Define.
11481 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11482 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11483 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11484 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11485 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11486 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11487 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11488 omp_get_wtime): Add ialias_redirect.
11489
114902005-10-30 Jakub Jelinek <jakub@redhat.com>
11491
11492 * fortran.c: Include stdlib.h.
11493
114942005-10-29 Jakub Jelinek <jakub@redhat.com>
11495
11496 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11497 * Makefile.in: Regenerated.
11498
114992005-10-28 Jakub Jelinek <jakub@redhat.com>
11500
11501 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11502 * libgomp_f.h.in (omp_check_defines): New function.
11503 * env.c: Include libgomp_f.h.
11504 (initialize_env): Call omp_check_defines.
11505
11506 * testsuite/libgomp.dg/copyin-2.c: New test.
11507 * testsuite/libgomp.c++/copyin-2.C: New test.
11508 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11509
11510 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11511 * testsuite/libgomp.fortran/sharing2.f90: New test.
11512
11513 * testsuite/libgomp.dg/copyin-1.c: New test.
11514 * testsuite/libgomp.c++/copyin-1.C: New test.
11515
115162005-10-26 Jakub Jelinek <jakub@redhat.com>
11517
11518 * testsuite/libgomp.fortran/crayptr1.f90: New test.
11519
11520 * testsuite/libgomp.fortran/workshare1.f90: New test.
11521
11522 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11523 only test.
11524 * libgomp.fortran/sharing1.f90: New test.
11525
115262005-10-24 Jakub Jelinek <jakub@redhat.com>
11527
11528 PR c++/24502
11529 * testsuite/libgomp.c++/loop-7.C: New test.
11530
11531 * testsuite/libgomp.dg/nestedfn-2.c: New test.
11532
11533 * testsuite/libgomp.dg/nestedfn-1.c: New test.
11534 * testsuite/libgomp.fortran/reduction6.f90: New test.
11535 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11536
115372005-10-23 Richard Henderson <rth@redhat.com>
11538
11539 * testsuite/libgomp.c++/ctor-1.C: New.
11540 * testsuite/libgomp.c++/ctor-2.C: New.
11541 * testsuite/libgomp.c++/ctor-3.C: New.
11542 * testsuite/libgomp.c++/ctor-4.C: New.
11543 * testsuite/libgomp.c++/ctor-5.C: New.
11544 * testsuite/libgomp.c++/ctor-6.C: New.
11545 * testsuite/libgomp.c++/ctor-7.C: New.
11546 * testsuite/libgomp.c++/ctor-8.C: New.
11547 * testsuite/libgomp.c++/ctor-9.C: New.
11548
115492005-10-21 Diego Novillo <dnovillo@redhat.com>
11550
11551 PR 24455
11552 * testsuite/libgomp.c++/pr24455-1.C: New test.
11553 * testsuite/libgomp.c++/pr24455.C: New test.
11554 * testsuite/libgomp.dg/pr24455-1.c: New test.
11555 * testsuite/libgomp.dg/pr24455.c: New test.
11556
115572005-10-20 Richard Henderson <rth@redhat.com>
11558
11559 * testsuite/libgomp.c++/loop-6.C: New.
11560 * testsuite/libgomp.dg/loop-3.c: New.
11561
115622005-10-20 Jakub Jelinek <jakub@redhat.com>
11563
11564 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11565 explicitly private.
11566 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11567 explicitly shared.
11568
115692005-10-19 Diego Novillo <dnovillo@redhat.com>
11570
11571 * testsuite/libgomp.fortran/jacobi.f: New test.
11572
115732005-10-19 Richard Henderson <rth@redhat.com>
11574
11575 * configure.tgt (i?86-linux): Default to with_arch instead of
11576 CFLAGS. Add -mtune to match target_cpu.
11577 (x86_64-linux): Tune to i686.
11578
11579 * fortran.c (omp_test_nest_lock_): Fix typo.
11580
115812005-10-19 Jakub Jelinek <jakub@redhat.com>
11582
11583 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11584 gomp_ordered_sync): Do nothing if team->nthreads == 1.
11585 * testsuite/libgomp.dg/ordered-3.c: New test.
11586
11587 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11588 Remove volatile keyword.
11589
11590 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
11591 in COMMON block to avoid warnings on 64-bit targets.
11592
115932005-10-18 Diego Novillo <dnovillo@redhat.com>
11594
11595 * testsuite/libgomp.dg/shared-3.c: New test.
11596
115972005-10-18 Jakub Jelinek <jakub@redhat.com>
11598
11599 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
11600 * testsuite/libgomp.fortran/reduction5.f90: New test.
11601
116022005-10-18 Jakub Jelinek <jakub@redhat.com>
11603
11604 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
11605 dg-options.
11606 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
11607 flush loop now that __sync_synchronize has proper memory barrier.
11608 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
11609 Add -ffixed-form to dg-options.
11610
116112005-10-17 Diego Novillo <dnovillo@redhat.com>
11612
11613 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
11614 from subdirectories.
11615 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
11616 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
11617 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
11618 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
11619 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
11620 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
11621 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
11622 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
11623 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
11624 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
11625 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
11626 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
11627 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
11628 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
11629 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
11630 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
11631 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
11632 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
11633 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
11634 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
11635 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
11636 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
11637 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
11638 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
11639 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
11640
116412005-10-17 Jakub Jelinek <jakub@redhat.com>
11642
11643 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
11644 lang_library_path exists. Use find instead of glob to gather tests.
11645 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
11646
116472005-10-17 Diego Novillo <dnovillo@redhat.com>
11648
11649 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
11650 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
11651 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
11652 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
11653 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
11654 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
11655 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
11656 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
11657 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
11658 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
11659 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
11660 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
11661 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
11662
116632005-10-15 Jakub Jelinek <jakub@redhat.com>
11664
11665 * testsuite/libgomp.dg/vla-1.c: New test.
11666
11667 * testsuite/libgomp.fortran/reference2.f90: New test.
11668
11669 * testsuite/libgomp.fortran/character2.f90: Remove explicit
11670 declaration of omp_get_thread_num.
11671 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
11672 use omp_lib.
11673
11674 * testsuite/libgomp.fortran/reduction1.f90: New test.
11675 * testsuite/libgomp.fortran/reduction2.f90: New test.
11676 * testsuite/libgomp.fortran/reduction3.f90: New test.
11677 * testsuite/libgomp.fortran/reduction4.f90: New test.
11678
116792005-10-13 Richard Henderson <rth@redhat.com>
11680
11681 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
11682 * Makefile.in: Regenerate.
11683 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
11684 * libgomp.h: Include bar.h.
11685 (struct gomp_barrier): Remove.
11686 (struct gomp_team): Add barrier. Replace master_barrier with
11687 master_release. Replace threads with ordered_release.
11688 (struct gomp_thread): Replace barrier with release.
11689 * ordered.c (gomp_ordered_first): Update for ordered_release change.
11690 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
11691 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
11692 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
11693 (GOMP_single_copy_end): Likewise.
11694 * team.c (gomp_threads_dock): New.
11695 (gomp_barrier_init, gomp_barrier_destroy): Remove.
11696 (gomp_thread_start): Use gomp_barrier_wait.
11697 (new_team, free_team): Update for gomp_team changes.
11698 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
11699 (gomp_team_end): Use gomp_barrier_wait.
11700 (initialize_team): Update for gomp_thread changes.
11701 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
11702 (gomp_work_share_end_nowait): Use atomic ops when available.
11703 * config/linux/bar.c, config/linux/bar.h: New files.
11704 * config/posix/bar.c, config/posix/bar.h: New files.
11705
117062005-10-13 Jakub Jelinek <jakub@redhat.com>
11707
11708 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
11709 * testsuite/libgomp.dg/single-2.c: New test.
11710
11711 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
11712 lang_link_flags): Unset, so that they aren't inherited from previously
11713 sourced *.exp.
11714
11715 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
11716
117172005-10-12 Richard Henderson <rth@redhat.com>
11718
11719 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11720 (libgomp_init): Use lang_test_file, lang_library_path, and
11721 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
11722
11723 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11724 (lang_test_file, lang_link_flags): New.
11725 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11726
11727 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11728 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11729 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11730 testsuite/libgomp.c++/parallel-1.C,
11731 testsuite/libgomp.c++/reduction-1.C,
11732 testsuite/libgomp.c++/reduction-2.C,
11733 testsuite/libgomp.c++/reduction-3.C,
11734 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11735 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11736 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11737 New files, largely cribbed from the C testsuite.
11738
117392005-10-12 Jakub Jelinek <jakub@redhat.com>
11740
11741 * testsuite/libgomp.fortran/character1.f90: New test.
11742 * testsuite/libgomp.fortran/character2.f90: New test.
11743
11744 * testsuite/libgomp.dg/nested-1.c: New test.
11745 * testsuite/libgomp.dg/nested-2.c: New test.
11746 * testsuite/libgomp.fortran/do1.f90: New test.
11747 * testsuite/libgomp.fortran/do2.f90: New test.
11748
11749 * testsuite/libgomp.fortran/reference1.f90: New test.
11750
117512005-10-11 Jakub Jelinek <jakub@redhat.com>
11752
11753 * testsuite/libgomp.dg/reduction-1.c: New test.
11754 * testsuite/libgomp.dg/reduction-2.c: New test.
11755 * testsuite/libgomp.dg/reduction-3.c: New test.
11756
117572005-10-10 Jakub Jelinek <jakub@redhat.com>
11758
11759 * testsuite/libgomp.dg/atomic-1.c: New test.
11760 * testsuite/libgomp.dg/atomic-2.c: New test.
11761
117622005-10-09 Richard Henderson <rth@redhat.com>
11763
11764 * critical.c (atomic_lock): New.
11765 (initialize_critical): Initialize it.
11766 (GOMP_atomic_start, GOMP_atomic_end): New.
11767 * libgomp.map: Export them.
11768 * libgomp_g.h: Declare them.
11769
11770 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11771
117722005-10-02 Richard Henderson <rth@redhat.com>
11773
11774 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
11775 to XCFLAGS instead of CFLAGS.
11776
117772005-09-30 Richard Henderson <rth@redhat.com>
11778
11779 * configure.ac: Determine whether -pthread or -lpthread is needed.
11780 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11781 * Makefine.in, configure: Rebuild.
11782
117832005-09-28 Richard Henderson <rth@redhat.com>
11784
11785 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11786 * testsuite/libgomp.dg/omp-single-3.c: New test.
11787
117882005-09-28 Diego Novillo <dnovillo@redhat.com>
11789
11790 * testsuite/libgomp.dg/omp-single-2.c: New test.
11791 * testsuite/libgomp.dg/shared-2.c: Fix return code.
11792
117932005-09-27 Richard Henderson <rth@redhat.com>
11794
11795 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11796 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11797
117982005-09-27 Jakub Jelinek <jakub@redhat.com>
11799
11800 * testsuite/libgomp.dg/omp-loop03.c: New test.
11801
118022005-09-27 Diego Novillo <dnovillo@redhat.com>
11803
11804 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11805
118062005-09-27 Diego Novillo <dnovillo@redhat.com>
11807
11808 * testsuite/libgomp.dg/omp-single-1.c: New test.
11809 * testsuite/libgomp.dg/shared-1.c: Return 0.
11810 Add prototype for abort.
11811 * testsuite/libgomp.dg/shared-2.c: Likewise.
11812
118132005-09-26 Jakub Jelinek <jakub@redhat.com>
11814
11815 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11816 constructs.
11817
118182005-09-26 Diego Novillo <dnovillo@redhat.com>
11819
11820 * testsuite/libgomp.dg/shared-1.c: New test.
11821 * testsuite/libgomp.dg/shared-2.c: New test.
11822
118232005-09-24 Richard Henderson <rth@redhat.com>
11824
11825 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11826
118272005-09-24 Richard Henderson <rth@redhat.com>
11828
11829 * iter.c (gomp_iter_static_next): Round up when computing number
11830 of iterations. Don't bother distributing a remainder equally.
11831
11832 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11833 Don't call srand. Zero b before testing.
11834 (main): New.
11835
118362005-09-24 Jakub Jelinek <jakub@redhat.com>
11837
11838 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11839 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11840
118412005-09-23 Jakub Jelinek <jakub@redhat.com>
11842
11843 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11844 without !$omp end do, followed immediately by subroutine end.
11845
118462005-09-23 Diego Novillo <dnovillo@redhat.com>
11847
11848 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11849
118502005-09-22 Richard Henderson <rth@redhat.com>
11851
11852 * critical.c (GOMP_critical_name_start): Change argument to void**.
11853 Reuse the pointer space if the mutex fits.
11854 (GOMP_critical_name_end): Likewise.
11855 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11856 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11857 (GOMP_critical_name_end): Likewise.
11858 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11859 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11860
118612005-09-20 Richard Henderson <rth@redhat.com>
11862
11863 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11864 (create_lock_lock): New.
11865 (initialize_critical): Initialize it.
11866 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11867 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11868
118692005-09-20 Diego Novillo <dnovillo@redhat.com>
11870
11871 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11872
118732005-09-20 Diego Novillo <dnovillo@redhat.com>
11874
11875 * testsuite/libgomp.dg/omp-loop01.c: New test.
11876 * testsuite/libgomp.dg/omp-loop02.c: New test.
11877
118782005-09-20 Jakub Jelinek <jakub@redhat.com>
11879
11880 * configure.ac (AC_PROG_FC): Add.
11881 (USE_FORTRAN): New automake conditional.
11882 * configure: Rebuilt.
11883 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11884 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11885 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11886 Add rules to build them.
11887 * Makefile.in: Rebuilt.
11888 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11889 OMP_NEST_LOCK_KIND.
11890 * libgomp.map: Add Fortran wrappers.
11891 * libgomp_f.h.in: New file.
11892 * omp_lib.h.in: New file.
11893 * omp_lib.f90.in: New file.
11894 * fortran.c: New file.
11895 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11896 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11897 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11898 libgfortran has been built.
11899 * testsuite/libgomp.fortran/fortran.exp: New file.
11900 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11901 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11902 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11903 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11904 * testsuite/libgomp.fortran/omp_hello.f: New test.
11905 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11906 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11907 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11908 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11909 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11910 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11911 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11912 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11913
119142005-08-30 Richard Henderson <rth@redhat.com>
11915
11916 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11917 function for when aliases are not usable.
11918 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11919 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11920 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11921 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11922 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11923 GOMP_loop_ordered_guided_next): Likewise.
11924 * ordered.c (GOMP_ordered_start): Likewise.
11925
119262005-08-01 Diego Novillo <dnovillo@redhat.com>
11927
11928 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11929 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11930 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11931 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11932 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11933 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11934 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11935 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11936 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11937
119382005-07-07 Eric Christopher <echristo@redhat.com>
11939 Diego Novillo <dnovillo@redhat.com>
11940
11941 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11942 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11943 up code.
11944 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11945 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11946 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11947 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11948 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11949 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11950 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11951
119522005-06-13 Diego Novillo <dnovillo@redhat.com>
11953
11954 * TOPLEVEL.patch: Remove.
11955
119562005-05-16 Richard Henderson <rth@redhat.com>
11957
11958 * configure.ac: Test for clock_gettime.
11959 * config.h.in, configure: Rebuild.
11960 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11961 (omp_get_wtime): Use clock_gettime if available.
11962 (omp_get_wtick): Use clock_getres if available.
11963
119642005-05-11 Richard Henderson <rth@redhat.com>
11965
11966 * config/linux/ia64/futex.h: New file.
11967 * configure.tgt: Use it.
11968
11969 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11970
119712005-05-07 Richard Henderson <rth@redhat.com>
11972
11973 * config/linux/powerpc/futex.h: New file.
11974 * configure.tgt: Use it.
11975
11976 * config/linux/i486/futex.h: Merge ...
11977 * config/linux/x86_64/futex.h: ... into ...
11978 * config/linux/x86/futex.h: ... here.
11979 * configure.tgt: Update to match.
11980
119812005-05-06 Richard Henderson <rth@redhat.com>
11982
11983 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11984 * config/linux/i486/futex.h: Likewise.
11985 * config/linux/x86_64/futex.h: Likewise.
11986
11987 * config/linux/lock.c: New file.
11988 * config/linux/omp-lock.h: New file.
11989
11990 * critical.c, env.h: Don't include omp.h
11991 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11992 * config/posix/time.c: Likewise.
11993 * config/posix/omp-lock.h: New file.
11994 * libgomp.h: Include omp-lock.h and omp.h.
11995 * Makefile.am (nodist_include_HEADERS): New.
11996 (omp.h): New rule.
11997 * configure.ac (PERL): New.
11998 * mkomp_h.pl: New file.
11999 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12000 with templates.
12001 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12002
12003 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12004 build directory. Re-add -march=i486 hack.
12005
12006 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12007 (libgomp_link_flags): Remove.
12008 (libgomp_initialized): Remove.
12009 (libgomp_init): Don't protect from reinitialization. Copy code
12010 from libstdc++ for getting the multilib set correctly.
12011
120122005-05-05 Richard Henderson <rth@redhat.com>
12013
12014 * config/linux/alpha/futex.h: New file.
12015 * configure.tgt (alpha*-*-linux*): Use it.
12016
12017 * config/posix/mutex.c: New file.
12018 * config/posix/sem.c: Use libgomp.h.
12019
12020 * configure.tgt (x86_64-linux): Also test CC for -m32.
12021 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12022
a1daed2d 12023 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
12024 after $gccpath.
12025
12026 * Makefile.am (SUBDIRS): New.
12027 (libgomp_la_LDFLAGS): Add -lpthread.
12028 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12029 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12030
12031 * libgomp_g.h: New file.
12032 * libgomp.h: Split out all public declarations to libgomp_g.h.
12033 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12034 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12035 * config/linux/sem.h: Likewise.
12036 * config/posix/sem.h: Likewise.
12037
12038 * Makefile.am (AM_LDFLAGS): New.
12039 (libgomp_version_script): Split out from ...
12040 (libgomp_la_LDFLAGS): ... here.
12041 (libgomp_version_info): New.
12042 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12043 (LIBGOMP_ENABLE): New.
12044 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12045 (LIBGOMP_ENABLE_SYMVERS): New.
12046 * configure.ac (AC_INIT): Version 1.0.
12047 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12048 (enable-linux-futex): Likewise. Rename from enable-futex.
12049 (libtool_VERSION): New.
12050 (LIBGOMP_ENABLE_SYMVERS): Use it.
12051 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12052 * Makefile.in, aclocal.m4, configure: Rebuild.
12053
12054 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12055 (gomp_mutex_unlock_slow): Fix typo.
12056 * config/linux/sem.c: Similarly.
12057 (gomp_sem_post_slow): Fix typo.
12058 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12059 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12060 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12061
12062 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12063 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12064 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12065 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12066 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12067 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12068 LDFLAGS. Pull enable_futex check to top-level.
12069 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12070 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12071
12072 First attempt at real configury.
12073 * Makefile, config.h: Remove file.
12074 * Makefile.am, Makefile.in: New file.
12075 * acinclude.m4 aclocal.m4: New file.
12076 * configure.ac, configure.tgt, configure: New file.
12077
12078 * config/posix/lock.c: Rename from sys-lock.c.
12079 * config/posix/mutex.h: Rename from sys-mutex.h.
12080 * config/posix/sem.c: Rename from sys-sem.c.
12081 * config/posix/sem.h: Rename from sys-sem.h.
12082 * config/posix/proc.c: Rename from sys-proc.c.
12083 * config/posix/time.c: Rename from sys-proc.c.
12084
12085 * config/linux/mutex.c: New file.
12086 * config/linux/mutex.h: New file.
12087 * config/linux/sem.c: New file.
12088 * config/linux/sem.h: New file.
12089 * config/linux/i486/futex.h: New file.
12090 * config/linux/x86_64/futex.h: New file.
12091
120922005-05-04 Richard Henderson <rth@redhat.com>
12093
12094 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12095 * libgomp.h: Declare them.
12096 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12097 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12098
120992005-05-04 Richard Henderson <rth@redhat.com>
12100
12101 * libgomp-1 code drop
12102
121032005-05-04 Richard Henderson <rth@redhat.com>
12104
12105 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12106 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12107 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12108 (gomp_iter_static_next): Update.
12109 (gomp_ordered_static_next): Update.
12110 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12111 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12112 totally empty range.
12113 (gomp_loop_ordered_static_next): Refine test for calling
12114 gomp_ordered_static_next.
12115 * testsuite/ordered-1.c: Add case for more threads than iterations.
12116
12117 * iter.c (gomp_iter_runtime_next_locked): Remove.
12118 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 12119 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
12120 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12121 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12122 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12123 gomp_loop_ordered_guided_next): Downcase name, make static, add
12124 an external alias with the old name.
12125 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12126 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12127 switch and call one of the above static functions.
12128 * libgomp.h: Update.
12129
12130 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12131 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12132 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12133 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12134 GOMP_loop_ordered_guided_start): Update to match.
12135 * sections.c (GOMP_sections_start): Likewise.
12136 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12137
12138 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12139 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12140 Use bounds check instead of modulus.
12141 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12142 (gomp_ordered_last): Don't sync with ordered_owner here.
12143 (gomp_ordered_next): Likewise.
12144 (gomp_ordered_static_loop_next): Likewise.
12145 * loop.c, libgomp.h: Update to match.
12146
12147 * libgomp.h (GOMP_barrier): Declare.
12148
12149 * testsuite/barrier-1.c: New file.
12150 * testsuite/critical-1.c: New file.
12151 * testsuite/ordered-2.c: New file.
12152 * testsuite/ordered-1.c: New file.
12153 * testsuite/sections-1.c: New file.
12154 * testsuite/single-1.c: New file.
12155 * testsuite/Makefile (TESTS): Add them.
12156
121572005-05-04 Richard Henderson <rth@redhat.com>
12158
12159 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12160 * loop.c (GOMP_loop_static_start): If not the startup thread,
12161 acquire the mutex to wait for initialization complete.
12162 (GOMP_loop_ordered_static_start): Likewise.
12163 (GOMP_loop_ordered_runtime_start): Likewise.
12164 (GOMP_loop_ordered_static_first): Remove.
12165 (GOMP_loop_ordered_dynamic_first): Remove.
12166 (GOMP_loop_ordered_guided_first): Remove.
12167 (GOMP_loop_ordered_runtime_first): Remove.
12168 * ordered.c (gomp_ordered_loop_first): Post to own release when
12169 we're the first thread.
12170 (gomp_ordered_loop_last): Wait on release if not owner.
12171 (gomp_ordered_loop_next): Likewise.
12172 (gomp_ordered_static_loop_init): New.
12173 (gomp_ordered_static_loop_next): Use ordered_owner.
12174 (GOMP_ordered_start): Likewise.
12175 * work.c (gomp_new_work_share): Initialize ordered_owner.
12176
121772005-05-03 Richard Henderson <rth@redhat.com>
12178
12179 * Makefile (OPT): New.
12180 (CFLAGS): Use it.
12181
12182 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12183 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12184 * libgomp.h, libgomp.map, NOTES: Update to match.
12185
12186 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12187 Add initialized and thr members.
12188 (gomp_thread_start): Pause when initially spawned to wait for
12189 the whole team to be created.
12190 (gomp_team_start): Release team members at the end.
12191
12192 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12193 (f_foo_1): Use GOMP_loop_end.
12194 (f_foo_2): Use GOMP_loop_end_nowait.
12195
12196 * testsuite/loop-2.c: New file.
12197 * testsuite/Makefile (TESTS): Add it.
12198
121992005-05-03 Richard Henderson <rth@redhat.com>
12200
12201 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12202 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12203 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12204 initial work_share.
12205
12206 * testsuite/Makefile: New file.
12207 * testsuite/loop-1.c: New file.
12208
122092005-05-03 Richard Henderson <rth@redhat.com>
12210
12211 Initial implementation and checkin.
21fa2a29 12212\f
a5544970 12213Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
12214
12215Copying and distribution of this file, with or without modification,
12216are permitted in any medium without royalty provided the copyright
12217notice and this notice are preserved.