]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
GCN libgomp port
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
fa499995
AS
12019-11-13 Andrew Stubbs <ams@codesourcery.com>
2 Kwok Cheung Yeung <kcy@codesourcery.com>
3 Julian Brown <julian@codesourcery.com>
4 Tom de Vries <tom@codesourcery.com>
5
6 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
7 * Makefile.in: Regenerate.
8 * config.h.in (PLUGIN_GCN): Add new undef.
9 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
10 * config/gcn/affinity-fmt.c: New file.
11 * config/gcn/bar.c: New file.
12 * config/gcn/bar.h: New file.
13 * config/gcn/doacross.h: New file.
14 * config/gcn/icv-device.c: New file.
15 * config/gcn/oacc-target.c: New file.
16 * config/gcn/simple-bar.h: New file.
17 * config/gcn/target.c: New file.
18 * config/gcn/task.c: New file.
19 * config/gcn/team.c: New file.
20 * config/gcn/time.c: New file.
21 * configure.ac: Add amdgcn*-*-*.
22 * configure: Regenerate.
23 * configure.tgt: Add amdgcn*-*-*.
24 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
25 * libgomp.h (gcn_thrs): Add amdgcn variant.
26 (set_gcn_thrs): Likewise.
27 (gomp_thread): Likewise.
28 * oacc-int.h (goacc_thread): Likewise.
29 * oacc-target.c: New file.
30 * openacc.f90 (acc_device_gcn): New parameter.
31 * openacc.h (acc_device_t): Add acc_device_gcn.
32 * team.c (gomp_free_pool_helper): Add amdgcn support.
33
d2903ce0
AS
342019-11-13 Andrew Stubbs <ams@codesourcery.com>
35 Julian Brown <julian@codesourcery.com>
36
37 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
38 parameter.
39 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
40 queue constructor.
41 * oacc-host.c (host_openacc_async_construct): Add device parameter.
42 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
43 device parameter.
44
b3d14b3a
AS
452019-11-13 Andrew Stubbs <ams@codesourcery.com>
46
47 * configure.tgt (nvptx*-*-*): Add "accel" directory.
48 * config/nvptx/libgomp-plugin.c: Move ...
49 * config/accel/libgomp-plugin.c: ... to here.
50 * config/nvptx/lock.c: Move ...
51 * config/accel/lock.c: ... to here.
52 * config/nvptx/mutex.c: Move ...
53 * config/accel/mutex.c: ... to here.
54 * config/nvptx/mutex.h: Move ...
55 * config/accel/mutex.h: ... to here.
56 * config/nvptx/oacc-async.c: Move ...
57 * config/accel/oacc-async.c: ... to here.
58 * config/nvptx/oacc-cuda.c: Move ...
59 * config/accel/oacc-cuda.c: ... to here.
60 * config/nvptx/oacc-host.c: Move ...
61 * config/accel/oacc-host.c: ... to here.
62 * config/nvptx/oacc-init.c: Move ...
63 * config/accel/oacc-init.c: ... to here.
64 * config/nvptx/oacc-mem.c: Move ...
65 * config/accel/oacc-mem.c: ... to here.
66 * config/nvptx/oacc-plugin.c: Move ...
67 * config/accel/oacc-plugin.c: ... to here.
68 * config/nvptx/omp-lock.h: Move ...
69 * config/accel/omp-lock.h: ... to here.
70 * config/nvptx/openacc.f90: Move ...
71 * config/accel/openacc.f90: ... to here.
72 * config/nvptx/pool.h: Move ...
73 * config/accel/pool.h: ... to here.
74 * config/nvptx/proc.c: Move ...
75 * config/accel/proc.c: ... to here.
76 * config/nvptx/ptrlock.c: Move ...
77 * config/accel/ptrlock.c: ... to here.
78 * config/nvptx/ptrlock.h: Move ...
79 * config/accel/ptrlock.h: ... to here.
80 * config/nvptx/sem.c: Move ...
81 * config/accel/sem.c: ... to here.
82 * config/nvptx/sem.h: Move ...
83 * config/accel/sem.h: ... to here.
84 * config/nvptx/thread-stacksize.h: Move ...
85 * config/accel/thread-stacksize.h: ... to here.
86
62aee289
MR
872019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
88 Tobias Burnus <tobias@codesourcery.com>
89 Frederik Harwath <frederik@codesourcery.com>
90 Thomas Schwinge <thomas@codesourcery.com>
91
92 libgomp/
93 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
94 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
95 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
96
a2c26c50
TB
972019-11-11 Tobias Burnus <tobias@codesourcery.com>
98 Kwok Cheung Yeung <kcy@codesourcery.com>
99
100 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
101 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
102
6d4868f3
TS
1032019-11-11 Thomas Schwinge <thomas@codesourcery.com>
104
bfa1837b
TS
105 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
106
6d4868f3
TS
107 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
108 run'.
109 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
110 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
111
5d183d17
FH
1122019-11-06 Thomas Schwinge <thomas@codesourcery.com>
113
114 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
115 Add expected warnings about missing reduction clauses.
116 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
117 Likewise.
118 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
119 Likewise.
120 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
121 Likewise.
122
d8f03b03
TB
1232019-11-04 Tobias Burnus <tobias@codesourcery.com>
124
125 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
126 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
127 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
128 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
129 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
130 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
131
12fd2ec5
TB
1322019-11-04 Tobias Burnus <tobias@codesourcery.com>
133
134 PR fortran/92305
135 * testsuite/libgomp.fortran/allocatable2.f90: Use
136 unique numbers with 'stop'.
137 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
138 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
139 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
140 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
141 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
142
92e63bd2
TB
1432019-11-01 Tobias Burnus <tobias@codesourcery.com>
144
145 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
146 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
147 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
148 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
149 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
150 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
151
91ae0a46
TB
1522019-10-30 Tobias Burnus <tobias@codesourcery.com>
153
154 * testsuite/libgomp.fortran/target9.f90: New.
155
c425e66b
TB
1562019-10-30 Tobias Burnus <tobias@codesourcery.com>
157
158 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
159 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
160 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
161 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
162 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
163 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
164 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
165 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
166 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
167 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
168 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
169 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
170 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
171 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
172 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
173 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
174 * testsuite/libgomp.fortran/associate1.f90: Ditto.
175 * testsuite/libgomp.fortran/associate2.f90: Ditto.
176 * testsuite/libgomp.fortran/associate3.f90: Ditto.
177 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
178 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
179 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
180 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
181 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
182 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
183 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
184 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
185 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
186 * testsuite/libgomp.fortran/character1.f90: Ditto.
187 * testsuite/libgomp.fortran/character2.f90: Ditto.
188 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
189 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
190 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
191 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
192 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
193 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
194 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
195 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
196 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
197 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
198 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
199 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
200 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
201 * testsuite/libgomp.fortran/do1.f90: Ditto.
202 * testsuite/libgomp.fortran/do2.f90: Ditto.
203 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
204 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
205 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
206 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
207 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
208 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
209 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
210 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
211 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
212 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
213 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
214 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
215 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
216 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
217 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
218 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
219 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
220 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
221 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
222 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
223 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
224 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
225 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
226 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
227 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
228 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
229 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
230 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
231 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
232 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
233 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
234 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
235 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
236 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
237 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
238 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
239 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
240 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
241 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
242 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
243 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
244 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
245 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
246 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
247 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
248 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
249 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
250 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
251 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
252 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
253 * testsuite/libgomp.fortran/lib1.f90: Ditto.
254 * testsuite/libgomp.fortran/lib4.f90: Ditto.
255 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
256 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
257 * testsuite/libgomp.fortran/nested1.f90: Ditto.
258 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
259 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
260 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
261 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
262 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
263 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
264 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
265 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
266 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
267 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
268 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
269 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
270 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
271 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
272 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
273 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
274 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
275 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
276 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
277 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
278 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
279 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
280 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
281 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
282 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
283 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
284 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
285 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
286 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
287 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
288 * testsuite/libgomp.fortran/pr28390.f: Ditto.
289 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
290 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
291 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
292 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
293 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
294 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
295 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
296 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
297 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
298 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
299 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
300 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
301 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
302 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
303 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
304 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
305 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
306 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
307 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
308 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
309 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
310 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
311 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
312 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
313 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
314 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
315 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
316 * testsuite/libgomp.fortran/reference1.f90: Ditto.
317 * testsuite/libgomp.fortran/reference2.f90: Ditto.
318 * testsuite/libgomp.fortran/retval1.f90: Ditto.
319 * testsuite/libgomp.fortran/retval2.f90: Ditto.
320 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
321 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
322 * testsuite/libgomp.fortran/simd1.f90: Ditto.
323 * testsuite/libgomp.fortran/simd2.f90: Ditto.
324 * testsuite/libgomp.fortran/simd3.f90: Ditto.
325 * testsuite/libgomp.fortran/simd4.f90: Ditto.
326 * testsuite/libgomp.fortran/simd5.f90: Ditto.
327 * testsuite/libgomp.fortran/simd6.f90: Ditto.
328 * testsuite/libgomp.fortran/simd7.f90: Ditto.
329 * testsuite/libgomp.fortran/stack.f90: Ditto.
330 * testsuite/libgomp.fortran/strassen.f90: Ditto.
331 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
332 * testsuite/libgomp.fortran/tabs2.f: Ditto.
333 * testsuite/libgomp.fortran/target1.f90: Ditto.
334 * testsuite/libgomp.fortran/target2.f90: Ditto.
335 * testsuite/libgomp.fortran/target3.f90: Ditto.
336 * testsuite/libgomp.fortran/target4.f90: Ditto.
337 * testsuite/libgomp.fortran/target5.f90: Ditto.
338 * testsuite/libgomp.fortran/target6.f90: Ditto.
339 * testsuite/libgomp.fortran/target7.f90: Ditto.
340 * testsuite/libgomp.fortran/target8.f90: Ditto.
341 * testsuite/libgomp.fortran/task1.f90: Ditto.
342 * testsuite/libgomp.fortran/task2.f90: Ditto.
343 * testsuite/libgomp.fortran/task3.f90: Ditto.
344 * testsuite/libgomp.fortran/task4.f90: Ditto.
345 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
346 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
347 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
348 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
349 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
350 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
351 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
352 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
353 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
354 * testsuite/libgomp.fortran/udr1.f90: Ditto.
355 * testsuite/libgomp.fortran/udr10.f90: Ditto.
356 * testsuite/libgomp.fortran/udr11.f90: Ditto.
357 * testsuite/libgomp.fortran/udr12.f90: Ditto.
358 * testsuite/libgomp.fortran/udr13.f90: Ditto.
359 * testsuite/libgomp.fortran/udr14.f90: Ditto.
360 * testsuite/libgomp.fortran/udr15.f90: Ditto.
361 * testsuite/libgomp.fortran/udr2.f90: Ditto.
362 * testsuite/libgomp.fortran/udr3.f90: Ditto.
363 * testsuite/libgomp.fortran/udr4.f90: Ditto.
364 * testsuite/libgomp.fortran/udr5.f90: Ditto.
365 * testsuite/libgomp.fortran/udr6.f90: Ditto.
366 * testsuite/libgomp.fortran/udr7.f90: Ditto.
367 * testsuite/libgomp.fortran/udr8.f90: Ditto.
368 * testsuite/libgomp.fortran/udr9.f90: Ditto.
369 * testsuite/libgomp.fortran/vla1.f90: Ditto.
370 * testsuite/libgomp.fortran/vla2.f90: Ditto.
371 * testsuite/libgomp.fortran/vla3.f90: Ditto.
372 * testsuite/libgomp.fortran/vla4.f90: Ditto.
373 * testsuite/libgomp.fortran/vla5.f90: Ditto.
374 * testsuite/libgomp.fortran/vla6.f90: Ditto.
375 * testsuite/libgomp.fortran/vla7.f90: Ditto.
376 * testsuite/libgomp.fortran/vla8.f90: Ditto.
377 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
378 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
379
01509e2f
TB
3802019-10-30 Tobias Burnus <tobias@codesourcery.com>
381
382 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
383 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
384 Ditto; add 'dg-do run' for torture testing.
385 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
386 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
387 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
388 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
389 * testsuite/libgomp.fortran/pr28390.f: Ditto.
390 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
391 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
392 * testsuite/libgomp.fortran/task2.f90: Ditto.
393 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
394 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
395 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
396 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
397 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
398 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
399
ffbdd78a
TB
4002019-10-28 Tobias Burnus <tobias@codesourcery.com>
401
402 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
403 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
404 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
405 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
406 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
407 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
408 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
409 Use 'stop' not abort().
410 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
411 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
412 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
413 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
414 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
415 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
416 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
417 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
418 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
419 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
420 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
421 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
422 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
423 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
424 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
425 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
426 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
427 Ditto.
428 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
429 Ditto.
430 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
431 Ditto.
432 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
433 Ditto.
434 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
435 Ditto.
436 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
437 Ditto.
438 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
439 Ditto.
440 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
441 Ditto.
442 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
443 Ditto.
444 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
445 Ditto.
446 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
447 Ditto.
448 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
449 Ditto.
450 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
451 Ditto.
452 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
453 Ditto.
454 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
455 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
456 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
457 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
458 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
459 Likewise and also add 'dg-do run'.
460 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
461 Ditto.
462
ec084613
CP
4632019-10-25 Cesar Philippidis <cesar@codesourcery.com>
464 Tobias Burnus <tobias@codesourcery.com>
465
466 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
467 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
468 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
469
77ef3394
JJ
4702019-10-14 Jakub Jelinek <jakub@redhat.com>
471
472 PR libgomp/92081
473 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
474 than 0.
475
08c14aaa
TB
4762019-10-11 Tobias Burnus <tobias@codesourcery.com>
477
478 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
479 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
480
6bbead0c
TS
4812019-10-09 Thomas Schwinge <thomas@codesourcery.com>
482
483 PR middle-end/92036
484 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
485 file.
486
eba3dee8
TB
4872019-10-09 Tobias Burnus <tobias@codesourcery.com>
488
489 PR testsuite/91884
490 * testsuite/libgomp.fortran/fortran.exp: Conditionally
491 add -lquadmath.
492 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
493
7d48e14f
JJ
4942019-10-09 Jakub Jelinek <jakub@redhat.com>
495
496 PR libgomp/92028
497 * target.c (gomp_map_vars_internal): Readd the previous
498 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
499 though do that just in the !not_found_cnt case.
500
65b67cf3
TB
5012019-10-08 Tobias Burnus <tobias@codesourcery.com>
502
503 * gfortran.dg/gomp/target-simd.f90: New.
504
6c7e076b
JB
5052019-10-02 Julian Brown <julian@codesourcery.com>
506 Cesar Philippidis <cesar@codesourcery.com>
507
508 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
509 * target.c (FIELD_TGT_EMPTY): Define.
510 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
511 as switch instead of list of ifs.
512 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
513
d61bff85
AT
5142019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
515
516 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
517 include. Replace alloca () with __builtin_alloca ().
518 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
519
810f316d
JJ
5202019-10-01 Jakub Jelinek <jakub@redhat.com>
521
522 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
523 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
524 * oacc-parallel.c: Don't include "libgomp_g.h".
525 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
526 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
527 * aclocal.m4: Regenerated.
528 * config.h.in: Regenerated.
529 * configure: Regenerated.
530 * Makefile.in: Regenerated.
531
d7f9ee98
KCY
5322019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
533
534 * libgomp_g.h: Include stdint.h instead of gstdint.h.
535
e9085da5
MR
5362019-09-27 Maciej W. Rozycki <macro@wdc.com>
537
538 * configure: Regenerate.
539
c28712be
TB
5402019-09-13 Tobias Burnus <tobias@codesourcery.com>
541
542 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
543 string is initialized.
544
3c086f8d
FW
5452019-09-06 Florian Weimer <fweimer@redhat.com>
546
547 * configure: Regenerate.
548
c6c2d1bc
CLT
5492019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
550
551 PR other/79543
552 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
553 scanning to conform to the GNU Coding Standards.
554 * configure: Regenerate.
555
5cb72d83
JJ
5562019-08-28 Jakub Jelinek <jakub@redhat.com>
557
558 PR libgomp/91530
559 * testsuite/libgomp.c/scan-21.c: New test.
560 * testsuite/libgomp.c/scan-22.c: New test.
561
0ad7981c
JJ
5622019-08-27 Jakub Jelinek <jakub@redhat.com>
563
564 PR libgomp/91530
565 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
566 targets.
567 * testsuite/libgomp.c/scan-12.c: Likewise.
568 * testsuite/libgomp.c/scan-13.c: Likewise.
569 * testsuite/libgomp.c/scan-14.c: Likewise.
570 * testsuite/libgomp.c/scan-15.c: Likewise.
571 * testsuite/libgomp.c/scan-16.c: Likewise.
572 * testsuite/libgomp.c/scan-17.c: Likewise.
573 * testsuite/libgomp.c/scan-18.c: Likewise.
574 * testsuite/libgomp.c/scan-19.c: Likewise.
575 * testsuite/libgomp.c/scan-20.c: Likewise.
576 * testsuite/libgomp.c++/scan-9.C: Likewise.
577 * testsuite/libgomp.c++/scan-10.C: Likewise.
578 * testsuite/libgomp.c++/scan-11.C: Likewise.
579 * testsuite/libgomp.c++/scan-12.C: Likewise.
580 * testsuite/libgomp.c++/scan-14.C: Likewise.
581 * testsuite/libgomp.c++/scan-15.C: Likewise.
582 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
583 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
584 * testsuite/libgomp.c++/scan-16.C: Likewise.
585
1e67491a
TK
5862019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
587
588 PR fortran/91473
589 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
590 -std=legacy so invalid code in the test case is accepted.
591
393fdeb1
TK
5922019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
593
594 PR fortran/91422
595 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
596 dimension.
597
8860d270
JJ
5982019-08-08 Jakub Jelinek <jakub@redhat.com>
599
600 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
601 perform the lookup in the first loop only if !not_found_cnt, otherwise
602 perform lookups for it in the second loop guarded with
603 if (not_found_cnt || has_firstprivate).
604 * testsuite/libgomp.c/target-37.c: New test.
605 * testsuite/libgomp.c++/target-22.C: New test.
606
398e3feb
JJ
6072019-08-07 Jakub Jelinek <jakub@redhat.com>
608
609 * testsuite/libgomp.c/target-18.c (struct S): New type.
610 (foo): Use use_device_addr clause instead of use_device_ptr clause
611 where required by OpenMP 5.0, add further tests for both use_device_ptr
612 and use_device_addr clauses.
613 * testsuite/libgomp.c++/target-9.C (struct S): New type.
614 (foo): Use use_device_addr clause instead of use_device_ptr clause
615 where required by OpenMP 5.0, add further tests for both use_device_ptr
616 and use_device_addr clauses. Add t and u arguments.
617 (main): Adjust caller.
618
d81ab49d
JJ
6192019-08-06 Jakub Jelinek <jakub@redhat.com>
620
621 * testsuite/libgomp.c++/loop-13.C: New test.
622 * testsuite/libgomp.c++/loop-14.C: New test.
623 * testsuite/libgomp.c++/loop-15.C: New test.
624
c3ac76aa
JJ
6252019-07-31 Jakub Jelinek <jakub@redhat.com>
626
627 PR middle-end/91301
628 * testsuite/libgomp.c++/for-27.C: New test.
629
8dc63166
SK
6302019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
631
393fdeb1 632 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 633 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 634
554a530f
JJ
6352019-07-20 Jakub Jelinek <jakub@redhat.com>
636
637 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
638
6cda84b5
JJ
6392019-07-08 Jakub Jelinek <jakub@redhat.com>
640
641 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
642 * testsuite/libgomp.c++/scan-16.C: Likewise.
643
1f52d1a8
JJ
6442019-07-06 Jakub Jelinek <jakub@redhat.com>
645
6f67abcd
JJ
646 * testsuite/libgomp.c/scan-19.c: New test.
647 * testsuite/libgomp.c/scan-20.c: New test.
648
1f52d1a8
JJ
649 * testsuite/libgomp.c/scan-11.c: New test.
650 * testsuite/libgomp.c/scan-12.c: New test.
651 * testsuite/libgomp.c/scan-13.c: New test.
652 * testsuite/libgomp.c/scan-14.c: New test.
653 * testsuite/libgomp.c/scan-15.c: New test.
654 * testsuite/libgomp.c/scan-16.c: New test.
655 * testsuite/libgomp.c/scan-17.c: New test.
656 * testsuite/libgomp.c/scan-18.c: New test.
657 * testsuite/libgomp.c++/scan-9.C: New test.
658 * testsuite/libgomp.c++/scan-10.C: New test.
659 * testsuite/libgomp.c++/scan-11.C: New test.
660 * testsuite/libgomp.c++/scan-12.C: New test.
661 * testsuite/libgomp.c++/scan-13.C: New test.
662 * testsuite/libgomp.c++/scan-14.C: New test.
663 * testsuite/libgomp.c++/scan-15.C: New test.
664 * testsuite/libgomp.c++/scan-16.C: New test.
665
2f03073f
JJ
6662019-07-04 Jakub Jelinek <jakub@redhat.com>
667
668 * testsuite/libgomp.c/scan-9.c: New test.
669 * testsuite/libgomp.c/scan-10.c: New test.
670
2f6bb511
JJ
6712019-07-03 Jakub Jelinek <jakub@redhat.com>
672
673 * testsuite/libgomp.c++/scan-1.C: New test.
674 * testsuite/libgomp.c++/scan-2.C: New test.
675 * testsuite/libgomp.c++/scan-3.C: New test.
676 * testsuite/libgomp.c++/scan-4.C: New test.
677 * testsuite/libgomp.c++/scan-5.C: New test.
678 * testsuite/libgomp.c++/scan-6.C: New test.
679 * testsuite/libgomp.c++/scan-7.C: New test.
680 * testsuite/libgomp.c++/scan-8.C: New test.
681 * testsuite/libgomp.c/scan-1.c: New test.
682 * testsuite/libgomp.c/scan-2.c: New test.
683 * testsuite/libgomp.c/scan-3.c: New test.
684 * testsuite/libgomp.c/scan-4.c: New test.
685 * testsuite/libgomp.c/scan-5.c: New test.
686 * testsuite/libgomp.c/scan-6.c: New test.
687 * testsuite/libgomp.c/scan-7.c: New test.
688 * testsuite/libgomp.c/scan-8.c: New test.
689
bd194a51
TS
6902019-06-18 Thomas Schwinge <thomas@codesourcery.com>
691
85fca03a
TS
692 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
693 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
694 Likewise.
695
bd194a51
TS
696 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
697 check.
698
6652161e
CP
6992019-06-18 Cesar Philippidis <cesar@codesourcery.com>
700
701 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
702 file.
703
3a37d6f6
TS
7042019-06-18 Thomas Schwinge <thomas@codesourcery.com>
705
4017da8d
TS
706 PR fortran/90743
707 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
708 case.
709 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
710 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
711 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
712 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
713
6f7c1f65
TS
714 PR testsuite/90861
715 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
716
3a37d6f6
TS
717 PR middle-end/90862
718 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
719
f45ce17d
TV
7202019-06-16 Tom de Vries <tdevries@suse.de>
721
722 PR tree-optimization/89376
723 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
724
00908992
TV
7252019-06-15 Tom de Vries <tdevries@suse.de>
726
727 PR tree-optimization/89713
728 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
729 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
730
211b7533
JJ
7312019-06-15 Jakub Jelinek <jakub@redhat.com>
732
733 PR middle-end/90779
734 * testsuite/libgomp.c/pr90779.c: New test.
735 * testsuite/libgomp.fortran/pr90779.f90: New test.
736
120a01d1
TV
7372019-06-15 Tom de Vries <tdevries@suse.de>
738
739 PR tree-optimization/90009
740 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
741
c29c92c7
FX
7422019-06-13 Feng Xue <fxue@os.amperecomputing.com>
743
744 PR tree-optimization/89713
745 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
746
ce9c4ec3
JJ
7472019-06-11 Jakub Jelinek <jakub@redhat.com>
748
749 PR target/90811
750 * testsuite/libgomp.c/pr90811.c: New test.
751
28b3a77c
JJ
7522019-06-05 Jakub Jelinek <jakub@redhat.com>
753
754 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
755 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
756
7855700e
JJ
7572019-06-04 Jakub Jelinek <jakub@redhat.com>
758
759 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
760 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
761 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
762 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
763
a7155c2e
RO
7642019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
765
766 * configure.ac: Call AX_COUNT_CPUS.
767 Substitute CPU_COUNT.
768 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
769 count fallback.
770 * aclocal.m4: Regenerate.
771 * configure: Regenerate.
772 * Makefile.in, testsuite/Makefile.in: Regenerate.
773
7e47198b
JJ
7742019-05-29 Jakub Jelinek <jakub@redhat.com>
775
776 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
777 to ...
778 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
779 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
780 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
781
fcfb8032
JJ
7822019-05-27 Jakub Jelinek <jakub@redhat.com>
783
8e7757ba
JJ
784 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
785
36c7a3ff
JJ
786 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
787
fcfb8032
JJ
788 PR libgomp/90641
789 * work.c (gomp_init_work_share): Instead of aligning final ordered
790 value to multiples of long long alignment, align to that the
791 first part (ordered team ids) and if inline_ordered_team_ids
792 is not on a long long alignment boundary within the structure,
793 use __alignof__ (long long) - 1 pad size always.
794 * loop.c (GOMP_loop_start): Fix *mem computation if
795 inline_ordered_team_ids is not aligned on long long alignment boundary
796 within the structure.
797 * loop-ull.c (GOMP_loop_ull_start): Likewise.
798 * sections.c (GOMP_sections2_start): Likewise.
799
b5c26449
JJ
8002019-05-24 Jakub Jelinek <jakub@redhat.com>
801
6c7ae8c5
JJ
802 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
803 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
804
b5c26449
JJ
805 PR libgomp/90585
806 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
807 HAVE_INTTYPES_H is defined.
808 (print_uint64_t): New typedef.
809 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
810 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
811 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
812 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
813 before casting to void *.
814 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
815 * oacc-mem.c: Don't include config.h nor stdint.h.
816 * target.c: Don't include config.h.
817 * oacc-cuda.c: Likewise.
818 * oacc-host.c: Don't include stdint.h.
819
3e03ed66
JJ
8202019-05-20 Jakub Jelinek <jakub@redhat.com>
821
822 PR libgomp/90527
823 * alloc.c (_GNU_SOURCE): Define.
824
5fae049d
TS
8252019-05-17 Thomas Schwinge <thomas@codesourcery.com>
826
827 * acc_prof.h: New file.
828 * oacc-profiling.c: Likewise.
829 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
830 Add these, respectively.
831 * Makefile.in: Regenerate.
832 * env.c (initialize_env): Call goacc_profiling_initialize.
833 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
834 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
835 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
836 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
837 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
838 acc_prof_register, acc_prof_unregister, and acc_register_library.
839 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
840 GOMP_PLUGIN_goacc_thread.
841 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
842 prof_callbacks_enabled members.
843 (goacc_prof_enabled, goacc_profiling_initialize)
844 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
845 (goacc_profiling_dispatch): Declare.
846 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
847 (GOACC_PROFILING_SETUP_P): Define.
848 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
849 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
850 OpenACC Profiling Interface.
851 * oacc-cuda.c (acc_get_current_cuda_device)
852 (acc_get_current_cuda_context, acc_get_cuda_stream)
853 (acc_set_cuda_stream): Likewise.
854 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
855 (acc_init, acc_set_device_type, acc_get_device_type)
856 (acc_get_device_num, goacc_lazy_initialize): Likewise.
857 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
858 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
859 (acc_unmap_data, present_create_copy, delete_copyout)
860 (update_dev_host): Likewise.
861 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
862 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
863 Likewise.
864 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
865 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
866 Likewise.
867 * libgomp.texi: Update.
868 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
869 file.
870 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
871 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
872 Likewise.
873 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
874 Likewise.
875 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
876 Likewise.
877 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
878 Likewise.
879
1f4c5b9b
CLT
8802019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
881
882 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
883 (struct goacc_asyncqueue_list): Likewise.
884 (goacc_aq): Likewise.
885 (goacc_aq_list): Likewise.
886 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
887 (GOMP_OFFLOAD_openacc_async_test): Remove.
888 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
889 (GOMP_OFFLOAD_openacc_async_wait): Remove.
890 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
891 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
892 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
893 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
894 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
895 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
896 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
897 (GOMP_OFFLOAD_openacc_async_exec): Declare.
898 (GOMP_OFFLOAD_openacc_async_construct): Declare.
899 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
900 (GOMP_OFFLOAD_openacc_async_test): Declare.
901 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
902 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
903 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
904 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
905 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
906
907 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
908 (gomp_acc_insert_pointer): Adjust declaration.
909 (gomp_copy_host2dev): New declaration.
910 (gomp_copy_dev2host): Likewise.
911 (gomp_map_vars_async): Likewise.
912 (gomp_unmap_tgt): Likewise.
913 (gomp_unmap_vars_async): Likewise.
914 (gomp_fini_device): Likewise.
915
916 * oacc-async.c (get_goacc_thread): New function.
917 (get_goacc_thread_device): New function.
918 (lookup_goacc_asyncqueue): New function.
919 (get_goacc_asyncqueue): New function.
920 (acc_async_test): Adjust code to use new async design.
921 (acc_async_test_all): Likewise.
922 (acc_wait): Likewise.
923 (acc_wait_async): Likewise.
924 (acc_wait_all): Likewise.
925 (acc_wait_all_async): Likewise.
926 (goacc_async_free): New function.
927 (goacc_init_asyncqueues): Likewise.
928 (goacc_fini_asyncqueues): Likewise.
929 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
930 design.
931 (acc_set_cuda_stream): Likewise.
932 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
933 (host_openacc_register_async_cleanup): Remove.
934 (host_openacc_async_exec): New function.
935 (host_openacc_async_test): Adjust parameters.
936 (host_openacc_async_test_all): Remove.
937 (host_openacc_async_wait): Remove.
938 (host_openacc_async_wait_async): Remove.
939 (host_openacc_async_wait_all): Remove.
940 (host_openacc_async_wait_all_async): Remove.
941 (host_openacc_async_set_async): Remove.
942 (host_openacc_async_synchronize): New function.
943 (host_openacc_async_serialize): New function.
944 (host_openacc_async_host2dev): New function.
945 (host_openacc_async_dev2host): New function.
946 (host_openacc_async_queue_callback): New function.
947 (host_openacc_async_construct): New function.
948 (host_openacc_async_destruct): New function.
949 (struct gomp_device_descr host_dispatch): Remove initialization of old
950 interface, add intialization of new async sub-struct.
951 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
952 (goacc_attach_host_thread_to_device): Remove old async code usage.
953 * oacc-int.h (goacc_init_asyncqueues): New declaration.
954 (goacc_fini_asyncqueues): Likewise.
955 (goacc_async_copyout_unmap_vars): Likewise.
956 (goacc_async_free): Likewise.
957 (get_goacc_asyncqueue): Likewise.
958 (lookup_goacc_asyncqueue): Likewise.
959 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
960 design.
961 (present_create_copy): Adjust code to use new async design.
962 (delete_copyout): Likewise.
963 (update_dev_host): Likewise.
964 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
965 async design.
966 (gomp_acc_remove_pointer): Adjust code to use new async design.
967 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
968 design.
969 (GOACC_enter_exit_data): Likewise.
970 (goacc_wait): Likewise.
971 (GOACC_update): Likewise.
972 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
973 when called, warn as obsolete in comment.
974 * target.c (goacc_device_copy_async): New function.
975 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
976 add goacc_device_copy_async case.
977 (gomp_copy_dev2host): Likewise.
978 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
979 (gomp_map_pointer): Likewise.
980 (gomp_map_fields_existing): Likewise.
981 (gomp_map_vars_internal): New always_inline function, renamed from
982 gomp_map_vars.
983 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
984 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
985 passing goacc_asyncqueue argument.
986 (gomp_unmap_tgt): Remove static, add attribute_hidden.
987 (gomp_unref_tgt): New function.
988 (gomp_unmap_vars_internal): New always_inline function, renamed from
989 gomp_unmap_vars.
990 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
991 (gomp_unmap_vars_async): Implement by calling
992 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
993 (gomp_fini_device): New function.
994 (gomp_exit_data): Adjust gomp_copy_dev2host call.
995 (gomp_load_plugin_for_device): Remove old interface, adjust to load
996 new async interface.
997 (gomp_target_fini): Adjust code to call gomp_fini_device.
998
999 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1000 (struct ptx_stream): Remove.
1001 (struct nvptx_thread): Remove current_stream field.
1002 (cuda_map_create): Remove.
1003 (cuda_map_destroy): Remove.
1004 (map_init): Remove.
1005 (map_fini): Remove.
1006 (map_pop): Remove.
1007 (map_push): Remove.
1008 (struct goacc_asyncqueue): Define.
1009 (struct nvptx_callback): Define.
1010 (struct ptx_free_block): Define.
1011 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1012 stream_lock, and next fields.
1013 (enum ptx_event_type): Remove.
1014 (struct ptx_event): Remove.
1015 (ptx_event_lock): Remove.
1016 (ptx_events): Remove.
1017 (init_streams_for_device): Remove.
1018 (fini_streams_for_device): Remove.
1019 (select_stream_for_async): Remove.
1020 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1021 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1022 case.
1023 (nvptx_open_device): Add free_blocks initialization, remove
1024 init_streams_for_device call.
1025 (nvptx_close_device): Remove fini_streams_for_device call, add
1026 free_blocks destruct code.
1027 (event_gc): Remove.
1028 (event_add): Remove.
1029 (nvptx_exec): Adjust parameters and code.
1030 (nvptx_free): Likewise.
1031 (nvptx_host2dev): Remove.
1032 (nvptx_dev2host): Remove.
1033 (nvptx_set_async): Remove.
1034 (nvptx_async_test): Remove.
1035 (nvptx_async_test_all): Remove.
1036 (nvptx_wait): Remove.
1037 (nvptx_wait_async): Remove.
1038 (nvptx_wait_all): Remove.
1039 (nvptx_wait_all_async): Remove.
1040 (nvptx_get_cuda_stream): Remove.
1041 (nvptx_set_cuda_stream): Remove.
1042 (GOMP_OFFLOAD_alloc): Adjust code.
1043 (GOMP_OFFLOAD_free): Likewise.
1044 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1045 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1046 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1047 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1048 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1049 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1050 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1051 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1052 (cuda_free_argmem): New function.
1053 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1054 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1055 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1056 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1057 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1058 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1059 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1060 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1061 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1062 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1063 (cuda_callback_wrapper): New function.
1064 (cuda_memcpy_sanity_check): New function.
1065 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1066 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1067 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1068 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1069
da2d30c1
TS
10702019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1071
1072 PR target/87835
1073 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1074
2bbbfa4e
TS
10752019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1076
1077 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1078
bbf1efe1
KB
10792019-03-27 Kevin Buettner <kevinb@redhat.com>
1080
1081 * team.c (gomp_team_start): Initialize pool->threads[0].
1082
1241136c
TS
10832019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1084
b03d721a
TS
1085 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1086 "-foffload=$offload_target".
1087 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1088 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1089 * testsuite/lib/libgomp.exp
1090 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1091 as (conceptually) merged into
1092 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1093 users.
1094
0a0384b4
TS
1095 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1096 * testsuite/libgomp-test-support.exp.in: Adjust.
1097 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1098 openacc_device_types_s.
1099 (offload_target_to_openacc_device_type): New proc.
1100 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1101 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1102 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1103 * Makefile.in: Regenerate.
1104 * configure: Likewise.
1105 * testsuite/Makefile.in: Likewise.
1106
ee332b4a
TS
1107 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1108 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1109 instead of OFFLOAD_TARGETS.
1110 * target.c (gomp_target_init): Adjust.
1111 * testsuite/libgomp-test-support.exp.in: Likewise.
1112 * testsuite/lib/libgomp.exp: Likewise. Populate
1113 openacc_device_types_s instead of offload_targets_s_openacc.
1114 (check_effective_target_openacc_nvidia_accel_selected)
1115 (check_effective_target_openacc_host_selected): Adjust.
1116 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1117 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1118 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1119 * Makefile.in: Regenerate.
1120 * config.h.in: Likewise.
1121 * configure: Likewise.
1122 * testsuite/Makefile.in: Likewise.
1123
1241136c
TS
1124 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1125 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1126 "offloading: supported, but hardware not accessible".
1127 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1128 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1129
19695f4d
CLT
11302019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1131
1132 PR c/87924
1133 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1134 goacc_wait().
1135 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1136 and related adjustment.
1137
8b44f8ec
JJ
11382019-01-30 Jakub Jelinek <jakub@redhat.com>
1139
1140 PR c++/88988
1141 * testsuite/libgomp.c++/pr88988.C: New test.
1142
be3a87e7
JJ
11432019-01-28 Jakub Jelinek <jakub@redhat.com>
1144
1145 PR middle-end/89002
1146 * testsuite/libgomp.c/pr89002.c: New test.
1147
497ef4d7
RB
11482019-01-28 Richard Biener <rguenther@suse.de>
1149
1150 PR testsuite/89064
1151 PR tree-optimization/86865
1152 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1153
738c56d4
TV
11542019-01-24 Tom de Vries <tdevries@suse.de>
1155
1156 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1157 once instantiated_devices drops to 0.
1158
4a75460b
TV
11592019-01-23 Tom de Vries <tdevries@suse.de>
1160
1161 PR target/PR88946
1162 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1163 cuMemFree.
1164 (nvptx_exec): Don't call map_push if mapnum == 0.
1165 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1166
4fef8e4d
TV
11672019-01-23 Tom de Vries <tdevries@suse.de>
1168
1169 PR target/88941
1170 PR target/88939
1171 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1172 (map_fini): Remove "assert (!s->map->active)".
1173 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1174
2ee6cb22
TV
11752019-01-23 Tom de Vries <tdevries@suse.de>
1176
1177 PR target/87835
1178 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1179 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1180
d41d952c
TV
11812019-01-15 Tom de Vries <tdevries@suse.de>
1182
1183 PR target/80547
1184 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1185 New test.
1186
efb56ae8
TV
11872019-01-12 Tom de Vries <tdevries@suse.de>
1188
1189 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1190 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1191 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1192 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1193
2c2ff168
TV
11942019-01-12 Tom de Vries <tdevries@suse.de>
1195
1196 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1197
a1057758
TV
11982019-01-12 Tom de Vries <tdevries@suse.de>
1199
1200 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1201 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1202 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1203
56314b77
TV
12042019-01-12 Tom de Vries <tdevries@suse.de>
1205
1206 PR target/85486
1207 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1208 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1209
b39e4366
TV
12102019-01-12 Tom de Vries <tdevries@suse.de>
1211
1212 PR target/85381
1213 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1214 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1215
2cb7a501
TV
12162019-01-12 Tom de Vries <tdevries@suse.de>
1217
1218 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1219 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1220 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1221
8e77f71e
TV
12222019-01-12 Tom de Vries <tdevries@suse.de>
1223
1224 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1225 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1226 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1227
52d22ece
TV
12282019-01-12 Tom de Vries <tdevries@suse.de>
1229
1230 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1231 resources diagnostic.
1232
2b9d9e39
TV
12332019-01-12 Tom de Vries <tdevries@suse.de>
1234
1235 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1236 vector length to be 128.
1237 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1238 length 2097152 to be reduced to 1024 instead of 32.
1239
4102bda6
TS
12402019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1241 James Norris <jnorris@codesourcery.com>
1242
1243 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1244 Library Routines", and "Environment Variables".
1245
052aaace
TV
12462019-01-11 Tom de Vries <tdevries@suse.de>
1247
1248 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1249 num_workers 16.
1250
9390f916
TV
12512019-01-11 Tom de Vries <tdevries@suse.de>
1252
1253 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1254 -foffload=-w.
1255 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1256 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1257 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1258 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1259
2c3e7ad2
TV
12602019-01-11 Tom de Vries <tdevries@suse.de>
1261
1262 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1263 test.
1264
e222497d
NS
12652019-01-10 Nathan Sidwell <nathan@acm.org>
1266 Julian Brown <julian@codesourcery.com>
1267
1268 PR lto/71959
1269 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1270 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1271
cb87fec3
SH
12722019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1273
1274 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1275 and paste code.
1276
30b4d0d0
SH
12772019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1278
1279 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1280 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1281 write.
1282
5d0bc70a
TV
12832019-01-09 Tom de Vries <tdevries@suse.de>
1284
1285 PR target/88756
1286 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1287 #define instead of "const int".
1288 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1289 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1290 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1291 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1292
2c372e81
TV
12932019-01-09 Tom de Vries <tdevries@suse.de>
1294
1295 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1296 one worker.
1297
43493c97
TV
12982019-01-07 Tom de Vries <tdevries@suse.de>
1299
1300 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1301 GOMP_OPENACC_DIM argument.
1302
5c571497
TV
13032019-01-03 Tom de Vries <tdevries@suse.de>
1304
1305 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1306 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1307
a5544970
JJ
13082019-01-01 Jakub Jelinek <jakub@redhat.com>
1309
1310 Update copyright years.
1311
3f27508c
JJ
13122019-01-01 Jakub Jelinek <jakub@redhat.com>
1313
1314 * libgomp.texi: Bump @copying's copyright year.
1315
59d5960c
TS
13162018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1317
1318 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1319 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1320 (GOACC_declare): Redefine the "device" argument to "flags".
1321
a44c1790
TS
13222018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1323 Cesar Philippidis <cesar@codesourcery.com>
1324
1325 * target.c (struct gomp_coalesce_chunk): New structure.
1326 (struct gomp_coalesce_buf): Update the chunks member to use that
1327 type. Adjust all users.
1328
a152954e
TV
13292018-12-19 Tom de Vries <tdevries@suse.de>
1330
1331 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1332 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1333 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1334
49188cd1
TV
13352018-12-19 Tom de Vries <tdevries@suse.de>
1336
1337 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1338 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1339 gcc/testsuite/gcc.dg/goacc.
1340 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1341
c759830b
TS
13422018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1343 Chung-Lin Tang <cltang@codesourcery.com>
1344
1345 * oacc-mem.c (acc_present_or_create): Remove definition and change
1346 to alias of acc_create.
1347 (acc_present_or_copyin): Remove definition and change to alias of
1348 acc_copyin.
1349 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1350 of acc_present_or_create.
1351 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1352 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1353 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1354 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1355 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1356 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1357 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1358 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1359 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1360 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1361 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1362 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1363 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1364 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1365 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1366 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1367
7de562ee
TS
13682018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1369
f847198e
TS
1370 PR libgomp/88495
1371 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1372 "identical parameters".
1373 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1374 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1375
c8ab8aab
TS
1376 PR libgomp/88484
1377 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1378 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1379
1404af62
TS
1380 PR libgomp/88407
1381 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1382 (nvptx_wait_async): Unseen async-argument is a no-op.
1383 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1384 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1385 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1386 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1387 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1388 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1389 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
1390 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1391 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
1392
7de562ee
TS
1393 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1394 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1395
17469af7
CLT
13962018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
1397
1398 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1399 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1400 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1401
18c247cc
TS
14022018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1403
1404 PR libgomp/88370
1405 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1406 (acc_set_cuda_stream): Clarify.
1407 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1408 "async_valid_p".
1409 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1410 acc_async_sync".
1411 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1412 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1413 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1414 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1415
b0aba46c
TV
14162018-12-14 Tom de Vries <tdevries@suse.de>
1417
1418 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1419 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1420 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1421 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1422 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1423
fe0827ee
TV
14242018-12-13 Tom de Vries <tdevries@suse.de>
1425
1426 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1427 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1428 * fortran.c (omp_display_affinity_): ... here.
1429 * libgomp.h (gomp_print_string): Declare.
1430 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
1431 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1432 write.
1433
a51f8c92
JJ
14342018-12-13 Jakub Jelinek <jakub@redhat.com>
1435
1436 PR libgomp/88460
1437 * testsuite/libgomp.c++/for-24.C (results): Include it in
1438 omp declare target region.
1439 (main): Use map (always, tofrom: results) instead of
1440 map (tofrom: results).
1441
a6ef2ac9
JJ
14422018-12-12 Jakub Jelinek <jakub@redhat.com>
1443
7a289b7d
JJ
1444 PR fortran/88463
1445 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1446 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1447
a6ef2ac9
JJ
1448 * testsuite/libgomp.c-c++-common/for-16.c: New test.
1449
9c47a019
AS
14502018-12-12 Andreas Schwab <schwab@suse.de>
1451
1452 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1453 clobbered.
1454
d0cbb206
TK
14552018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1456
1457 PR fortran/88411
1458 * testsuite/libgomp.fortran/async_io_8.f90: New test.
1459
84ca08d2
TS
14602018-12-09 Thomas Schwinge <thomas@codesourcery.com>
1461 Jakub Jelinek <jakub@redhat.com>
1462
1463 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1464 devicep->host2dev_func.
1465
6997628d
JJ
14662018-12-08 Jakub Jelinek <jakub@redhat.com>
1467
1468 PR libgomp/87995
1469 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1470 tls_runtime effective target.
1471 (t): New threadprivate variable.
1472 (main): Set t in threads which execute iterations of the worksharing
1473 loop. Propagate that to the task after the loop and don't abort
1474 if the current taskgroup hasn't been cancelled.
1475
daa8c1d7
JJ
14762018-12-02 Jakub Jelinek <jakub@redhat.com>
1477
4a82df9a
JJ
1478 * testsuite/libgomp.c/task-reduction-3.c: New test.
1479
daa8c1d7
JJ
1480 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1481
fe570ff8
CP
14822018-11-30 Cesar Philippidis <cesar@codesourcery.com>
1483
1484 PR libgomp/88288
1485 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1486 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1487
c223608f
TS
14882018-11-30 Thomas Schwinge <thomas@codesourcery.com>
1489
1490 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1491
fc60283c
RB
14922018-10-19 Richard Biener <rguenther@suse.de>
1493
1494 PR tree-optimization/88182
1495 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1496
ffcf3b79
JJ
14972018-11-26 Jakub Jelinek <jakub@redhat.com>
1498
1499 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1500 (RUNTEST): Don't define.
1501 (RUNTESTDEFAULTFLAGS): Add.
1502 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1503 (distclean-am): Depend on distclean-DEJAGNU.
1504 (check-am): If -j% option is present in MFLAGS and if
1505 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1506 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1507 * testsuite/Makefile.in: Regenerated.
1508
ef6e6914
RB
15092018-11-26 Richard Biener <rguenther@suse.de>
1510
1511 PR tree-optimization/88182
1512 * testsuite/libgomp.c++/pr88182.C: New testcase.
1513
72d3bb76
JJ
15142018-11-20 Jakub Jelinek <jakub@redhat.com>
1515
1516 PR bootstrap/88106
1517 * config/mingw32/affinity-fmt.c: New file.
1518
207286c3
JJ
15192018-11-09 Jakub Jelinek <jakub@redhat.com>
1520
9666c522
JJ
1521 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1522 (gomp_display_affinity): Use __builtin_choose_expr to handle
1523 properly handle argument having integral, or pointer or some other
1524 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
1525 with uint64_t type instead of %llx and unsigned long long.
1526
207286c3
JJ
1527 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1528 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1529
2033f45b
RO
15302018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1531
1532 * affinity.c: Include <string.h>, <stdio.h>.
1533 (gomp_display_affinity_place): Remove cpusetp.
1534 * teams.c: Include <limits.h>.
1535
28567c40
JJ
15362018-11-08 Jakub Jelinek <jakub@redhat.com>
1537
8991d779
JJ
1538 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1539 in_reduction clause for s[0].
1540
28567c40
JJ
1541 * affinity.c (gomp_display_affinity_place): New function.
1542 * affinity-fmt.c: New file.
1543 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
1544 * config/linux/affinity.c (gomp_display_affinity_place): New function.
1545 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
1546 Move these functions to ...
1547 * config/nvptx/teams.c: ... here. New file.
1548 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
1549 New functions.
1550 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
1551 functions.
1552 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
1553 and _aligned_malloc.
1554 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
1555 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
1556 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
1557 gomp_affinity_format_len): New variables.
1558 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
1559 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
1560 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
1561 modifiers. Display (non-default) chunk sizes. Print
1562 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
1563 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
1564 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
1565 * fortran.c: Include stdio.h and string.h.
1566 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
1567 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
1568 (omp_set_affinity_format_, omp_get_affinity_format_,
1569 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
1570 omp_pause_resource_all_): New functions.
1571 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
1572 switch.
1573 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
1574 functions to ...
1575 * teams.c: ... here. New file.
1576 * libgomp_g.h: Include gstdint.h.
1577 (GOMP_loop_nonmonotonic_runtime_start,
1578 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
1579 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
1580 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
1581 GOMP_parallel_loop_nonmonotonic_runtime,
1582 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1583 GOMP_loop_ull_nonmonotonic_runtime_start,
1584 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
1585 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
1586 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1587 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
1588 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
1589 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1590 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1591 GOMP_teams_reg): Declare.
1592 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
1593 gomp_aligned_alloc uses fallback implementation.
1594 (gomp_aligned_alloc, gomp_aligned_free): Declare.
1595 (enum gomp_schedule_type): Add GFS_MONOTONIC.
1596 (struct gomp_doacross_work_share): Add extra field.
1597 (struct gomp_work_share): Add task_reductions field.
1598 (struct gomp_taskgroup): Add workshare and reductions fields.
1599 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
1600 (gomp_thread_handle): New typedef.
1601 (gomp_display_affinity_place, gomp_set_affinity_format,
1602 gomp_display_string, gomp_display_affinity,
1603 gomp_display_affinity_thread): Declare.
1604 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
1605 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
1606 gomp_workshare_task_reduction_register): Declare.
1607 (gomp_team_start): Add taskgroup argument.
1608 (gomp_pause_host): Declare.
1609 (gomp_init_work_share, gomp_work_share_start): Change bool argument
1610 to size_t.
1611 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
1612 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
1613 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
1614 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1615 GOMP_loop_ull_doacross_start,
1616 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1617 GOMP_loop_maybe_nonmonotonic_runtime_next,
1618 GOMP_loop_maybe_nonmonotonic_runtime_start,
1619 GOMP_loop_nonmonotonic_runtime_next,
1620 GOMP_loop_nonmonotonic_runtime_start,
1621 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1622 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1623 GOMP_loop_ull_nonmonotonic_runtime_next,
1624 GOMP_loop_ull_nonmonotonic_runtime_start,
1625 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1626 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
1627 GOMP_taskgroup_reduction_register,
1628 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1629 GOMP_teams_reg and GOMP_taskwait_depend.
1630 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
1631 omp_{capture,display}_affinity{,_}, and
1632 omp_[gs]et_affinity_format{,_}.
1633 * loop.c: Include string.h.
1634 (GOMP_loop_runtime_next): Add ialias.
1635 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1636 (gomp_loop_static_start, gomp_loop_dynamic_start,
1637 gomp_loop_guided_start, gomp_loop_ordered_static_start,
1638 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
1639 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1640 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
1641 or gomp_doacross_init callers.
1642 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
1643 GOMP_loop_doacross_start): New functions.
1644 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
1645 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
1646 Mask off GFS_MONOTONIC bit.
1647 (GOMP_loop_maybe_nonmonotonic_runtime_next,
1648 GOMP_loop_maybe_nonmonotonic_runtime_start,
1649 GOMP_loop_nonmonotonic_runtime_next,
1650 GOMP_loop_nonmonotonic_runtime_start,
1651 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1652 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
1653 functions.
1654 (gomp_parallel_loop_start): Pass NULL as taskgroup to
1655 gomp_team_start.
1656 * loop_ull.c: Include string.h.
1657 (GOMP_loop_ull_runtime_next): Add ialias.
1658 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1659 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
1660 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
1661 gomp_loop_ull_ordered_dynamic_start,
1662 gomp_loop_ull_ordered_guided_start,
1663 gomp_loop_ull_doacross_static_start,
1664 gomp_loop_ull_doacross_dynamic_start,
1665 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
1666 and gomp_doacross_ull_init callers.
1667 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1668 GOMP_loop_ull_doacross_start): New functions.
1669 (GOMP_loop_ull_runtime_start,
1670 GOMP_loop_ull_ordered_runtime_start,
1671 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1672 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1673 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1674 GOMP_loop_ull_nonmonotonic_runtime_next,
1675 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1676 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1677 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1678 (omp_pause_resource_t, omp_depend_t): New typedefs.
1679 (enum omp_lock_hint_t): Renamed to ...
1680 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
1681 enumerators using numbers and omp_lock_hint_* as their aliases.
1682 (omp_lock_hint_t): New typedef. Rename to ...
1683 (omp_sync_hint_t): ... this.
1684 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1685 omp_sync_hint_t instead of omp_lock_hint_t.
1686 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1687 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1688 Declare.
1689 (omp_target_is_present, omp_target_disassociate_ptr):
1690 Change first argument from void * to const void *.
1691 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1692 from void * to const void *.
1693 (omp_target_associate_ptr): Change first and second arguments from
1694 void * to const void *.
1695 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1696 omp_pause_hard): New parameters.
1697 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1698 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1699 New interfaces.
1700 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1701 omp_pause_hard): New parameters.
1702 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1703 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1704 New externals.
1705 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1706 EXTRA argument. If not needed to prepare array, if extra is 0,
1707 clear ws->doacross, otherwise allocate just doacross structure and
1708 extra payload. If array is needed, allocate also extra payload.
1709 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1710 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1711 doacross == NULL.
1712 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1713 gomp_team_start.
1714 (GOMP_parallel): Likewise. Formatting fix.
1715 (GOMP_parallel_reductions): New function.
1716 (GOMP_cancellation_point): If taskgroup has workshare
1717 flag set, check cancelled of prev taskgroup if any.
1718 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1719 on prev taskgroup if any.
1720 * sections.c: Include string.h.
1721 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1722 (GOMP_sections_start): Adjust gomp_work_share_start caller.
1723 (GOMP_sections2_start): New function.
1724 (GOMP_parallel_sections_start, GOMP_parallel_sections):
1725 Pass NULL as taskgroup to gomp_team_start.
1726 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1727 gomp_work_share_start callers.
1728 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1729 If taskgroup has workshare flag set, check cancelled on prev
1730 taskgroup if any. Guard all cancellation tests with
1731 gomp_cancel_var test.
1732 (omp_target_is_present, omp_target_disassociate_ptr):
1733 Change ptr argument from void * to const void *.
1734 (omp_target_memcpy): Change src argument from void * to const void *.
1735 (omp_target_memcpy_rect): Likewise.
1736 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
1737 instead of char * where needed.
1738 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1739 from void * to const void *.
1740 (omp_pause_resource, omp_pause_resource_all): New functions.
1741 * task.c (gomp_task_handle_depend): Handle new depend array format
1742 in addition to the old. Handle mutexinoutset kinds the same as
1743 inout for now, handle unspecified kinds.
1744 (gomp_create_target_task): If taskgroup has workshare flag set, check
1745 cancelled on prev taskgroup if any. Guard all cancellation tests with
1746 gomp_cancel_var test. Handle new depend array format count in
1747 addition to the old.
1748 (GOMP_task): Likewise. Adjust function comment.
1749 (gomp_task_run_pre): If taskgroup has workshare flag set, check
1750 cancelled on prev taskgroup if any. Guard all cancellation tests with
1751 gomp_cancel_var test.
1752 (GOMP_taskwait_depend): New function.
1753 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1754 format in addition to the old. Handle mutexinoutset kinds the same as
1755 inout for now, handle unspecified kinds. Fix a function comment typo.
1756 (gomp_taskgroup_init): New function.
1757 (GOMP_taskgroup_start): Use it.
1758 (gomp_reduction_register, gomp_create_artificial_team,
1759 GOMP_taskgroup_reduction_register,
1760 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1761 gomp_parallel_reduction_register,
1762 gomp_workshare_task_reduction_register,
1763 gomp_workshare_taskgroup_start,
1764 GOMP_workshare_task_reduction_unregister): New functions.
1765 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1766 check cancelled on prev taskgroup if any. Guard all cancellation
1767 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1768 by calling GOMP_taskgroup_reduction_register.
1769 * team.c (gomp_thread_attr): Remove comment.
1770 (struct gomp_thread_start_data): Add handle field.
1771 (gomp_thread_start): Call pthread_detach.
1772 (gomp_new_team): Adjust gomp_init_work_share caller.
1773 (gomp_free_pool_helper): Call pthread_detach.
1774 (gomp_team_start): Add taskgroup argument, initialize implicit
1775 tasks' taskgroup field to that. Don't call
1776 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1777 (gomp_team_end): Determine nesting by thr->ts.level != 0
1778 rather than thr->ts.team != NULL.
1779 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1780 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1781 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1782 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1783 if more than 1 allocate also extra payload at the end of array. Never
1784 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1785 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1786 return true instead of ws.
1787 * Makefile.in: Regenerated.
1788 * configure: Regenerated.
1789 * config.h.in: Regenerated.
1790 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1791 in some cases.
1792 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1793 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1794 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1795 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1796 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1797 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1798 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1799 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1800 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1801 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1802 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1803 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1804 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1805 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1806 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1807 define a different N(test), don't define N(f0) to N(f14), but instead
1808 define N(f20) to N(f34) using != comparisons.
1809 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1810 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1811 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1812 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1813 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1814 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1815 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1816 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1817 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1818 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1819 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1820 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1821 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1822 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1823 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1824 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1825 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1826 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1827 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1828 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1829 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1830 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1831 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1832 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1833 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1834 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1835 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1836 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1837 * testsuite/libgomp.c++/depend-1.C: New test.
1838 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1839 * testsuite/libgomp.c++/depobj-1.C: New test.
1840 * testsuite/libgomp.c++/for-16.C: New test.
1841 * testsuite/libgomp.c++/for-21.C: New test.
1842 * testsuite/libgomp.c++/for-22.C: New test.
1843 * testsuite/libgomp.c++/for-23.C: New test.
1844 * testsuite/libgomp.c++/for-24.C: New test.
1845 * testsuite/libgomp.c++/for-25.C: New test.
1846 * testsuite/libgomp.c++/for-26.C: New test.
1847 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1848 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1849 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1850 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1851 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1852 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1853 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1854 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1855 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1856 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1857 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1858 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1859 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1860 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1861 * testsuite/libgomp.c/task-reduction-1.c: New test.
1862 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1863 * testsuite/libgomp.c/task-reduction-2.c: New test.
1864 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1865 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1866 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1867 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1868 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1869 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1870 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1871 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1872 * testsuite/libgomp.c/teams-1.c: New test.
1873 * testsuite/libgomp.c/teams-2.c: New test.
1874 * testsuite/libgomp.c/thread-limit-4.c: New test.
1875 * testsuite/libgomp.c/thread-limit-5.c: New test.
1876 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1877
58168bbf
CLT
18782018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1879
1880 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1881 acc_memcpy_to/from_device functions, now with async parameter.
1882 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1883 (acc_memcpy_from_device): Likewise.
1884 (acc_memcpy_to_device_async): New API function.
1885 (acc_memcpy_from_device_async): Likewise.
1886 (present_create_copy): Add async parameter and async setting/unsetting.
1887 (acc_create): Adjust present_create_copy call.
1888 (acc_copyin): Likewise.
1889 (acc_present_or_create): Likewise.
1890 (acc_present_or_copyin): Likewise.
1891 (acc_create_async): New API function.
1892 (acc_copyin_async): New API function.
1893 (delete_copyout): Add async parameter and async setting/unsetting.
1894 (acc_delete): Adjust delete_copyout call.
1895 (acc_copyout): Likewise.
1896 (acc_delete_async): New API function.
1897 (acc_copyout_async): Likewise.
1898 (update_dev_host): Add async parameter and async setting/unsetting.
1899 (acc_update_device): Adjust update_dev_host call.
1900 (acc_update_self): Likewise.
1901 (acc_update_device_async): New API function.
1902 (acc_update_self_async): Likewise.
1903 * openacc.h (acc_copyin_async): Declare new API function.
1904 (acc_create_async): Likewise.
1905 (acc_copyout_async): Likewise.
1906 (acc_delete_async): Likewise.
1907 (acc_update_device_async): Likewise.
1908 (acc_update_self_async): Likewise.
1909 (acc_memcpy_to_device_async): Likewise.
1910 (acc_memcpy_from_device_async): Likewise.
1911 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1912 (acc_copyin_async_64_h): New subroutine.
1913 (acc_copyin_async_array_h): New subroutine.
1914 (acc_create_async_32_h): New subroutine.
1915 (acc_create_async_64_h): New subroutine.
1916 (acc_create_async_array_h): New subroutine.
1917 (acc_copyout_async_32_h): New subroutine.
1918 (acc_copyout_async_64_h): New subroutine.
1919 (acc_copyout_async_array_h): New subroutine.
1920 (acc_delete_async_32_h): New subroutine.
1921 (acc_delete_async_64_h): New subroutine.
1922 (acc_delete_async_array_h): New subroutine.
1923 (acc_update_device_async_32_h): New subroutine.
1924 (acc_update_device_async_64_h): New subroutine.
1925 (acc_update_device_async_array_h): New subroutine.
1926 (acc_update_self_async_32_h): New subroutine.
1927 (acc_update_self_async_64_h): New subroutine.
1928 (acc_update_self_async_array_h): New subroutine.
1929 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
1930 (acc_copyin_async_64_h): New subroutine.
1931 (acc_copyin_async_array_h): New subroutine.
1932 (acc_create_async_32_h): New subroutine.
1933 (acc_create_async_64_h): New subroutine.
1934 (acc_create_async_array_h): New subroutine.
1935 (acc_copyout_async_32_h): New subroutine.
1936 (acc_copyout_async_64_h): New subroutine.
1937 (acc_copyout_async_array_h): New subroutine.
1938 (acc_delete_async_32_h): New subroutine.
1939 (acc_delete_async_64_h): New subroutine.
1940 (acc_delete_async_array_h): New subroutine.
1941 (acc_update_device_async_32_h): New subroutine.
1942 (acc_update_device_async_64_h): New subroutine.
1943 (acc_update_device_async_array_h): New subroutine.
1944 (acc_update_self_async_32_h): New subroutine.
1945 (acc_update_self_async_64_h): New subroutine.
1946 (acc_update_self_async_array_h): New subroutine.
1947 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
1948 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
1949 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
1950 acc_memcpy_to_device_async*, acc_update_device_async*, and
1951 acc_update_self_async* entries.
1952 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
1953 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
1954 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
1955
22e05272
JM
19562018-10-31 Joseph Myers <joseph@codesourcery.com>
1957
1958 PR bootstrap/82856
1959 * Makefile.am: Include multilib.am
1960 (AUTOMAKE_OPTIONS): Add info-in-builddir.
1961 (CLEANFILES): Remove libgomp.info.
1962 * configure.ac: Remove AC_PREREQ.
1963 * testsuite/Makefile.am (RUNTEST): Remove quotes.
1964 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
1965 Regenerate.
1966
87a5ccfb
JM
19672018-10-29 Joseph Myers <joseph@codesourcery.com>
1968 Julian Brown <julian@codesourcery.com>
1969
1970 * testsuite/libgomp.oacc-c++/this.C: New.
1971
2049befd
CP
19722018-09-18 Cesar Philippidis <cesar@codesourcery.com>
1973
1974 * plugin/plugin-nvptx.c (struct cuda_map): New.
1975 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
1976 h_tail with (cuda_map *) map.
1977 (cuda_map_create): New function.
1978 (cuda_map_destroy): New function.
1979 (map_init): Update to use a linked list of cuda_map objects.
1980 (map_fini): Likewise.
1981 (map_pop): Likewise.
1982 (map_push): Likewise. Return CUdeviceptr instead of void.
1983 (init_streams_for_device): Remove stales references to ptx_stream
1984 members.
1985 (select_stream_for_async): Likewise.
1986 (nvptx_exec): Update call to map_init.
1987
8e36332c
CP
19882018-09-09 Cesar Philippidis <cesar@codesourcery.com>
1989 Julian Brown <julian@codesourcery.com>
1990
1991 PR middle-end/86336
1992 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
1993
2b4c9065
NK
19942018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
1995 Thomas Koenig <tkoenig@gcc.gnu.org>
1996
1997 PR fortran/25829
1998 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1999 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2000 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2001 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2002 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2003 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2004 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2005
bd9b3d3d
CP
20062018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2007 Tom de Vries <tdevries@suse.de>
2008
2009 PR target/85590
2010 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2011 (cuOccupancyMaxPotentialBlockSize): Declare.
2012 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2013 CUDA_ONE_CALL_MAYBE_NULL.
2014 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2015 CUoccupancyB2DSize and declare
2016 cuOccupancyMaxPotentialBlockSize.
2017 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2018 default num_gangs and num_workers when the driver supports it.
2019
8e09a12f
TV
20202018-08-08 Tom de Vries <tdevries@suse.de>
2021
2022 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2023 CUDA_ONE_CALL_MAYBE_NULL.
2024 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2025 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2026 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2027 are not found.
2028
cedd9bd0
TV
20292018-08-08 Tom de Vries <tdevries@suse.de>
2030
2031 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2032 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2033 present.
2034
b113af95
TV
20352018-08-08 Tom de Vries <tdevries@suse.de>
2036
2037 * plugin/plugin-nvptx.c
2038 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2039 (nvptx_open_device): Use
2040 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2041
94767dac
TV
20422018-08-08 Tom de Vries <tdevries@suse.de>
2043
2044 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2045 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2046
02150de8
TV
20472018-08-07 Tom de Vries <tdevries@suse.de>
2048
2049 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2050 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2051 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2052 corresponding call in CUDA_ONE_CALL. Add def/undef of
2053 CUDA_ONE_CALL_MAYBE_NULL.
2054 (CUDA_CALL_EXISTS): Define.
2055
9e28b107
TV
20562018-08-07 Tom de Vries <tdevries@suse.de>
2057
2058 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2059 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2060 corresponding undefs right after.
2061
09940090
TV
20622018-08-04 Tom de Vries <tdevries@suse.de>
2063
2064 * plugin/configfrag.ac: For --without-cuda-driver, set
2065 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2066 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2067 * configure: Regenerate.
2068
77e0a97a
TV
20692018-08-02 Tom de Vries <tdevries@suse.de>
2070
2071 PR target/86660
2072 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2073 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2074 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2075 Same.
2076 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2077 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2078 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2079
701d080a
CP
20802018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2081 Thomas Schwinge <thomas@codesourcery.com>
2082
2083 * config/nvptx/oacc-parallel.c: Truncate.
2084
094db6be
CP
20852018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2086 James Norris <jnorris@codesourcery.com>
2087
2088 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
2089 (map_init, map_pop): Remove use of struct map.
2090 (map_push): Likewise and change argument list.
094db6be
CP
2091 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2092
8c6310a2
TV
20932018-08-01 Tom de Vries <tdevries@suse.de>
2094
2095 * plugin/cuda-lib.def: New file. Factor out of ...
2096 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2097 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2098 using CUDA_CALLS.
2099
1d4a51cf
AV
21002018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2101
2102 Revert 'AsyncI/O patch committed'.
2103 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2104 Thomas Koenig <tkoenig@gcc.gnu.org>
2105
2106 PR fortran/25829
2107 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2108 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2109 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2110 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2111 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2112 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2113 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2114
4cdfee3f
TV
21152018-07-30 Tom de Vries <tdevries@suse.de>
2116
2117 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2118 (nvptx_exec): Ensure worker and vector default dims don't exceed
2119 targ_fn->max_threads_per_block.
2120
0b210c43
TV
21212018-07-30 Tom de Vries <tdevries@suse.de>
2122
2123 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2124 (nvptx_open_device): Init default_dims for device.
2125 (nvptx_exec): Use default_dims from device.
2126
5883c5cc
JJ
21272018-07-26 Jakub Jelinek <jakub@redhat.com>
2128
5d36384c
JJ
2129 PR testsuite/86660
2130 * testsuite/libgomp.c++/for-15.C (results): Include it in
2131 omp declare target region.
2132 (main): Use map (always, tofrom: results) instead of
2133 map (tofrom: results).
2134
5883c5cc
JJ
2135 PR middle-end/86660
2136 * testsuite/libgomp.c/pr86660.c: New test.
2137
88a4654d
CP
21382018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2139 Tom de Vries <tdevries@suse.de>
2140
2141 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2142 sufficient resources to launch a kernel, and give a hint on how to fix
2143 it.
2144
0c6c2f5f
CP
21452018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2146 Tom de Vries <tdevries@suse.de>
2147
2148 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2149 max_threads_per_block and max_threads_per_multiprocessor fields.
2150 (nvptx_open_device): Initialize new fields.
2151 (nvptx_exec): Use num_sms, and new fields.
2152
6dd58010
TV
21532018-07-26 Tom de Vries <tdevries@suse.de>
2154
2155 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2156 to correct locations. Remove xfail.
2157
b2eb1779
TV
21582018-07-26 Tom de Vries <tdevries@suse.de>
2159
2160 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2161 acc_wait. Move acc_async_test calls to correct locations. Remove
2162 xfail.
2163
b1f45884
NK
21642018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2165 Thomas Koenig <tkoenig@gcc.gnu.org>
2166
2167 PR fortran/25829
2168 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2169 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2170 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2171 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2172 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2173 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2174 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2175
3a106211
JJ
21762018-07-17 Jakub Jelinek <jakub@redhat.com>
2177
a3bccfa1
JJ
2178 PR middle-end/86542
2179 * testsuite/libgomp.c++/pr86542.C: New test.
2180
3a106211
JJ
2181 PR middle-end/86539
2182 * testsuite/libgomp.c++/pr86539.C: New test.
2183
2bae8b2f
JJ
21842018-07-11 Jakub Jelinek <jakub@redhat.com>
2185
2186 PR c++/86443
2187 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2188 (results): Make sure the variable is not inside declare target region.
2189 (qux): Remove unused function.
2190
0b27c3ed
JJ
21912018-07-10 Jakub Jelinek <jakub@redhat.com>
2192
2193 PR c++/86443
2194 * testsuite/libgomp.c++/for-15.C: New test.
2195
f0391511
JJ
21962018-06-26 Jakub Jelinek <jakub@redhat.com>
2197
2198 PR c++/86291
2199 * testsuite/libgomp.c++/pr86291.C: New test.
2200
1a6d1d24
GP
22012018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2202
2203 * libgomp.texi (Top): Move www.openmp.org to https.
2204 (Enabling OpenMP): Ditto.
2205 (omp_get_active_level): Ditto.
2206 (omp_get_ancestor_thread_num): Ditto.
2207 (omp_get_cancellation): Ditto.
2208 (omp_get_default_device): Ditto.
2209 (omp_get_dynamic): Ditto.
2210 (omp_get_level): Ditto.
2211 (omp_get_max_active_levels): Ditto.
2212 (omp_get_max_task_priority): Ditto.
2213 (omp_get_max_threads): Ditto.
2214 (omp_get_nested): Ditto.
2215 (omp_get_num_devices): Ditto.
2216 (omp_get_num_procs): Ditto.
2217 (omp_get_num_teams): Ditto.
2218 (omp_get_num_threads): Ditto.
2219 (omp_get_proc_bind): Ditto.
2220 (omp_get_schedule): Ditto.
2221 (omp_get_team_num): Ditto.
2222 (omp_get_team_size): Ditto.
2223 (omp_get_thread_limit): Ditto.
2224 (omp_get_thread_num): Ditto.
2225 (omp_in_parallel): Ditto.
2226 (omp_in_final): Ditto.
2227 (omp_is_initial_device): Ditto.
2228 (omp_set_default_device): Ditto.
2229 (omp_set_dynamic): Ditto.
2230 (omp_set_max_active_levels): Ditto.
2231 (omp_set_nested): Ditto.
2232 (omp_set_num_threads): Ditto.
2233 (omp_set_schedule): Ditto.
2234 (omp_init_lock): Ditto.
2235 (omp_set_lock): Ditto.
2236 (omp_test_lock): Ditto.
2237 (omp_unset_lock): Ditto.
2238 (omp_destroy_lock): Ditto.
2239 (omp_init_nest_lock): Ditto.
2240 (omp_set_nest_lock): Ditto.
2241 (omp_test_nest_lock): Ditto.
2242 (omp_unset_nest_lock): Ditto.
2243 (omp_destroy_nest_lock): Ditto.
2244 (omp_get_wtick): Ditto.
2245 (omp_get_wtime): Ditto.
2246 (OMP_CANCELLATION): Ditto.
2247 (OMP_DISPLAY_ENV): Ditto.
2248 (OMP_DEFAULT_DEVICE): Ditto.
2249 (OMP_DYNAMIC): Ditto.
2250 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2251 (OMP_MAX_TASK_PRIORITY): Ditto.
2252 (OMP_NESTED): Ditto.
2253 (OMP_NUM_THREADS): Ditto.
2254 (OMP_PROC_BIND): Ditto.
2255 (OMP_PLACES): Ditto.
2256 (OMP_STACKSIZE): Ditto.
2257 (OMP_SCHEDULE): Ditto.
2258 (OMP_THREAD_LIMIT): Ditto.
2259 (OMP_WAIT_POLICY): Ditto.
2260
31dd69b7
CP
22612018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2262 James Norris <jnorris@codesourcery.com>
2263 Julian Brown <julian@codesourcery.com>
2264 Thomas Schwinge <thomas@codesourcery.com>
2265 Tom de Vries <tom@codesourcery.com>
2266
2267 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2268 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2269 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2270 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2271 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2272 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2273 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2274 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2275 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2276 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2277 Likewise.
2278 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2279 Likewise.
2280 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2281 Likewise.
2282 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2283 Likewise.
2284 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2285 Likewise.
2286 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2287 Likewise.
2288 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2289 Likewise.
2290 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2291 Likewise.
2292 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2293 Likewise.
2294 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2295 Likewise.
2296 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2297 Likewise.
2298 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2299 Likewise.
2300 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2301 Likewise.
2302 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2303 Likewise.
2304 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2305 Likewise.
2306 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2307 Likewise.
2308 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2309 Likewise.
2310 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2311 Likewise.
2312 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2313 Likewise.
2314 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2315 Likewise.
2316 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2317 Likewise.
2318 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2319 Likewise.
2320 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2321 Likewise.
2322 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2323 Likewise.
2324 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2325 Likewise.
2326 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2327 Likewise.
2328 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2329 Likewise.
2330 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2331 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2332 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2333 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2334 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2335 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2336 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2337 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2338 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2339 Likewise.
2340 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2341 Likewise.
2342 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2343 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2344 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2345 Likewise.
2346 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2347 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2348 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2349 Likewise.
2350 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2351 Likewise.
2352 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2353 Likewise.
2354 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2355 Likewise.
2356 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2357 Likewise.
2358 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2359 Likewise.
2360 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2361 Likewise.
2362 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2363 Likewise.
2364 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2365 Likewise.
2366 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2367 Likewise.
2368 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2369 Likewise.
2370 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2371 Likewise.
2372 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2373 Likewise.
2374 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2375 Likewise.
2376 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2377 Likewise.
2378 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2379 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2380 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2381 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2382 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2383 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2384 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2385
829c6349
CLT
23862018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2387 Thomas Schwinge <thomas@codesourcery.com>
2388 Cesar Philippidis <cesar@codesourcery.com>
2389
2390 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2391 (gomp_acc_remove_pointer): Update declaration.
2392 (gomp_acc_declare_allocate): Declare.
2393 (gomp_remove_var): Declare.
2394 * libgomp.map (OACC_2.5): Define.
2395 * oacc-mem.c (acc_map_data): Update refcount.
2396 (acc_unmap_data): Likewise.
2397 (present_create_copy): Likewise.
2398 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2399 (acc_copyin): Likewise.
2400 (FLAG_FINALIZE): Define.
2401 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2402 (acc_delete_finalize): New function.
2403 (acc_delete_finalize_async): New function.
2404 (acc_copyout_finalize): New function.
2405 (acc_copyout_finalize_async): New function.
2406 (gomp_acc_insert_pointer): Update refcounts.
2407 (gomp_acc_remove_pointer): Return if data is not present on the
2408 accelerator.
2409 * oacc-parallel.c (find_pset): Rename to find_pointer.
2410 (find_pointer): Add support for GOMP_MAP_POINTER.
2411 (handle_ftn_pointers): New function.
2412 (GOACC_parallel_keyed): Update refcounts of variables.
2413 (GOACC_enter_exit_data): Add support for finalized data mappings.
2414 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2415 of fortran arrays.
2416 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2417 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2418 for GOMP_MAP_FORCE_FROM.
2419 * openacc.f90 (module openacc_internal): Add
2420 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2421 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2422 acc_copyout_finalize and acc_delete_finalize.
2423 (acc_copyout_finalize_32_h): New subroutine.
2424 (acc_copyout_finalize_64_h): New subroutine.
2425 (acc_copyout_finalize_array_h): New subroutine.
2426 (acc_delete_finalize_32_h): New subroutine.
2427 (acc_delete_finalize_64_h): New subroutine.
2428 (acc_delete_finalize_array_h): New subroutine.
2429 * openacc.h (acc_copyout_finalize): Declare.
2430 (acc_copyout_finalize_async): Declare.
2431 (acc_delete_finalize): Declare.
2432 (acc_delete_finalize_async): Declare.
2433 * openacc_lib.h (acc_copyout_finalize): New interface.
2434 (acc_delete_finalize): New interface.
2435 * target.c (gomp_map_vars): Update dynamic_refcount.
2436 (gomp_remove_var): New function.
2437 (gomp_unmap_vars): Use it.
2438 (gomp_unload_image_from_device): Likewise.
2439 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2440 case to utilize OpenACC 2.5 data clause semantics.
2441 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2442 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2444 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2445 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2446 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2447 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2448 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2449 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2450 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2451 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2452 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2453 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2454 utilize OpenACC 2.5 data clause semantics.
2455 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2456 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2457 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2458 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2459 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2460 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2461 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2462 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2463 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2464
4358400b
JW
24652018-05-21 Janus Weil <janus@gcc.gnu.org>
2466
2467 PR fortran/85841
2468 PR testsuite/85865
2469 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2470 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2471 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2472 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2473 * testsuite/libgomp.fortran/task2.f90: Ditto.
2474 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2475 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2476 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2477 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2478 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2479 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2480 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2481 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2482 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2483
950ad0ba
CP
24842018-05-18 Cesar Philippidis <cesar@codesourcery.com>
2485
2486 PR c++/85782
2487 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2488
f5ad16f1
TV
24892018-05-09 Tom de Vries <tom@codesourcery.com>
2490
2491 PR libgomp/82901
2492 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2493 to GOACC_enter_exit_data.
2494
edbd038a
TV
24952018-05-09 Tom de Vries <tom@codesourcery.com>
2496
2497 PR libgomp/83792
2498 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2499 (async_synchronous_p): New function.
2500 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2501 async_valid_p.
2502 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2503 async_valid_stream_id_p.
2504 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2505 * oacc-parallel.c (GOACC_parallel_keyed): Same.
2506
37d6c719
TV
25072018-05-07 Tom de Vries <tom@codesourcery.com>
2508
2509 PR testsuite/85677
2510 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2511 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2512
63f12215
TV
25132018-05-03 Tom de Vries <tom@codesourcery.com>
2514
2515 PR testsuite/85106
2516 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2517 extra_tool_flags if it contains an -foffload=-fdump-* flag.
2518 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2519 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2520
ec00d3fa
TV
25212018-05-02 Tom de Vries <tom@codesourcery.com>
2522
2523 PR libgomp/85411
2524 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2525 GOMP_OPENACC_DIM ...
2526 * env.c (parse_gomp_openacc_dim): ... here. New function.
2527 (initialize_env): Call parse_gomp_openacc_dim.
2528 (goacc_default_dims): Define.
2529 * libgomp.h (goacc_default_dims): Declare.
2530 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2531 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2532 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2533 GOMP_PLUGIN_acc_default_dim.
2534 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2535 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2536
92243e7c
TV
25372018-05-02 Tom de Vries <tom@codesourcery.com>
2538
2539 PR testsuite/83791
2540 * testsuite/libgomp.c++/udr-9.C: Update.
2541 * testsuite/libgomp.c++/atomic-16.C: Remove.
2542 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
2543 * testsuite/libgomp.c++/loop-13.C: Remove.
2544 * testsuite/libgomp.c++/loop-14.C: Remove.
2545 * testsuite/libgomp.c++/loop-15.C: Remove.
2546 * testsuite/libgomp.c++/monotonic-1.C: Remove.
2547 * testsuite/libgomp.c++/monotonic-2.C: Remove.
2548 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
2549 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
2550 * testsuite/libgomp.c++/ordered-1.C: Remove.
2551 * testsuite/libgomp.c++/pr45784.C: Remove.
2552 * testsuite/libgomp.c++/pr64824.C: Remove.
2553 * testsuite/libgomp.c++/pr64868.C: Remove.
2554 * testsuite/libgomp.c++/pr66199-1.C: Remove.
2555 * testsuite/libgomp.c++/pr66199-2.C: Remove.
2556 * testsuite/libgomp.c++/pr66199-3.C: Remove.
2557 * testsuite/libgomp.c++/pr66199-4.C: Remove.
2558 * testsuite/libgomp.c++/pr66199-5.C: Remove.
2559 * testsuite/libgomp.c++/pr66199-6.C: Remove.
2560 * testsuite/libgomp.c++/pr66199-7.C: Remove.
2561 * testsuite/libgomp.c++/pr66199-8.C: Remove.
2562 * testsuite/libgomp.c++/pr66199-9.C: Remove.
2563 * testsuite/libgomp.c++/pr69389.C: Remove.
2564 * testsuite/libgomp.c++/simd10.C: Remove.
2565 * testsuite/libgomp.c++/simd11.C: Remove.
2566 * testsuite/libgomp.c++/simd12.C: Remove.
2567 * testsuite/libgomp.c++/simd13.C: Remove.
2568 * testsuite/libgomp.c++/target-1.C: Remove.
2569 * testsuite/libgomp.c++/target-3.C: Remove.
2570 * testsuite/libgomp.c++/target-4.C: Remove.
2571 * testsuite/libgomp.c++/target-5.C: Remove.
2572 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
2573 * testsuite/libgomp.c++/taskloop-1.C: Remove.
2574 * testsuite/libgomp.c++/taskloop-2.C: Remove.
2575 * testsuite/libgomp.c++/taskloop-3.C: Remove.
2576 * testsuite/libgomp.c++/taskloop-4.C: Remove.
2577 * testsuite/libgomp.c++/udr-9.C: Remove.
2578 * testsuite/libgomp.c++/for-10.C: Remove.
2579 * testsuite/libgomp.c++/for-11.C: Remove.
2580 * testsuite/libgomp.c++/for-12.C: Remove.
2581 * testsuite/libgomp.c++/for-13.C: Remove.
2582 * testsuite/libgomp.c++/for-14.C: Remove.
2583 * testsuite/libgomp.c++/for-9.C: Remove.
2584 * testsuite/libgomp.c/atomic-18.c: Move ...
2585 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
2586 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
2587 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
2588 * testsuite/libgomp.c/loop-13.c: Move ...
2589 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
2590 * testsuite/libgomp.c/loop-14.c: Move ...
2591 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
2592 * testsuite/libgomp.c/loop-15.c: Remove.
2593 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
2594 * testsuite/libgomp.c/monotonic-1.c: Move ...
2595 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
2596 * testsuite/libgomp.c/monotonic-2.c: Move ...
2597 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
2598 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
2599 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
2600 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
2601 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
2602 * testsuite/libgomp.c/ordered-4.c: Move ...
2603 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
2604 * testsuite/libgomp.c/pr45784.c: Move ...
2605 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
2606 * testsuite/libgomp.c/pr64824.c: Move ...
2607 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
2608 * testsuite/libgomp.c/pr64868.c: Move ...
2609 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
2610 * testsuite/libgomp.c/pr66199-1.c: Move ...
2611 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
2612 * testsuite/libgomp.c/pr66199-2.c: Move ...
2613 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
2614 * testsuite/libgomp.c/pr66199-3.c: Move ...
2615 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
2616 * testsuite/libgomp.c/pr66199-4.c: Move ...
2617 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
2618 * testsuite/libgomp.c/pr66199-5.c: Move ...
2619 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
2620 * testsuite/libgomp.c/pr66199-6.c: Move ...
2621 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
2622 * testsuite/libgomp.c/pr66199-7.c: Move ...
2623 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
2624 * testsuite/libgomp.c/pr66199-8.c: Move ...
2625 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
2626 * testsuite/libgomp.c/pr66199-9.c: Move ...
2627 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
2628 * testsuite/libgomp.c/pr69389.c: Move ...
2629 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
2630 * testsuite/libgomp.c/simd-14.c: Move ...
2631 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
2632 * testsuite/libgomp.c/simd-15.c: Move ...
2633 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
2634 * testsuite/libgomp.c/simd-16.c: Move ...
2635 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
2636 * testsuite/libgomp.c/simd-17.c: Move ...
2637 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
2638 * testsuite/libgomp.c/target-1.c: Move ...
2639 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
2640 * testsuite/libgomp.c/target-10.c: Move ...
2641 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
2642 * testsuite/libgomp.c/target-13.c: Move ...
2643 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
2644 * testsuite/libgomp.c/target-2.c: Move ...
2645 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
2646 * testsuite/libgomp.c/taskgroup-1.c: Move ...
2647 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
2648 * testsuite/libgomp.c/taskloop-1.c: Move ...
2649 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
2650 * testsuite/libgomp.c/taskloop-2.c: Move ...
2651 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
2652 * testsuite/libgomp.c/taskloop-3.c: Move ...
2653 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
2654 * testsuite/libgomp.c/taskloop-4.c: Move ...
2655 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
2656 * testsuite/libgomp.c/udr-1.c: Move ...
2657 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
2658 * testsuite/libgomp.c/for-1.c: Move ...
2659 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
2660 * testsuite/libgomp.c/for-1.h: Move ...
2661 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
2662 * testsuite/libgomp.c/for-2.c: Move ...
2663 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
2664 * testsuite/libgomp.c/for-2.h: Move ...
2665 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
2666 * testsuite/libgomp.c/for-3.c: Move ...
2667 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
2668 * testsuite/libgomp.c/for-4.c: Move ...
2669 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2670 * testsuite/libgomp.c/for-5.c: Move ...
2671 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2672 * testsuite/libgomp.c/for-6.c: Move ...
2673 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2674
1f62d637
TV
26752018-05-02 Tom de Vries <tom@codesourcery.com>
2676
2677 PR libgomp/82428
2678 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2679 __builtin_goacc_parlevel_{id,size}.
2680 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2681 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2682 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2683 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2684 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2685 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2686 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2687 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2688 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2689 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2690 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2691 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2692 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2693 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2694 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2695 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2696 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2697 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2698 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2699 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2700 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2701 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2702 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2703
9220b511
TV
27042018-05-02 Tom de Vries <tom@codesourcery.com>
2705
2706 PR testsuite/85106
2707 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2708
6c3c13c1
TV
27092018-05-02 Tom de Vries <tom@codesourcery.com>
2710
2711 PR testsuite/85106
2712 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2713
8d70b61e
JB
27142018-04-29 Julian Brown <julian@codesourcery.com>
2715 Tom de Vries <tom@codesourcery.com>
2716
2717 PR testsuite/85527
2718 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2719 arbitrary order for iterations of atomic subtract check.
2720
4a57a4b6
TV
27212018-04-28 Tom de Vries <tom@codesourcery.com>
2722
2723 PR testsuite/85527
2724 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2725 atomic capture results obtained in parallel loop to an array, instead of
2726 to a scalar.
2727
df36a3d3
TV
27282018-04-26 Tom de Vries <tom@codesourcery.com>
2729
2730 PR libgomp/84020
2731 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2732 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2733 (process_GOMP_NVPTX_JIT): New function.
2734 (link_ptx): Use process_GOMP_NVPTX_JIT.
2735
d160ae78
RB
27362018-04-26 Richard Biener <rguenther@suse.de>
2737 Tom de Vries <tom@codesourcery.com>
2738
2739 PR lto/85422
2740 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2741
ca9dc642
TV
27422018-04-26 Tom de Vries <tom@codesourcery.com>
2743
2744 PR target/85519
2745 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2746 recursion depth from 25 to 23.
2747 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2748
7b47ecf2
L
27492018-04-24 H.J. Lu <hongjiu.lu@intel.com>
2750
2751 * configure: Regenerated.
2752
e91eba31
NS
27532018-04-20 Nathan Sidwell <nathan@codesourcery.com>
2754 Tom de Vries <tom@codesourcery.com>
2755
2756 PR target/85445
2757 * testsuite/libgomp.oacc-c++/ref-1.C: New.
2758
6e0d40b6
TS
27592018-04-19 Thomas Schwinge <thomas@codesourcery.com>
2760
2761 PR libgomp/85463
2762 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2763 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2764 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2765 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2766 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2767 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2768
2769 PR libfortran/85166
2770 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2771 abort".
2772 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2773
a0e1df88
JJ
27742018-04-19 Jakub Jelinek <jakub@redhat.com>
2775
2776 * configure: Regenerated.
2777
001ddaa8
DM
27782018-04-18 David Malcolm <dmalcolm@redhat.com>
2779
2780 PR jit/85384
2781 * configure: Regenerate.
2782
05e0af43
CP
27832018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2784 Tom de Vries <tom@codesourcery.com>
2785
2786 PR middle-end/84955
2787 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2788 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2789
bc436e10
TK
27902018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2791
2792 PR fortran/83064
2793 PR testsuite/85346
2794 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2795 test from gfortran.dg to here.
2796
ffb164c7
JJ
27972018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2798
2799 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2800 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2801
28022018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2803
2804 PR middle-end/84955
2805 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2806 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2807
2ba16fd2
TV
28082018-04-05 Tom de Vries <tom@codesourcery.com>
2809
2810 PR target/85204
2811 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2812
46dbeb40
TV
28132018-03-26 Tom de Vries <tom@codesourcery.com>
2814
2815 PR tree-optimization/85063
2816 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2817 * testsuite/libgomp.c/switch-conversion.c: New test.
2818 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2819 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2820
bfc24e32
TK
28212018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2822
2823 PR fortran/84381
2824 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2825 call abort by STOP n.
2826 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2827 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2828 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2829 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2830 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2831 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2832 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2833 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2834 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2835 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2836 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2837 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2838 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2839 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2840 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2841 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2842 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2843 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2844 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2845 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2846 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2847 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2848 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2849 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2850 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2851 * testsuite/libgomp.fortran/character1.f90: Likewise.
2852 * testsuite/libgomp.fortran/character2.f90: Likewise.
2853 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2854 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2855 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2856 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2857 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2858 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2859 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2860 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2861 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2862 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2863 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2864 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2865 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2866 * testsuite/libgomp.fortran/do1.f90: Likewise.
2867 * testsuite/libgomp.fortran/do2.f90: Likewise.
2868 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2869 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2870 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2871 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2872 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2873 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2874 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2875 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2876 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2877 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2878 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2879 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2880 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2881 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2882 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2883 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2884 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2885 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2886 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2887 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2888 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2889 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2890 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2891 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2892 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2893 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2894 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2895 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2896 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2897 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2898 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2899 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2900 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2901 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2902 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2903 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2904 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2905 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2906 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2907 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2908 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2909 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2910 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2911 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2912 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2913 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2914 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2915 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2916 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2917 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2918 * testsuite/libgomp.fortran/lib2.f: Likewise.
2919 * testsuite/libgomp.fortran/lib3.f: Likewise.
2920 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2921 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2922 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2923 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2924 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2925 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2926 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2927 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2928 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
2929 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
2930 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
2931 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
2932 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
2933 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
2934 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
2935 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
2936 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
2937 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
2938 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
2939 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
2940 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
2941 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
2942 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
2943 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2944 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
2945 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
2946 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
2947 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
2948 * testsuite/libgomp.fortran/pr25162.f: Likewise.
2949 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
2950 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
2951 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
2952 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
2953 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
2954 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
2955 * testsuite/libgomp.fortran/pr28390.f: Likewise.
2956 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
2957 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
2958 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
2959 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
2960 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
2961 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
2962 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
2963 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
2964 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
2965 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
2966 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
2967 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
2968 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
2969 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
2970 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
2971 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
2972 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
2973 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
2974 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
2975 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
2976 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
2977 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
2978 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
2979 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
2980 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
2981 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2982 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
2983 * testsuite/libgomp.fortran/reference1.f90: Likewise.
2984 * testsuite/libgomp.fortran/reference2.f90: Likewise.
2985 * testsuite/libgomp.fortran/retval1.f90: Likewise.
2986 * testsuite/libgomp.fortran/retval2.f90: Likewise.
2987 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
2988 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
2989 * testsuite/libgomp.fortran/simd1.f90: Likewise.
2990 * testsuite/libgomp.fortran/simd2.f90: Likewise.
2991 * testsuite/libgomp.fortran/simd3.f90: Likewise.
2992 * testsuite/libgomp.fortran/simd4.f90: Likewise.
2993 * testsuite/libgomp.fortran/simd5.f90: Likewise.
2994 * testsuite/libgomp.fortran/simd6.f90: Likewise.
2995 * testsuite/libgomp.fortran/simd7.f90: Likewise.
2996 * testsuite/libgomp.fortran/stack.f90: Likewise.
2997 * testsuite/libgomp.fortran/strassen.f90: Likewise.
2998 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
2999 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3000 * testsuite/libgomp.fortran/target1.f90: Likewise.
3001 * testsuite/libgomp.fortran/target2.f90: Likewise.
3002 * testsuite/libgomp.fortran/target3.f90: Likewise.
3003 * testsuite/libgomp.fortran/target4.f90: Likewise.
3004 * testsuite/libgomp.fortran/target5.f90: Likewise.
3005 * testsuite/libgomp.fortran/target6.f90: Likewise.
3006 * testsuite/libgomp.fortran/target7.f90: Likewise.
3007 * testsuite/libgomp.fortran/target8.f90: Likewise.
3008 * testsuite/libgomp.fortran/task1.f90: Likewise.
3009 * testsuite/libgomp.fortran/task2.f90: Likewise.
3010 * testsuite/libgomp.fortran/task3.f90: Likewise.
3011 * testsuite/libgomp.fortran/task4.f90: Likewise.
3012 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3013 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3014 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3015 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3016 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3017 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3018 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3019 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3020 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3021 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3022 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3023 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3024 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3025 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3026 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3027 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3028 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3029 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3030 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3031 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3032 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3033 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3034 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3035 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3036 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3037 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3038 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3039 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3040 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3041 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3042 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3043 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3044 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3045 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3046 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3047 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3048 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3049 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3050 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3051 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3052 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3053 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3054 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3055 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3056 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3057 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3058 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3059 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3060 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3061 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3062 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3063 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3064 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3065 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3066 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3067 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3068 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3069 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3070 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3071 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3072 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3073 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3074 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3075 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3076 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3077 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3078 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3079 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3080 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3081 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3082 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3083 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3084 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3085 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3086 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3087 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3088 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3089 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3090 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3091 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3092 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3093 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3094 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3095 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3096 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3097 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3098 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3099 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3100 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3101 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3102 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3103 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3104 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3105 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3106 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3107 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3108 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3109 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3110 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3111 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3112 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3113 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3114 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3115 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3116 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3117 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3118 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3119 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3120 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3121 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3122 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3123 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3124 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3125 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3126 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3127 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3128 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3129 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3130 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3131 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3132 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3133 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3134 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3135 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3136 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3137 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3138
79cf14ae
RB
31392018-03-20 Richard Biener <rguenther@suse.de>
3140
3141 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3142 parallelizable loop.
3143
14e335ed
IT
31442018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3145
3146 PR target/84148
3147 * configure: Regenerate.
3148
83d9be55
JJ
31492018-02-16 Jakub Jelinek <jakub@redhat.com>
3150
3151 PR fortran/84418
3152 * libgomp.fortran/pr84418-1.f90: New test.
3153 * libgomp.fortran/pr84418-2.f90: New test.
3154
d1fe6124
JJ
31552018-02-14 Jakub Jelinek <jakub@redhat.com>
3156
3157 PR fortran/84313
3158 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3159 -std=f2003 -fall-intrinsics into dg-additional-options.
3160
3d224921
MJ
31612018-02-08 Martin Jambor <mjambor@suse.cz>
3162
3163 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3164 clonable.
3165
c7c30edd
MJ
31662018-02-08 Martin Jambor <mjambor@suse.cz>
3167
3168 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3169
f320fdfd
RO
31702018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3171
3172 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3173 [__cplusplus]: Declare extern "C".
3174
c31bc4ac
TV
31752018-02-07 Tom de Vries <tom@codesourcery.com>
3176
3177 PR libgomp/84217
3178 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3179
99ae7ce5
CS
31802018-01-29 Christoph Spiel <cspiel@freenet.de>
3181 Jakub Jelinek <jakub@redhat.com>
3182
3183 PR libgomp/84096
3184 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3185 instead of omp_lock_t.
3186
e77a1236
TV
31872018-01-25 Tom de Vries <tom@codesourcery.com>
3188
3189 PR target/84028
3190 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3191
3dede32b
TV
31922018-01-24 Tom de Vries <tom@codesourcery.com>
3193
3194 PR target/83589
3195 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3196
be606483
TV
31972018-01-24 Tom de Vries <tom@codesourcery.com>
3198
3199 PR target/81352
3200 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3201
8c8e9a6b
TV
32022018-01-19 Tom de Vries <tom@codesourcery.com>
3203 Cesar Philippidis <cesar@codesourcery.com>
3204
3205 PR target/83920
3206 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3207 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3208
65e6aea3
JJ
32092018-01-03 Jakub Jelinek <jakub@redhat.com>
3210
85ec4feb
JJ
3211 Update copyright years.
3212
65e6aea3
JJ
3213 * libgomp.texi: Bump @copying's copyright year.
3214
60bf575c
TV
32152017-12-30 Tom de Vries <tom@codesourcery.com>
3216
3217 PR libgomp/83046
3218 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3219 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3220
7ec16b79
TV
32212017-12-27 Tom de Vries <tom@codesourcery.com>
3222
3223 PR c++/83046
3224 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3225 (test_nonstatic): Fix return type to workaround PR83046.
3226
ac550b9a
JJ
32272017-12-05 Jakub Jelinek <jakub@redhat.com>
3228
3229 PR testsuite/83281
3230 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3231 j suffix instead of i.
3232 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3233 Likewise.
3234
ebdc83f0
CP
32352017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3236
3237 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3238 call to acc_wait (1).
3239
3b3e6283
JJ
32402017-11-24 Jakub Jelinek <jakub@redhat.com>
3241
3242 PR fortran/81304
3243 * testsuite/libgomp.fortran/pr81304.f90: New test.
3244
3b575376
JJ
32452017-11-23 Jakub Jelinek <jakub@redhat.com>
3246
3247 PR fortran/81841
3248 * libgomp.fortran/pr81841.f90: New test.
3249
b13547d8
JJ
32502017-11-22 Jakub Jelinek <jakub@redhat.com>
3251
3252 PR libgomp/83106
3253 * target.c (gomp_target_init): Compute lengths just once and
3254 use them in both malloc size and subsequent copying.
3255
efe33ced
IT
32562017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3257
3258 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3259 * acinclude.m4: Add cet.m4.
3260 * configure: Regenerate.
3261 * Makefile.in: Likewise.
3262 * testsuite/Makefile.in: Likewise.
3263
a7cf2612
TV
32642017-11-15 Tom de Vries <tom@codesourcery.com>
3265
3266 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3267 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3268 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3269 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3270 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3271 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3272
dde76623
TV
32732017-11-14 Tom de Vries <tom@codesourcery.com>
3274
3275 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3276 non-nvidia devices.
3277
4dbeb716
JJ
32782017-11-07 Jakub Jelinek <jakub@redhat.com>
3279
3280 PR c++/82835
3281 * testsuite/libgomp.c++/pr82835.C: New test.
3282
454f8b2b
ML
32832017-11-06 Martin Liska <mliska@suse.cz>
3284
3285 * testsuite/libgomp.c++/loop-2.C: Return a value
3286 for functions with non-void return type, or change type to void,
3287 or add -Wno-return-type for test.
3288 * testsuite/libgomp.c++/loop-4.C: Likewise.
3289 * testsuite/libgomp.c++/parallel-1.C: Likewise.
3290 * testsuite/libgomp.c++/shared-1.C: Likewise.
3291 * testsuite/libgomp.c++/single-1.C: Likewise.
3292 * testsuite/libgomp.c++/single-2.C: Likewise.
3293
12e9c8ce
TV
32942017-10-31 Tom de Vries <tom@codesourcery.com>
3295
3296 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3297 "do {} while (false)".
3298 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3299 after HSA_DEBUG call.
3300
7324369a
JJ
33012017-10-28 Jakub Jelinek <jakub@redhat.com>
3302
3303 * target.c (struct gomp_coalesce_buf): New type.
3304 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3305 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3306 (gomp_copy_host2dev): Add CBUF argument, if copying into
3307 the cached ranges, memcpy into buffer instead of copying
3308 into device.
3309 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3310 Add CBUF argument, pass it through to other calls.
3311 (gomp_map_vars): Aggregate copies from host to device if small enough
3312 and with small enough gaps in between into memcpy into a buffer and
3313 fewer host to device copies from the buffer.
3314 (gomp_update): Adjust gomp_copy_host2dev caller.
3315
933ab0e6
TS
33162017-10-17 Thomas Schwinge <thomas@codesourcery.com>
3317
3318 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3319 run" directive.
3320 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3321 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3322 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3323 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3324
92d5d01a
TV
33252017-10-16 Tom de Vries <tom@codesourcery.com>
3326
3327 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3328 openacc_nvidia_accel_selected.
3329 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3330 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3331 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3332 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3333 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3334 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3335 openacc_nvidia_accel_selected. Skip for shared memory device.
3336 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3337 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3338
191411e4
MJ
33392017-10-09 Martin Jambor <mjambor@suse.cz>
3340
3341 PR hsa/82416
3342 * testsuite/libgomp.hsa.c/pr82416.c: New test.
3343
e923330e
TV
33442017-10-07 Tom de Vries <tom@codesourcery.com>
3345
3346 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3347 Remove acc_device_nvidia references.
3348 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3349 Same.
3350
8fe3ed4c
TV
33512017-10-05 Tom de Vries <tom@codesourcery.com>
3352
3353 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3354 vector_length(32) clause from acc parallel directive.
3355 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3356
26596ee5
TV
33572017-10-04 Tom de Vries <tom@codesourcery.com>
3358
3359 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3360 (main): Reduce sum of arr elements. Assert that hres is exactly
3361 representable in 32-bit floating point.
3362 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3363 (main): Reduce sum of arr elements. Assert that hres and hmres are
3364 exactly representable in 32-bit floating point.
3365 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3366
5c561fa9
TV
33672017-09-28 Tom de Vries <tom@codesourcery.com>
3368
3369 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3370 setting.
3371 * testsuite/libgomp.c++/pr69393.C: Same.
3372 * testsuite/libgomp.c++/taskloop-1.C: Same.
3373 * testsuite/libgomp.c++/taskloop-3.C: Same.
3374 * testsuite/libgomp.c++/taskloop-4.C: Same.
3375 * testsuite/libgomp.c/for-4.c: Same.
3376 * testsuite/libgomp.c/pr66199-3.c: Same.
3377 * testsuite/libgomp.c/pr66199-4.c: Same.
3378 * testsuite/libgomp.c/pr66199-6.c: Same.
3379 * testsuite/libgomp.c/taskloop-1.c: Same.
3380 * testsuite/libgomp.c/taskloop-3.c: Same.
3381 * testsuite/libgomp.c/taskloop-4.c: Same.
3382 * testsuite/libgomp.fortran/aligned1.f03: Same.
3383 * testsuite/libgomp.fortran/condinc1.f: Same.
3384 * testsuite/libgomp.fortran/condinc3.f90: Same.
3385 * testsuite/libgomp.fortran/crayptr1.f90: Same.
3386 * testsuite/libgomp.fortran/crayptr2.f90: Same.
3387 * testsuite/libgomp.fortran/crayptr3.f90: Same.
3388 * testsuite/libgomp.fortran/omp_cond1.f: Same.
3389 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3390 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3391 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3392 * testsuite/libgomp.fortran/recursion1.f90: Same.
3393 * testsuite/libgomp.fortran/target2.f90: Same.
3394 * testsuite/libgomp.fortran/target5.f90: Same.
3395 * testsuite/libgomp.fortran/task3.f90: Same.
3396
7d6206fe
TV
33972017-09-28 Tom de Vries <tom@codesourcery.com>
3398
3399 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3400 vector_length(32) clause from acc parallel directive.
3401 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3402
84c8627c
TV
34032017-09-27 Tom de Vries <tom@codesourcery.com>
3404
3405 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3406 Remove acc_device_nvidia references.
3407
ebc6a85e
TV
34082017-09-16 Tom de Vries <tom@codesourcery.com>
3409
3410 PR c/81875
3411 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3412
82419efb
TV
34132017-09-14 Tom de Vries <tom@codesourcery.com>
3414
3415 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3416 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3417 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3418 * testsuite/libgomp.c/c.exp: Include test-cases from
3419 libgomp.c-c++-common.
3420 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
3421 files.
3422
8b586510
JJ
34232017-09-14 Jakub Jelinek <jakub@redhat.com>
3424
3425 PR c++/81314
3426 * testsuite/libgomp.c++/pr81314.C: New test.
3427
9651fbaf
GP
34282017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
3429
3430 * libgomp.texi (Top): www.openacc.org now uses https.
3431 (Enabling OpenACC): Ditto.
3432 (acc_get_num_devices): Ditto.
3433 (acc_set_device_type): Ditto.
3434 (acc_get_device_type): Ditto.
3435 (acc_set_device_num): Ditto.
3436 (acc_get_device_num): Ditto.
3437 (acc_async_test): Ditto.
3438 (acc_async_test_all): Ditto.
3439 (acc_wait): Ditto.
3440 (acc_wait_all): Ditto.
3441 (acc_wait_all_async): Ditto.
3442 (acc_wait_async): Ditto.
3443 (acc_init): Ditto.
3444 (acc_shutdown): Ditto.
3445 (acc_on_device): Ditto.
3446 (acc_malloc): Ditto.
3447 (acc_free): Ditto.
3448 (acc_copyin): Ditto.
3449 (acc_present_or_copyin): Ditto.
3450 (acc_create): Ditto.
3451 (acc_present_or_create): Ditto.
3452 (acc_copyout): Ditto.
3453 (acc_delete): Ditto.
3454 (acc_update_device): Ditto.
3455 (acc_update_self): Ditto.
3456 (acc_map_data): Ditto.
3457 (acc_unmap_data): Ditto.
3458 (acc_deviceptr): Ditto.
3459 (acc_hostptr): Ditto.
3460 (acc_is_present): Ditto.
3461 (acc_memcpy_to_device): Ditto.
3462 (acc_memcpy_from_device): Ditto.
3463 (acc_get_current_cuda_device): Ditto.
3464 (acc_get_current_cuda_context): Ditto.
3465 (acc_get_cuda_stream): Ditto.
3466 (acc_set_cuda_stream): Ditto.
3467 (ACC_DEVICE_TYPE): Ditto.
3468 (ACC_DEVICE_NUM): Ditto.
3469 (OpenACC Library Interoperability): Ditto.
3470
50aa16c3
JJ
34712017-08-09 Jakub Jelinek <jakub@redhat.com>
3472
3473 PR c/81687
3474 * testsuite/libgomp.c/pr81687-1.c: New test.
3475 * testsuite/libgomp.c/pr81687-2.c: New test.
3476
56b5041c
JJ
34772017-08-07 Jakub Jelinek <jakub@redhat.com>
3478
3479 PR c/69389
3480 * testsuite/libgomp.c/pr69389.c: New test.
3481 * testsuite/libgomp.c++/pr69389.C: New test.
3482
f4c222c0
TV
34832017-08-07 Tom de Vries <tom@codesourcery.com>
3484
3485 PR middle-end/78266
3486 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3487 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3488
a40ff0ae
JJ
34892017-07-27 Jakub Jelinek <jakub@redhat.com>
3490
3491 PR c/45784
3492 * testsuite/libgomp.c/pr45784.c: New test.
3493 * testsuite/libgomp.c++/pr45784.C: New test.
3494
3717fbe3
TV
34952017-07-19 Tom de Vries <tom@codesourcery.com>
3496
3497 * testsuite/libgomp.oacc-c/vec.c: New test.
3498
9607b014
TV
34992017-07-03 Tom de Vries <tom@codesourcery.com>
3500
3501 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3502
dfb15f6b
TV
35032017-06-27 Tom de Vries <tom@codesourcery.com>
3504
3505 * plugin/plugin-nvptx.c (notify_var): New function.
3506 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3507
22f1a037
TV
35082017-06-27 Tom de Vries <tom@codesourcery.com>
3509
3510 * env.c (parse_unsigned_long_1): Factor out of ...
3511 (parse_unsigned_long): ... here.
3512 (parse_int_1): Factor out of ...
3513 (parse_int): ... here.
3514 (parse_int_secure): New function.
3515 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3516 * secure_getenv.h: Factor out of ...
3517 * plugin/plugin-hsa.c: ... here.
3518 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3519
d54d1fc3
JJ
35202017-06-21 Jakub Jelinek <jakub@redhat.com>
3521
3522 PR c++/81130
3523 * testsuite/libgomp.c++/pr81130.C: New test.
3524
4f4b0ab8
RO
35252017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3526
3527 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3528 default args.
3529 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3530 dg-xfail-run-if default args.
3531
40ffd95f
BE
35322017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3533
3534 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3535 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3536
01275e1e
JJ
35372017-05-30 Jakub Jelinek <jakub@redhat.com>
3538
3539 PR libgomp/80822
3540 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3541 (gomp_affinity_init_level): Use it. Always analyze the core and thread
3542 sibling lists, depending on level just pick up what CPUs to put
3543 together into a place vs. whether add multiple ordered places.
3544
78672bd8
TS
35452017-05-24 Thomas Schwinge <thomas@codesourcery.com>
3546
7ce64403
TS
3547 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
3548 * libgomp.map (OACC_2.0.1): Add these.
3549 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
3550 for "acc_wait", and "acc_wait_all", respectively.
3551 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
3552 for "acc_wait", and "acc_wait_all", respectively.
3553 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
3554 * libgomp.texi (acc_wait, acc_wait_all): Update.
3555 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
3556 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
3557 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3558
318686c2
TS
3559 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
3560 acc_present_or_copyin and acc_present_or_create procedures,
3561 respectively.
3562 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
3563 generally different variants of OpenACC Runtime Library functions.
3564 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3565
a6745534
TS
3566 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
3567 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3568
9b94fbc7
TS
3569 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
3570 of preprocessor definitions.
3571 * libgomp.h (strong_alias): Guard by "#ifdef
3572 HAVE_ATTRIBUTE_ALIAS".
3573 * oacc-mem.c: Provide "acc_pcreate" as alias for
3574 "acc_present_or_create", and "acc_pcopyin" as alias for
3575 "acc_present_or_copyin".
3576 * libgomp.map: New version "OACC_2.0.1".
3577 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
3578 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
3579 its content into...
3580 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
3581 Extend testing.
3582
78672bd8
TS
3583 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
3584 when disabling nvptx offloading.
3585
0c36d0d5
TS
35862017-05-23 Thomas Schwinge <thomas@codesourcery.com>
3587
fd71a9a2
TS
3588 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
3589 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3590 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3591
0c36d0d5
TS
3592 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
3593 * testsuite/lib/libgomp.exp
3594 (check_effective_target_openacc_nvidia_accel_configured): New
3595 proc.
3596 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
3597 (check_effective_target_c++): New procs.
3598 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
3599 (check_effective_target_c++): Likewise.
3600
c24783c4
JJ
36012017-05-22 Jakub Jelinek <jakub@redhat.com>
3602
655e5265
JJ
3603 PR middle-end/80809
3604 * testsuite/libgomp.c/pr80809-2.c: New test.
3605 * testsuite/libgomp.c/pr80809-3.c: New test.
3606
e9e2ef9f
JJ
3607 PR middle-end/80809
3608 * testsuite/libgomp.c/pr80809-1.c: New test.
3609
c24783c4
JJ
3610 PR middle-end/80853
3611 * testsuite/libgomp.c/pr80853.c: New test.
3612
0da2f96a
TS
36132017-05-19 Thomas Schwinge <thomas@codesourcery.com>
3614
7fd549d2
TS
3615 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
3616 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
3617 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3618 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3619 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3620
0da2f96a
TS
3621 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
3622 Debug output for failure.
3623
62ffe920
RO
36242017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3625
3626 * testsuite/lib/libgomp.exp: Load scanlang.exp.
3627
f49215b1
JJ
36282017-04-27 Jakub Jelinek <jakub@redhat.com>
3629
3630 PR bootstrap/80531
3631 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
3632 bootstrap compare failures.
3633
2260d19d
AM
36342017-04-20 Alexander Monakov <amonakov@ispras.ru>
3635
3636 * testsuite/libgomp.c/target-36.c: New testcase.
3637
19929ba9
JJ
36382017-04-13 Jakub Jelinek <jakub@redhat.com>
3639
3640 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
3641 instead of char.
3642
fbc698e0
JJ
36432017-04-11 Jakub Jelinek <jakub@redhat.com>
3644
3645 PR libgomp/80394
3646 * testsuite/libgomp.c/pr80394.c: New test.
3647
c4060df4
JJ
36482017-04-04 Jakub Jelinek <jakub@redhat.com>
3649
3650 PR libgomp/79876
3651 * config/posix/thread-stacksize.h: New file.
3652 * config/darwin/thread-stacksize.h: New file.
3653 * config/nvptx/thread-stacksize.h: New file.
3654 * env.c: Include thread-stacksize.h.
3655 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
3656 instead of 0. Call pthread_attr_setstacksize even if
3657 GOMP_DEFAULT_STACKSIZE is non-zero.
3658
e02d868a
JJ
36592017-03-30 Jakub Jelinek <jakub@redhat.com>
3660
3661 * env.c (initialize_env): Initialize stacksize to 0.
3662
7ba8651e
CP
36632017-03-22 Cesar Philippidis <cesar@codesourcery.com>
3664
3665 PR c++/80029
3666 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
3667
eebc5e2d
JJ
36682017-03-08 Jakub Jelinek <jakub@redhat.com>
3669
3670 PR c/79940
3671 * testsuite/libgomp.c/pr79940.c: New test.
3672
1eb08f52
RO
36732017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3674
3675 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3676 targets.
3677 Add __float128 options.
3678
b0f78ff3
JDA
36792017-02-11 John David Anglin <danglin@gcc.gnu.org>
3680
3681 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3682 hppa*-*-* dg-skip-if directive.
3683
1bbe0d8f
JJ
36842017-02-09 Jakub Jelinek <jakub@redhat.com>
3685
3686 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3687 dg-skip-if directive into a comment.
3688
02889d23
CLT
36892017-02-09 Nathan Sidwell <nathan@codesourcery.com>
3690 Chung-Lin Tang <cltang@codesourcery.com>
3691
3692 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3693 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3694 add additional case.
3695 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3696 "openacc_nvidia_accel_selected".
3697 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3698 Add num_workers(8) clause.
3699
5896a41d
JDA
37002017-02-08 John David Anglin <danglin@gcc.gnu.org>
3701
3702 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3703 hppa*-*-*.
3704 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3705 include complex.h on hppa*-*-hpux*.
3706 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3707
345a8c17
TS
37082017-02-02 Thomas Schwinge <thomas@codesourcery.com>
3709
e70ab10d
TS
3710 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3711
345a8c17
TS
3712 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3713 GOMP_OFFLOAD_openacc_exec. Adjust all users.
3714 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3715 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
3716 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3717 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
3718 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3719 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
3720 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3721 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
3722
dced339c
TS
37232017-01-31 Thomas Schwinge <thomas@codesourcery.com>
3724
3725 * libgomp-plugin.h: #include <stdbool.h>.
3726 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3727 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3728 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3729 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3730 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3731 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3732 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3733 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3734 (GOMP_OFFLOAD_openacc_register_async_cleanup)
3735 (GOMP_OFFLOAD_openacc_async_test)
3736 (GOMP_OFFLOAD_openacc_async_test_all)
3737 (GOMP_OFFLOAD_openacc_async_wait)
3738 (GOMP_OFFLOAD_openacc_async_wait_async)
3739 (GOMP_OFFLOAD_openacc_async_wait_all)
3740 (GOMP_OFFLOAD_openacc_async_wait_all_async)
3741 (GOMP_OFFLOAD_openacc_async_set_async)
3742 (GOMP_OFFLOAD_openacc_create_thread_data)
3743 (GOMP_OFFLOAD_openacc_destroy_thread_data)
3744 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3745 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3746 (GOMP_OFFLOAD_openacc_get_cuda_stream)
3747 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3748 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3749 these.
3750 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3751 (GOMP_OFFLOAD_unload_image): Fix argument types.
3752
23749904
JJ
37532017-01-26 Jakub Jelinek <jakub@redhat.com>
3754
c1cadde1
JJ
3755 * testsuite/lib/libgomp.exp
3756 (check_effective_target_hsa_offloading_selected_nocache): Fix up
3757 check_compile invocation. Fix up removal of executable. Drop
3758 bogus "2>&1" argument.
3759
23749904
JJ
3760 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3761 directive.
3762
37632017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
3764 Martin Jambor <mjambor@suse.cz>
3765
3766 * plugin/hsa.h: Moved to top level include.
3767 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3768
73aa401e
JJ
37692017-01-21 Jakub Jelinek <jakub@redhat.com>
3770
3771 PR other/79046
3772 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3773 of cat to get version from BASE-VER file.
3774 * testsuite/Makefile.in: Regenerated.
3775
b32e85fa
JJ
37762017-01-19 Jakub Jelinek <jakub@redhat.com>
3777
3778 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3779 for _WIN64.
3780
3c36aa6b
JJ
37812017-01-17 Jakub Jelinek <jakub@redhat.com>
3782
d190d5c0
JJ
3783 * plugin/hsa.h: Add GCC runtime library exception.
3784 * plugin/hsa_ext_finalize.h: Likewise.
3785
2393d337
JJ
3786 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3787 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3788 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3789 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3790 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3791 library to link ptx plugin against.
3792 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3793 (CUDA_CALLS): Define.
3794 (cuda_lib, cuda_lib_inited): New variables.
3795 (init_cuda_lib): New function.
3796 (CUDA_CALL_PREFIX): Define.
3797 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3798 (CUDA_CALL): Use FN instead of (FN).
3799 (CUDA_CALL_NOCHECK): Define.
3800 (cuda_error, fini_streams_for_device, select_stream_for_async,
3801 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3802 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3803 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3804 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3805 CUDA_CALL_NOCHECK.
3806 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3807 CUDA_CALL_NOCHECK.
3808 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3809 Use CUDA_CALL_NOCHECK.
3810 * plugin/cuda/cuda.h: New file.
3811 * config.h.in: Regenerated.
3812 * configure: Regenerated.
3813
3c36aa6b
JJ
3814 PR other/79046
3815 * configure.ac: Add GCC_BASE_VER.
3816 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3817 get version from BASE-VER file.
3818 * testsuite/Makefile.in: Regenerated.
3819 * configure: Regenerated.
3820 * Makefile.in: Regenerated.
3821
c508bc2d
FXC
38222017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3823
3824 PR libgomp/60670
3825 * Makefile.am: Make fincludedir multilib-aware.
3826 * Makefile.in: Regenerate.
3827
c1a9c369
JJ
38282017-01-01 Jakub Jelinek <jakub@redhat.com>
3829
cbe34bb5
JJ
3830 Update copyright years.
3831
c1a9c369
JJ
3832 * libgomp.texi: Bump @copying's copyright year.
3833
e7a7f4be
SH
38342016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3835
3836 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3837 pthread_spinlock_t instead of gomp_mutex_t lock.
3838 (gomp_get_thread_pool): Likewise.
3839 (gomp_release_thread_pool): Likewise.
3840 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3841 Likewise.
3842
d313d52c
SH
38432016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3844
3845 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3846 thread pool in case nthreads == 1.
3847
630e3c3a
AM
38482016-11-30 Alexander Monakov <amonakov@ispras.ru>
3849
3850 * config/nvptx/env.c: Delete.
3851 * icv.c: Move definitions of ICV variables back ...
3852 * env.c: ...here. Do not compile environment-related functionality if
3853 LIBGOMP_OFFLOADED_ONLY is set.
3854
9e38af5c
AM
38552016-11-30 Alexander Monakov <amonakov@ispras.ru>
3856
3857 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3858 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3859 * configure: Regenerate.
3860 * config.h.in: Likewise.
3861
f96b7f1f
AM
38622016-11-30 Alexander Monakov <amonakov@ispras.ru>
3863
3864 * Makefile.in: Regenerate with automake-1.11.6.
3865 * aclocal.m4: Likewise.
3866 * configure: Likewise.
3867 * testsuite/Makefile.in: Likewise.
3868
6a6951b1
AM
38692016-11-28 Alexander Monakov <amonakov@ispras.ru>
3870
3871 * config/nvptx/critical.c: Delete to use generic implementation.
3872
c7ac071f
JH
38732016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3874
3875 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3876 ../../affinity.c as fallback.
3877 * config/nvptx/affinity.c: Delete to use fallback implementation.
3878
6103184e 38792016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3880 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3881 Dmitry Melnik <dm@ispras.ru>
3882
3883 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3884 * Makefile.in. Regenerate.
3885 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3886 (LIBGOMP_USE_PTHREADS): ...here; new define.
3887 * configure: Regenerate.
3888 * config.h.in: Likewise.
3889 * config/posix/affinity.c: Move to...
3890 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3891 interface by LIBGOMP_USE_PTHREADS.
3892 * critical.c: Split out GOMP_atomic_{start,end} into...
3893 * atomic.c: ...here (new file).
3894 * env.c: Split out ICV definitions into...
3895 * icv.c: ...here (new file) and...
3896 * icv-device.c: ...here. New file.
3897 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3898 (gomp_destroy_lock_30): Ditto.
3899 (gomp_set_lock_30): Ditto.
3900 (gomp_unset_lock_30): Ditto.
3901 (gomp_test_lock_30): Ditto.
3902 (gomp_init_nest_lock_30): Ditto.
3903 (gomp_destroy_nest_lock_30): Ditto.
3904 (gomp_set_nest_lock_30): Ditto.
3905 (gomp_unset_nest_lock_30): Ditto.
3906 (gomp_test_nest_lock_30): Ditto.
3907 * lock.c: New.
3908 * config/nvptx/lock.c: New.
3909 * config/nvptx/bar.c: New.
3910 * config/nvptx/bar.h: New.
3911 * config/nvptx/doacross.h: New.
3912 * config/nvptx/error.c: New.
3913 * config/nvptx/icv-device.c: New.
3914 * config/nvptx/mutex.h: New.
3915 * config/nvptx/pool.h: New.
3916 * config/nvptx/proc.c: New.
3917 * config/nvptx/ptrlock.h: New.
3918 * config/nvptx/sem.h: New.
3919 * config/nvptx/simple-bar.h: New.
3920 * config/nvptx/target.c: New.
3921 * config/nvptx/task.c: New.
3922 * config/nvptx/team.c: New.
3923 * config/nvptx/time.c: New.
3924 * config/posix/simple-bar.h: New.
3925 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3926 (gomp_num_teams_var): Declare.
3927 (struct gomp_thread_pool): Change threads_dock member to
3928 gomp_simple_barrier_t.
3929 [__nvptx__] (gomp_thread): New implementation.
3930 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
3931 (gomp_thread_destructor): Ditto.
3932 (gomp_init_thread_affinity): Ditto.
3933 * team.c: Guard uses of Pthreads-specific interfaces by
3934 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
3935 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
3936 * config/nvptx/alloc.c: Delete.
3937 * config/nvptx/barrier.c: Ditto.
3938 * config/nvptx/fortran.c: Ditto.
3939 * config/nvptx/iter.c: Ditto.
3940 * config/nvptx/iter_ull.c: Ditto.
3941 * config/nvptx/loop.c: Ditto.
3942 * config/nvptx/loop_ull.c: Ditto.
3943 * config/nvptx/ordered.c: Ditto.
3944 * config/nvptx/parallel.c: Ditto.
3945 * config/nvptx/priority_queue.c: Ditto.
3946 * config/nvptx/sections.c: Ditto.
3947 * config/nvptx/single.c: Ditto.
3948 * config/nvptx/splay-tree.c: Ditto.
3949 * config/nvptx/work.c: Ditto.
3950 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
3951 -foffload=-lgfortran in addition to -lgfortran.
3952 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
3953 * plugin/plugin-nvptx.c: Include <limits.h>.
3954 (struct targ_fn_descriptor): Add new fields.
3955 (struct ptx_device): Ditto. Set them...
3956 (nvptx_open_device): ...here.
3957 (nvptx_adjust_launch_bounds): New.
3958 (nvptx_host2dev): Allow NULL 'nvthd'.
3959 (nvptx_dev2host): Ditto.
3960 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
3961 (link_ptx): Adjust log sizes.
3962 (nvptx_host2dev): Allow NULL 'nvthd'.
3963 (nvptx_dev2host): Ditto.
3964 (nvptx_set_clocktick): New. Use it...
3965 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
3966 fields.
3967 (GOMP_OFFLOAD_dev2dev): New.
3968 (nvptx_adjust_launch_bounds): New.
3969 (nvptx_stacks_size): New.
3970 (nvptx_stacks_alloc): New.
3971 (nvptx_stacks_free): New.
3972 (GOMP_OFFLOAD_run): New.
3973 (GOMP_OFFLOAD_async_run): New (stub).
3974
56b1c60e
MJ
39752016-11-23 Martin Jambor <mjambor@suse.cz>
3976
3977 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
3978 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3979 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3980
b8d89b03 39812016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 3982 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
3983
3984 * plugin/hsa.h: New file.
3985 * plugin/hsa_ext_finalize.h: New file.
3986 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
3987 header file unistd.h, and functions secure_getenv, __secure_getenv,
3988 getuid, geteuid, getgid and getegid.
3989 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
3990 -D_GNU_SOURCE.
3991 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
3992 Handle various cases of secure_getenv presence, add an implementation
3993 when we can test effective UID and GID.
3994 (struct hsa_runtime_fn_info): New structure.
3995 (hsa_runtime_fn_info hsa_fns): New variable.
3996 (hsa_runtime_lib): Likewise.
3997 (support_cpu_devices): Likewise.
3998 (init_enviroment_variables): Load newly introduced ENV
3999 variables.
4000 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4001 (hsa_fatal): Likewise.
4002 (DLSYM_FN): New macro.
4003 (init_hsa_runtime_functions): New function.
4004 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4005 structure. Depending on environment, also allow CPU devices.
4006 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4007 (get_kernarg_memory_region): Likewise.
4008 (GOMP_OFFLOAD_init_device): Likewise.
4009 (destroy_hsa_program): Likewise.
4010 (init_basic_kernel_info): New function.
4011 (GOMP_OFFLOAD_load_image): Use it.
4012 (create_and_finalize_hsa_program): Call hsa run-time functions via
4013 hsa_fns structure.
4014 (create_single_kernel_dispatch): Likewise.
4015 (release_kernel_dispatch): Likewise.
4016 (init_single_kernel): Likewise.
4017 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4018 (get_group_size): New function.
4019 (run_kernel): Likewise.
4020 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4021 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4022 structure.
4023 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4024 * testsuite/libgomp-test-support.exp.in: Likewise.
4025 * Makefile.in: Regenerated.
4026 * aclocal.m4: Likewise.
4027 * config.h.in: Likewise.
4028 * configure: Likewise.
4029 * testsuite/Makefile.in: Likewise.
4030
18d2ada8 40312016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 4032 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
4033
4034 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4035 mapping clauses to target constructs.
4036 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4037
84c1b9d3
MK
40382016-11-15 Matthias Klose <doko@ubuntu.com>
4039
4040 * configure: Regenerate.
4041
b4c3a85b
JJ
40422016-11-10 Jakub Jelinek <jakub@redhat.com>
4043
8ebd1b31
JJ
4044 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4045 * omp_lib.h.in (openmp_version): Likewise.
4046 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4047 of 201307.
4048 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4049
b4c3a85b
JJ
4050 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4051 (fib_wrapper): Add map(from: x) clause.
4052 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4053 (e_53_2): Likewise.
4054 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4055 (accum): Add map(tmp) clause.
4056 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4057 (accum): Add map(tofrom: tmp) clause.
4058 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4059 (gramSchmidt): Likewise.
4060 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4061 map(tofrom: sum) clause.
4062 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4063 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4064 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4065 only allowed on the loop iterator.
4066 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4067 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4068 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4069 * testsuite/libgomp.fortran/doacross1.f90: New test.
4070 * testsuite/libgomp.fortran/doacross3.f90: New test.
4071 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4072 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4073 * testsuite/libgomp.fortran/doacross2.f90: New test.
4074 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4075 #pragma omp atomic read.
4076 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4077 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4078
6668eb45
CP
40792016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4080 Nathan Sidwell <nathan@acm.org>
4081
4082 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4083 to determine default geometry.
4084 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4085 dimension.
4086
f10e37a1
JJ
40872016-11-01 Jakub Jelinek <jakub@redhat.com>
4088
4089 * hashtab.h: Use standard GPLv3 with runtime exception
4090 boilerplate.
4091
015c7760
AH
40922016-10-27 Aldy Hernandez <aldyh@redhat.com>
4093
4094 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4095 size when allocating new thread.
4096
20a1e5b8
MP
40972016-09-14 Marek Polacek <polacek@redhat.com>
4098
4099 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4100
1cad9284
JJ
41012016-08-19 Jakub Jelinek <jakub@redhat.com>
4102
4103 PR fortran/71014
4104 * testsuite/libgomp.fortran/pr71014.f90: New test.
4105
2c71d454
CLT
41062016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4107
4108 PR middle-end/70895
4109 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4110 firstprivate clauses.
4111 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4112 copy clauses.
4113 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4114 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4115 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4116 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4117 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4118 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4119 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4120 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4121 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4122 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4123 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4124 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4125
7c713714
CLT
41262016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4127
4128 PR fortran/70598
4129 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4130
5c934396
JJ
41312016-08-08 Jakub Jelinek <jakub@redhat.com>
4132
4133 PR c++/58706
4134 * testsuite/libgomp.c++/pr58706.C: New test.
4135
9ef64248
TS
41362016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4137
bbc79c0e
TS
4138 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4139 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4140 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4141 Likewise.
4142 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4143 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4144 Likewise.
4145 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4146
9ef64248
TS
4147 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4148 test, and don't hardcode -O0.
4149
c1311c86
NS
41502016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4151
4152 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4153
b1c9c068
CP
41542016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4155
4156 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4157 test.
4158
b4410f63
L
41592016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4160
4161 PR middle-end/71734
4162 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4163 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4164
a8dbab92
JJ
41652016-07-01 Jakub Jelinek <jakub@redhat.com>
4166
4167 PR fortran/71717
4168 * testsuite/libgomp.fortran/associate3.f90: New test.
4169
9b6a8d0f
JJ
41702016-06-17 Jakub Jelinek <jakub@redhat.com>
4171
4172 * testsuite/libgomp.c++/target-21.C: New test.
4173
283635f9
JJ
41742016-06-16 Jakub Jelinek <jakub@redhat.com>
4175
4176 * testsuite/libgomp.c++/target-20.C: New test.
4177
27d6ba88
TS
41782016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4179 Cesar Philippidis <cesar@codesourcery.com>
4180
4181 PR middle-end/71373
4182 * libgomp.oacc-c/nested-function-1.c: New file.
4183 * libgomp.oacc-c/nested-function-2.c: Likewise.
4184 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4185 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4186 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4187
4b1ffdb1
TS
41882016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4189
4190 PR c/71381
4191 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4192 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4193 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4194
d821b794
CLT
41952016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4196
4197 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4198 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4199
3616a8c5
CP
42002016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4201
4202 PR c/70688
5eed9a88 4203 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 4204
7211a097
JJ
42052016-05-26 Jakub Jelinek <jakub@redhat.com>
4206
4207 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4208 instead of invalid schedule(static, 0).
4209 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4210
b4557008
CLT
42112016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4212
4213 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4214 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4215 parameter, use to set async stream around call to gomp_unmap_vars,
4216 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4217 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4218 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4219 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4220 (event_add): Add int parameter, initialize 'val' field when
4221 adding new ptx_event struct.
4222 (nvptx_evec): Adjust event_add() call arguments.
4223 (nvptx_host2dev): Likewise.
4224 (nvptx_dev2host): Likewise.
4225 (nvptx_wait_async): Likewise.
4226 (nvptx_wait_all_async): Likewise.
4227 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4228 pass to event_add() call.
4229 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4230 parameter.
4231 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4232 call openacc.register_async_cleanup_func() hook.
4233 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4234 * target.c (gomp_copy_from_async): Delete function.
4235 (gomp_map_vars): Remove async_refcount.
4236 (gomp_unmap_vars): Likewise.
4237 (gomp_load_image_to_device): Likewise.
4238 (omp_target_associate_ptr): Likewise.
4239 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4240 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4241 (gomp_copy_from_async): Remove.
4242
6ce13072
CLT
42432016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4244
4245 * target.c (gomp_device_copy): New function.
4246 (gomp_copy_host2dev): Likewise.
4247 (gomp_copy_dev2host): Likewise.
4248 (gomp_free_device_memory): Likewise.
4249 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4250 (gomp_map_pointer): Likewise.
4251 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4252 NULL value from alloc_func plugin hook.
4253 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4254 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4255 (gomp_unmap_vars): Likewise.
4256 (gomp_update): Adjust to call gomp_copy_dev2host and
4257 gomp_copy_host2dev functions.
4258 (gomp_unload_image_from_device): Handle false value from
4259 unload_image_func plugin hook.
4260 (gomp_init_device): Handle false value from init_device_func
4261 plugin hook.
4262 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4263 (omp_target_free): Adjust to call gomp_free_device_memory.
4264 (omp_target_memcpy): Handle return values from host2dev_func,
4265 dev2host_func, and dev2dev_func plugin hooks.
4266 (omp_target_memcpy_rect_worker): Likewise.
4267 (gomp_target_fini): Handle false value from fini_device_func
4268 plugin hook.
4269 * libgomp.h (struct gomp_device_descr): Adjust return type of
4270 init_device_func, fini_device_func, unload_image_func, free_func,
4271 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4272 * oacc-init.c (acc_shutdown_1): Handle false value from
4273 fini_device_func plugin hook.
4274 * oacc-host.c (host_init_device): Change return type to bool.
4275 (host_fini_device): Likewise.
4276 (host_unload_image): Likewise.
4277 (host_free): Likewise.
4278 (host_dev2host): Likewise.
4279 (host_host2dev): Likewise.
4280 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4281 (acc_memcpy_to_device): Likewise.
4282 (acc_memcpy_from_device): Likewise.
4283 (delete_copyout): Add libfnname parameter, handle free_func
4284 hook fatal error case.
4285 (acc_delete): Adjust delete_copyout call.
4286 (acc_copyout): Likewise.
4287 (update_dev_host): Move gomp_mutex_unlock to after
4288 host2dev/dev2host hook calls.
4289
4290 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4291 to 'hsa_error_msg', for clarity.
4292 (hsa_fatal): Likewise.
4293 (hsa_error): New function.
4294 (init_hsa_context): Change return type to bool, adjust to return
4295 false on error.
4296 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4297 return value.
4298 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4299 return false on error.
4300 (get_agent_info): Adjust to return NULL on error.
4301 (destroy_hsa_program): Change return type to bool, adjust to
4302 return false on error.
4303 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4304 (destroy_module): Change return type to bool, adjust to
4305 return false on error.
4306 (GOMP_OFFLOAD_unload_image): Likewise.
4307 (GOMP_OFFLOAD_fini_device): Likewise.
4308 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4309 (GOMP_OFFLOAD_free): Change to return false when called.
4310 (GOMP_OFFLOAD_dev2host): Likewise.
4311 (GOMP_OFFLOAD_host2dev): Likewise.
4312 (GOMP_OFFLOAD_dev2dev): Likewise.
4313
4314 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4315 (CUDA_CALL): Likewise.
4316 (CUDA_CALL_ASSERT): Likewise.
4317 (map_init): Change return type to bool, use CUDA_CALL* macros.
4318 (map_fini): Likewise.
4319 (init_streams_for_device): Change return type to bool, adjust
4320 call to map_init.
4321 (fini_streams_for_device): Change return type to bool, adjust
4322 call to map_fini.
4323 (select_stream_for_async): Release stream_lock before calls to
4324 GOMP_PLUGIN_fatal, adjust call to map_init.
4325 (nvptx_init): Use CUDA_CALL* macros.
4326 (nvptx_attach_host_thread_to_device): Change return type to bool,
4327 use CUDA_CALL* macros.
4328 (nvptx_open_device): Use CUDA_CALL* macros.
4329 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4330 macros.
4331 (nvptx_get_num_devices): Use CUDA_CALL* macros.
4332 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4333 (nvptx_exec): Use CUDA_CALL* macros.
4334 (nvptx_alloc): Use CUDA_CALL* macros.
4335 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4336 (nvptx_host2dev): Likewise.
4337 (nvptx_dev2host): Likewise.
4338 (nvptx_wait): Use CUDA_CALL* macros.
4339 (nvptx_wait_async): Likewise.
4340 (nvptx_wait_all): Likewise.
4341 (nvptx_wait_all_async): Likewise.
4342 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4343 use CUDA_CALL* macros, adjust call to map_fini.
4344 (GOMP_OFFLOAD_init_device): Change return type to bool,
4345 adjust code accordingly.
4346 (GOMP_OFFLOAD_fini_device): Likewise.
4347 (GOMP_OFFLOAD_load_image): Adjust calls to
4348 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4349 use CUDA_CALL* macros.
4350 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4351 return code.
4352 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4353 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4354 handle error return.
4355 (GOMP_OFFLOAD_dev2host): Likewise.
4356 (GOMP_OFFLOAD_host2dev): Likewise.
4357 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4358 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4359
e46c7770
CP
43602016-05-24 Cesar Philippidis <cesar@codesourcery.com>
4361
4362 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4363 (acc_free): Likewise.
4364 (acc_memcpy_to_device): Likewise.
4365 (acc_memcpy_from_device): Likewise.
4366 (acc_deviceptr): Likewise.
4367 (acc_hostptr): Likewise.
4368 (acc_is_present): Likewise.
4369 (acc_map_data): Likewise.
4370 (acc_unmap_data): Likewise.
4371 (present_create_copy): Likewise.
4372 (delete_copyout): Likewise.
4373 (update_dev_host): Likewise.
4374 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4375 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4376 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4377 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4378 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4379 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4380 it only runs on nvptx targets.
4381 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4382 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4383 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4384 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4385 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4386 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4387 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4388 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4389 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4390 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4391 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4392 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4393 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4394 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4395 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4396 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4397 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4398 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4399 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4400 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4401 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4402 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4403 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4404
a5057543
MJ
44052016-05-23 Martin Jambor <mjambor@suse.cz>
4406
4407 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4408
e37288a6
CLT
44092016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
4410
4411 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4412 to gomp_init_targets_once.
4413 (acc_set_device_type): Remove !cached_base_dev condition on call to
4414 gomp_init_targets_once, move call to before acc_device_lock acquire,
4415 to avoid deadlock.
4416 (acc_get_device_num): Remove !cached_base_dev condition on call to
4417 gomp_init_targets_once.
4418 (acc_set_device_num): Likewise.
4419
51d9ed48
MJ
44202016-05-16 Martin Jambor <mjambor@suse.cz>
4421
92a285c1 4422 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 4423
5b37e866
NS
44242016-05-02 Nathan Sidwell <nathan@codesourcery.com>
4425
4426 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4427 expected partitioning.
4428
e7ff0319
CP
44292016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4430
4431 PR middle-end/70626
4432 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4433 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4434 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4435
c2bd3b69
AM
44362016-04-21 Alexander Monakov <amonakov@ispras.ru>
4437
4438 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4439 non-fatal.
4440
84311083
JJ
44412016-04-19 Jakub Jelinek <jakub@redhat.com>
4442
4443 PR middle-end/70680
4444 * testsuite/libgomp.c/pr70680-1.c: New test.
4445 * testsuite/libgomp.c/pr70680-2.c: New test.
4446
aadc043f
CP
44472016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4448
4449 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4450 pass parameter variables to subroutines.
4451
e387fc64
CP
44522016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4453
4454 PR middle-end/70643
4455 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4456
10c3c424
CP
44572016-04-13 Cesar Philippidis <cesar@codesourcery.com>
4458
4459 PR testsuite/68242
4460 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4461 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4462
27f9add3
TS
44632016-04-12 Thomas Schwinge <thomas@codesourcery.com>
4464
58d32aeb
TS
4465 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4466 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4467 GOACC_declare prototype.
4468
d97633ef
TS
4469 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4470 Merge this file, and...
4471 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4472 ... this file, and...
4473 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4474 ... this file, and...
4475 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4476 ... this file, and...
4477 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4478 ... this file, and...
4479 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4480 ... this file, and...
4481 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4482 ... this file, and...
4483 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4484 ... this file, and...
4485 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4486 ... this file, and...
4487 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4488 ... this file, and...
4489 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4490 ... this file, and...
4491 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4492 ... this file, and...
4493 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4494 ... this file into...
4495 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4496 file.
4497
27f9add3
TS
4498 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4499 Make failure observable.
4500
21f3a236
JJ
45012016-04-12 Jakub Jelinek <jakub@redhat.com>
4502
4503 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4504 field.
4505 * target.c (gomp_target_fallback_firstprivate,
4506 gomp_target_unshare_firstprivate): Removed.
4507 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4508 before waiting for dependencies.
4509 (gomp_target_task_fn): Don't copy firstprivate vars here.
4510 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4511 firstprivate_copies here.
4512 (gomp_create_target_task): Don't initialize firstprivate_copies field.
4513 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4514 explicit/implicit firstprivate.
4515
c42cfb5c
CP
45162016-04-08 Cesar Philippidis <cesar@codesourcery.com>
4517
4518 PR lto/70289
4519 PR ipa/70348
4520 PR tree-optimization/70373
4521 PR middle-end/70533
4522 PR middle-end/70534
4523 PR middle-end/70535
4524 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4525 test.
4526 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4527 test.
4528 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4529 test.
4530 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4531 test.
4532 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4533 test.
4534 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4535 test.
4536 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4537 test.
4538 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4539 test.
4540 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4541 test.
4542 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
4543 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
4544 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
4545 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
4546 test.
4547 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
4548 test.
4549 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
4550 test.
4551 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
4552 test.
4553 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
4554 coverage.
4555 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4556 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4557 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
4558 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
4559 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
4560 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
4561 coverage.
4562 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4563 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4564 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4565 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4566 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
4567 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
4568 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
4569 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
4570 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
4571 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4572 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4573 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4574 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4575 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4576 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
4577
2620c80d
TS
45782016-03-30 Thomas Schwinge <thomas@codesourcery.com>
4579 James Norris <jnorris@codesourcery.com>
4580 Nathan Sidwell <nathan@codesourcery.com>
4581 Julian Brown <julian@codesourcery.com>
4582 Cesar Philippidis <cesar@codesourcery.com>
4583 Chung-Lin Tang <cltang@codesourcery.com>
4584 Tom de Vries <tom@codesourcery.com>
4585
4586 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
4587 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4588 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4589 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
4590 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4591 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4592 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4593 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4594 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4595 XFAIL.
4596 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4597 Incorporate...
4598 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
4599 file.
4600 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
4601 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
4602 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
4603 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
4604 Likewise.
4605 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4606 Likewise.
4607 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4608 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
4609 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4610 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4611 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4612 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4613 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4614 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4615 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4616 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
4617 Likewise.
4618 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
4619 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4620 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
4621 file...
4622 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
4623 file into...
4624 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
4625 file. Update.
4626 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
4627 file.
4628 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
4629 Likewise.
4630 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
4631 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
4632 ... this new file. Update.
4633 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
4634 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
4635 ... this new file. Update.
4636 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
4637 file. Incorporate...
4638 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
4639 file, and...
4640 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
4641 file, and...
4642 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
4643 file.
4644 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
4645
ce83104b
TS
46462016-03-29 Thomas Schwinge <thomas@codesourcery.com>
4647
4648 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
4649 set-torture-options.
4650
6e0df3b7
TS
46512016-03-24 Thomas Schwinge <thomas@codesourcery.com>
4652
4653 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
4654 gcc-dg-runtest.
4655 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4656 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
4657 -fno-builtin-acc_on_device instead of -O0.
4658 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
4659 -O0.
4660 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4661 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
4662 Likewise.
4663 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4664 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4665 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4666 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4667 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4668 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4669 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4670 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4671 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4672 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4673 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4674 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4675 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4677 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4678 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4679 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4680 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4681 Don't specify -O2.
4682 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4683 Likewise.
4684 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4685 Likewise.
4686
f9c8babb
ML
46872016-03-24 Martin Liska <mliska@suse.cz>
4688
4689 * plugin/plugin-hsa.c (packet_store_release): New function
4690 that is taken from the HSA runtime manual.
4691 (GOMP_OFFLOAD_run): Use the function.
4692
04833609
JJ
46932016-03-23 Jakub Jelinek <jakub@redhat.com>
4694
4695 PR c++/70376
4696 * testsuite/libgomp.c++/pr70376.C: New test.
4697
d79ee524
TV
46982016-03-23 Tom de Vries <tom@codesourcery.com>
4699
4700 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4701 initialization of lresult and lvresult.
4702 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4703
b6d1f2b5
JN
47042016-03-23 James Norris <jnorris@codesourcery.com>
4705 Daichi Fukuoka <dc-fukuoka@sgi.com>
4706
4707 PR libgomp/69414
4708 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4709 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4710 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4711 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4712
7397fce2
ML
47132016-03-23 Martin Liska <mliska@suse.cz>
4714
4715 PR hsa/70337
4716 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4717 argument just in case a dispatched kernel uses that argument.
4718
ee2e7d51
TS
47192016-03-16 Thomas Schwinge <thomas@codesourcery.com>
4720
4721 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4722 -ftree-parallelize-loops/-fopenacc changes.
4723 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4724 Likewise.
4725 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4726 Likewise.
4727 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4728 Likewise.
4729 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4730 Likewise.
4731 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4732 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4733
be9f7143
TS
47342016-03-13 Thomas Schwinge <thomas@codesourcery.com>
4735
4736 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4737 always_ld_library_path the path to libgcc_s.
4738
f6c1032d
CP
47392016-03-10 Cesar Philippidis <cesar@codesourcery.com>
4740
4741 PR testsuite/70009
4742 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4743
5a6452e6
TV
47442016-03-09 Tom de Vries <tom@codesourcery.com>
4745
4746 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4747 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4748 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4749 Same.
4750 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4751 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4752 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4753 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4754
96a71bd5
MJ
47552016-03-07 Martin Jambor <mjambor@suse.cz>
4756
4757 * testsuite/lib/libgomp.exp
4758 (check_effective_target_hsa_offloading_selected_nocache): New.
4759 (check_effective_target_hsa_offloading_selected): Likewise.
4760 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4761 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4762 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4763 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4764 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4765 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4766 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4767 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4768 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4769 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4770 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4771 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4772 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4773 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4774 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4775 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4776 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4777
02e0b5b2
MJ
47782016-03-07 Martin Jambor <mjambor@suse.cz>
4779
4780 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4781 non-shared memory accelerators.
4782 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4783 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4784 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4785 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4786 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4787 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4788 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4789 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4790 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4791
45548f30
MJ
47922016-03-07 Martin Jambor <mjambor@suse.cz>
4793
4794 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4795 ALWAYS_CFLAGS.
4796
da3d46cb
JJ
47972016-03-02 Jakub Jelinek <jakub@redhat.com>
4798
4799 PR libgomp/69555
4800 * testsuite/libgomp.c++/pr69555-1.C: New test.
4801 * testsuite/libgomp.c++/pr69555-2.C: New test.
4802
622174b2
KM
48032016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4804 Martin Jambor <mjambor@suse.cz>
4805
4806 * testsuite/lib/libgomp.exp
4807 (check_effective_target_offload_device_shared_as): New proc.
4808 * testsuite/libgomp.c++/declare_target-1.C: New test.
4809
e6861a99
IV
48102016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4811
4812 PR driver/68463
4813 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4814
f99c3557
TS
48152016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4816
4817 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4818 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4819 dims.
4820 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4821 -ftree-parallelize-loops/-fopenacc changes.
4822 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4823 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4824 Likewise.
4825 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4826 Likewise.
4827 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4828 Likewise.
4829 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4830 Likewise.
4831 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4832 Likewise.
4833 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4834 Likewise.
4835 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4836 Likewise.
4837 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4838 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4839 Likewise.
4840 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4841 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4842 Likewise.
4843 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4844 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4845 Likewise.
4846
d5ace3b5
CP
48472016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4848
4849 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4850
f3609a89
JJ
48512016-02-19 Jakub Jelinek <jakub@redhat.com>
4852
4853 PR driver/69805
4854 * testsuite/libgomp.c/pr69805.c: New test.
4855
2175df99
TV
48562016-02-16 Tom de Vries <tom@codesourcery.com>
4857
4858 PR lto/67709
4859 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4860
17b6426c
TV
48612016-02-09 Tom de Vries <tom@codesourcery.com>
4862
4863 PR tree-optimization/69599
4864 * testsuite/libgomp.c/omp-nested-3.c: New test.
4865 * testsuite/libgomp.c/pr46032-2.c: New test.
4866 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4867 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4868
34df756c
TV
48692016-02-09 Tom de Vries <tom@codesourcery.com>
4870
4871 PR lto/69707
4872 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4873
5854ee30
AM
48742016-02-02 Alexander Monakov <amonakov@ispras.ru>
4875
4876 * testsuite/libgomp.c/target-31.c: Fix testcase.
4877
e70b6ad7
AM
48782016-02-02 Alexander Monakov <amonakov@ispras.ru>
4879
4880 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4881 clause.
4882 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4883 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4884 reduction and map clauses.
4885 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4886
bd78a45f
JN
48872016-02-02 James Norris <jnorris@codesourcery.com>
4888
4889 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4890
41d809d3
TS
48912016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4892
18f60146
TS
4893 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4894 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4895
1a06f5e6
TS
4896 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4897 cases.
4898
033ff3d1
TS
4899 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4900 variables.
4901 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4902 (hsa_kmt_lib): Set variables.
4903 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4904 always_ld_library_path.
4905 * Makefile.in: Regenerate.
4906 * configure: Likewise.
4907 * testsuite/Makefile.in: Likewise.
4908
4a88d9b7
TS
4909 * plugin/configfrag.ac (offload_additional_options)
4910 (offload_additional_lib_paths): Don't amend for hsa offloading.
4911 * configure: Regenerate.
4912
41d809d3
TS
4913 * plugin/configfrag.ac: Don't configure for offloading target if
4914 we don't build the corresponding plugin.
4915 * configure: Regenerate.
4916
b6adbb9f
NS
49172016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4918
4919 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4920 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4921
8dfdb419
TV
49222016-01-26 Tom de Vries <tom@codesourcery.com>
4923
4924 PR tree-optimization/69110
4925 * testsuite/libgomp.c/pr69110.c: New test.
4926
02ef53f2
RB
49272016-01-25 Richard Biener <rguenther@suse.de>
4928
4929 PR lto/69393
4930 * testsuite/libgomp.c++/pr69393.C: New testcase.
4931
eb4048f2
IV
49322016-01-22 Ilya Verbin <ilya.verbin@intel.com>
4933
4934 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
4935 function wasn't mapped to the device with non-shared memory.
4936
b235cdd5
IV
49372016-01-20 Ilya Verbin <ilya.verbin@intel.com>
4938
4939 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
4940
b2b40051
MJ
49412016-01-19 Martin Jambor <mjambor@suse.cz>
4942 Martin Liska <mliska@suse.cz>
4943
4944 * plugin/Makefrag.am: Add HSA plugin requirements.
4945 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
4946 (HSA_RUNTIME_LIB): Likewise.
4947 (HSA_RUNTIME_CPPFLAGS): Likewise.
4948 (HSA_RUNTIME_INCLUDE): New substitution.
4949 (HSA_RUNTIME_LIB): Likewise.
4950 (HSA_RUNTIME_LDFLAGS): Likewise.
4951 (hsa-runtime): New configure option.
4952 (hsa-runtime-include): Likewise.
4953 (hsa-runtime-lib): Likewise.
4954 (PLUGIN_HSA): New substitution variable.
4955 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
4956 configure options.
4957 (PLUGIN_HSA_CPPFLAGS): Likewise.
4958 (PLUGIN_HSA_LDFLAGS): Likewise.
4959 (PLUGIN_HSA_LIBS): Likewise.
4960 Check that we have access to HSA run-time.
4961 * libgomp-plugin.h (offload_target_type): New element
4962 OFFLOAD_TARGET_TYPE_HSA.
4963 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
4964 args.
4965 (bool gomp_create_target_task): Updated.
4966 (gomp_device_descr): Extra parameter of run_func and async_run_func,
4967 new field can_run_func.
4968 * libgomp_g.h (GOMP_target_ext): Update prototype.
4969 * oacc-host.c (host_run): Added a new parameter args.
4970 * target.c (calculate_firstprivate_requirements): New function.
4971 (copy_firstprivate_data): Likewise.
4972 (gomp_target_fallback_firstprivate): Use them.
4973 (gomp_target_unshare_firstprivate): New function.
4974 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
4975 devices.
4976 (GOMP_target): Do host fallback for all shared memory devices. Do not
4977 pass any args to plugins.
4978 (GOMP_target_ext): Introduce device-specific argument parameter args.
4979 Allow host fallback if device shares memory. Do not remap data if
4980 device has shared memory.
4981 (gomp_target_task_fn): Likewise. Also treat shared memory devices
4982 like host fallback for mappings.
4983 (GOMP_target_data): Treat shared memory devices like host fallback.
4984 (GOMP_target_data_ext): Likewise.
4985 (GOMP_target_update): Likewise.
4986 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
4987 gomp_create_target_task.
4988 (GOMP_target_enter_exit_data): Likewise.
4989 (omp_target_alloc): Treat shared memory devices like host fallback.
4990 (omp_target_free): Likewise.
4991 (omp_target_is_present): Likewise.
4992 (omp_target_memcpy): Likewise.
4993 (omp_target_memcpy_rect): Likewise.
4994 (omp_target_associate_ptr): Likewise.
4995 (gomp_load_plugin_for_device): Also load can_run.
4996 * task.c (GOMP_PLUGIN_target_task_completion): Free
4997 firstprivate_copies.
4998 (gomp_create_target_task): Accept new argument args and store it to
4999 ttask.
5000 * plugin/plugin-hsa.c: New file.
5001
5d7804a9
TV
50022016-01-18 Tom de Vries <tom@codesourcery.com>
5003
5004 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5005 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5006 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5007 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5008 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5009 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5010 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5011 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5012 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5013 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5014 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5015 Same.
5016 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5017 Same.
5018 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5019 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5020 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5021 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5022 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5023 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5024 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5025 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5026 Same.
5027 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5028
cb11f3cf
JJ
50292016-01-15 Jakub Jelinek <jakub@redhat.com>
5030
5031 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5032
33a126a6
CP
50332016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5034
5035 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5036
cdf6119d
JN
50372016-01-12 James Norris <jnorris@codesourcery.com>
5038
5039 * libgomp.texi: Updates for OpenACC.
5040
0d58938e
AM
50412016-01-11 Alexander Monakov <amonakov@ispras.ru>
5042
5043 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5044
95918b49
L
50452016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5046
5047 PR fortran/66680
5048 * testsuite/libgomp.fortran/pr66680.f90: New test.
5049
8fc708b7
JJ
50502016-01-07 Jakub Jelinek <jakub@redhat.com>
5051
5052 PR middle-end/68960
5053 * testsuite/libgomp.c/pr68960.c: New test.
5054
e9b596c1
NS
50552016-01-06 Nathan Sidwell <nathan@acm.org>
5056
1a14faf2 5057 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
5058 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5059
21fa2a29
JJ
50602016-01-04 Jakub Jelinek <jakub@redhat.com>
5061
818ab71a
JJ
5062 Update copyright years.
5063
21fa2a29
JJ
5064 * libgomp.texi: Bump @copying's copyright year.
5065
9310efbc
NS
50662015-12-31 Nathan Sidwell <nathan@acm.org>
5067
5068 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5069 dg-additional-options syntax.
5070 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5071 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5072 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5073 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5074 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5075 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5076 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5077 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5078 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5079 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5080 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5081 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5082 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5083 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5084 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5085 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5086 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5087 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5088
4a38b02b
IV
50892015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5090
5091 * libgomp.h (REFCOUNT_LINK): Define.
5092 (struct splay_tree_key_s): Add link_key.
5093 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5094 Replace target address of the pointer with target address of newly
5095 mapped object in the splay tree. Set link pointer on target to the
5096 device address of the mapped object.
5097 (gomp_unmap_vars): Restore target address of the pointer in the splay
5098 tree for REFCOUNT_LINK objects after unmapping.
5099 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5100 declare target link" objects.
5101 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5102 "omp declare target link" objects, which were mapped for the image.
5103 (gomp_exit_data): Restore target address of the pointer in the splay
5104 tree for REFCOUNT_LINK objects after unmapping.
5105 * testsuite/libgomp.c/target-link-1.c: New file.
5106
d84ffc0a
IV
51072015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5108
5109 * libgomp.h (gomp_device_state): New enum.
5110 (struct gomp_device_descr): Replace is_initialized with state.
5111 (gomp_fini_device): Remove declaration.
5112 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5113 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5114 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5115 (acc_set_device_type): Use state instead of is_initialized.
5116 (acc_set_device_num): Likewise.
5117 * target.c (resolve_device): Use state instead of is_initialized.
5118 Do not initialize finalized device.
5119 (gomp_map_vars): Do nothing if device is finalized.
5120 (gomp_unmap_vars): Likewise.
5121 (gomp_update): Likewise.
5122 (GOMP_offload_register_ver): Use state instead of is_initialized.
5123 (GOMP_offload_unregister_ver): Likewise.
5124 (gomp_init_device): Likewise.
5125 (gomp_unload_device): Likewise.
5126 (gomp_fini_device): Remove.
5127 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5128 (GOMP_target): Go to host fallback if device is finalized.
5129 (GOMP_target_ext): Likewise.
5130 (gomp_exit_data): Do nothing if device is finalized.
5131 (gomp_target_task_fn): Go to host fallback if device is finalized.
5132 (gomp_target_fini): New static function.
5133 (gomp_target_init): Use state instead of is_initialized.
5134 Call gomp_target_fini at exit.
5135
76680678
TV
51362015-12-09 Tom de Vries <tom@codesourcery.com>
5137
5138 PR tree-optimization/68716
5139 * testsuite/libgomp.c/omp-nested-2.c: New test.
5140
ff7a55bf
TS
51412015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5142
5143 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5144 target openacc_nvidia_accel_selected.
5145 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5146 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5147 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5148 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5149
37d5ad46
JB
51502015-12-01 Julian Brown <julian@codesourcery.com>
5151 James Norris <James_Norris@mentor.com>
5152
5153 * oacc-parallel.c (GOACC_host_data): New function.
5154 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5155 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5156 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5157 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5158 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5159 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5160 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5161
db941d7e
CP
51622015-11-30 James Norris <jnorris@codesourcery.com>
5163 Cesar Philippidis <cesar@codesourcery.com>
5164
5165 libgomp/
5166 * libgomp.oacc-fortran/routine-5.f90: New test.
5167 * libgomp.oacc-fortran/routine-7.f90: New test.
5168 * libgomp.oacc-fortran/routine-9.f90: New test.
5169
e0ca27c5
TV
51702015-11-30 Tom de Vries <tom@codesourcery.com>
5171
5172 PR tree-optimization/46032
5173 * testsuite/libgomp.c/pr46032.c: New test.
5174
aec17bfe
JJ
51752015-11-27 Jakub Jelinek <jakub@redhat.com>
5176
8e4e4719
JJ
5177 PR libgomp/68579
5178 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5179 (gomp_create_target_task): Call it before freeing
5180 GOMP_TARGET_TASK_DATA tasks.
5181
aec17bfe
JJ
5182 PR c/63326
5183 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5184 in between case label and OpenMP standalone directives.
5185 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5186
6cfe90e6
DE
51872015-11-26 David Edelsohn <dje.gcc@gmail.com>
5188
5189 * configure: Regenerate.
5190
0e65fd7d
JJ
51912015-11-26 Jakub Jelinek <jakub@redhat.com>
5192
5193 * testsuite/libgomp.c/target-35.c: New test.
5194
dc7a8b4b
JN
51952015-11-22 James Norris <jnorris@codesourcery.com>
5196 Cesar Philippidis <cesar@codesourcery.com>
5197
5198 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5199 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5200 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5201 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5202 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5203
48a78aee
JJ
52042015-11-20 Jakub Jelinek <jakub@redhat.com>
5205
5206 PR middle-end/68221
5207 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5208 * testsuite/libgomp.c/reduction-12.c: Likewise.
5209 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5210 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5211
2d256816
NS
52122015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5213
5214 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5215 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5216 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5217 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5218 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5219 and fix.
5220 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5221 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5222
33f47f42
NS
52232015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5224
5225 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5226 worker & gang cases.
5227 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5228
3d7bfee0
CP
52292015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5230
5231 * config/nvptx/priority_queue.c: New file.
5232
00b9bd52
JJ
52332015-11-14 Jakub Jelinek <jakub@redhat.com>
5234
5235 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5236 sections.
5237
e4606348
JJ
52382015-11-14 Jakub Jelinek <jakub@redhat.com>
5239 Aldy Hernandez <aldyh@redhat.com>
5240 Ilya Verbin <ilya.verbin@intel.com>
5241
5242 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5243 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5244 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5245 iterators or IV by chunk size.
5246 * parallel.c (gomp_resolve_num_threads): Don't assume that
5247 if thr->ts.team is non-NULL, then pool must be non-NULL.
5248 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5249 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5250 GOMP_PLUGIN_target_task_completion.
5251 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5252 * Makefile.in: Regenerate.
5253 * libgomp.h: Shuffle prototypes and forward definitions around so
5254 priority queues can be defined.
5255 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5256 (enum gomp_target_task_state): New enum.
5257 (struct gomp_target_task): Add state, tgt, task and team fields.
5258 (gomp_create_target_task): Change return type to bool, add
5259 state argument.
5260 (gomp_target_task_fn): Change return type to bool.
5261 (struct gomp_device_descr): Add async_run_func.
5262 (struct gomp_task): Remove children, next_child, prev_child,
5263 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5264 Add pnode field.
5265 (struct gomp_taskgroup): Remove children.
5266 Add taskgroup_queue.
5267 (struct gomp_team): Change task_queue type to a priority queue.
5268 (splay_compare): Define inline.
5269 (priority_queue_offset): New.
5270 (priority_node_to_task): New.
5271 (task_to_priority_node): New.
5272 * oacc-mem.c: Do not include splay-tree.h.
5273 * priority_queue.c: New file.
5274 * priority_queue.h: New file.
5275 * splay-tree.c: Do not include splay-tree.h.
5276 (splay_tree_foreach_internal): New.
5277 (splay_tree_foreach): New.
5278 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5279 (splay_tree_callback): Define typedef.
5280 * target.c (splay_compare): Move to libgomp.h.
5281 (GOMP_target): Don't adjust *thr in any way around running offloaded
5282 task.
5283 (GOMP_target_ext): Likewise. Handle target nowait.
5284 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5285 return value from gomp_create_target_task, if false, fallthrough
5286 as if no dependencies exist.
5287 (gomp_target_task_fn): Change return type to bool, return true
5288 if the task should have another part scheduled later. Handle
5289 target nowait.
5290 (gomp_load_plugin_for_device): Initialize async_run.
5291 * task.c (gomp_init_task): Initialize children_queue.
5292 (gomp_clear_parent_in_list): New.
5293 (gomp_clear_parent_in_tree): New.
5294 (gomp_clear_parent): Handle priorities.
5295 (GOMP_task): Likewise.
5296 (priority_queue_move_task_first,
5297 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5298 New functions.
5299 (gomp_create_target_task): Use priority queues. Change return type
5300 to bool, add state argument, return false if for async
5301 {{enter,exit} data,update} constructs no dependencies need to be
5302 waited for, handle target nowait. Set task->fn to NULL instead of
5303 gomp_target_task_fn.
5304 (verify_children_queue): Remove.
5305 (priority_list_upgrade_task): New.
5306 (priority_queue_upgrade_task): New.
5307 (verify_task_queue): Remove.
5308 (priority_list_downgrade_task): New.
5309 (priority_queue_downgrade_task): New.
5310 (gomp_task_run_pre): Use priority queues.
5311 Abstract code out to priority_queue_downgrade_task.
5312 (gomp_task_run_post_handle_dependers): Use priority queues.
5313 (gomp_task_run_post_remove_parent): Likewise.
5314 (gomp_task_run_post_remove_taskgroup): Likewise.
5315 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
5316 tasks specially.
5317 (GOMP_taskwait): Likewise.
5318 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
5319 priority-queue_upgrade_task.
5320 (GOMP_taskgroup_start): Use priority queues.
5321 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
5322 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
5323 barrier.
5324 * taskloop.c (GOMP_taskloop): Handle priorities.
5325 * team.c (gomp_new_team): Call priority_queue_init.
5326 (free_team): Call priority_queue_free.
5327 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5328 team created for target nowait in implicit parallel region.
5329 (gomp_team_start): For nested check, test thr->ts.level instead of
5330 thr->ts.team != NULL.
5331 * testsuite/libgomp.c/doacross-3.c: New test.
5332 * testsuite/libgomp.c/ordered-5.c: New test.
5333 * testsuite/libgomp.c/priority.c: New test.
5334 * testsuite/libgomp.c/target-31.c: New test.
5335 * testsuite/libgomp.c/target-32.c: New test.
5336 * testsuite/libgomp.c/target-33.c: New test.
5337 * testsuite/libgomp.c/target-34.c: New test.
5338
1d1ab74f
NS
53392015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5340
c5a64cfe
NS
5341 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5342
1d1ab74f
NS
5343 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5344 loop is sequential.
5345
dd3c1b14
NS
53462015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5347
5348 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5349 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5350
6e232ba4
JN
53512015-11-12 James Norris <jnorris@codesourcery.com>
5352 Joseph Myers <joseph@codesourcery.com>
5353
5354 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5355 * oacc-parallel.c (GOACC_declare): New function.
5356 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5357 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5358 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5359 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5360 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5361
fffeedeb
NS
53622015-11-12 Nathan Sidwell <nathan@codesourcery.com>
5363
5364 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5365
182190f2
NS
53662015-11-1 Nathan Sidwell <nathan@codesourcery.com>
5367
5368 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5369 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5370
36fa0f5f
NS
53712015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5372
d350c40c
NS
5373 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5374 inadvertent commit.
5375
53762015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5377
36fa0f5f
NS
5378 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5379 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5380 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5381 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5382 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5383
66a5f0b4
TS
53842015-11-06 Thomas Schwinge <thomas@codesourcery.com>
5385
5386 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5387 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5388
e01d41e5
JJ
53892015-11-05 Jakub Jelinek <jakub@redhat.com>
5390 Ilya Verbin <ilya.verbin@intel.com>
5391
5392 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5393 GOMP_loop_nonmonotonic_dynamic_start,
5394 GOMP_loop_nonmonotonic_guided_next,
5395 GOMP_loop_nonmonotonic_guided_start,
5396 GOMP_loop_ull_nonmonotonic_dynamic_next,
5397 GOMP_loop_ull_nonmonotonic_dynamic_start,
5398 GOMP_loop_ull_nonmonotonic_guided_next,
5399 GOMP_loop_ull_nonmonotonic_guided_start,
5400 GOMP_parallel_loop_nonmonotonic_dynamic,
5401 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5402 (GOMP_target_41): Renamed to ...
5403 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5404 arguments.
5405 (GOMP_target_data_41): Renamed to ...
5406 (GOMP_target_data_ext): ... this.
5407 (GOMP_target_update_41): Renamed to ...
5408 (GOMP_target_update_ext): ... this.
5409 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5410 GOMP_target_data_ext and GOMP_target_update_ext instead of
5411 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5412 Export GOMP_loop_nonmonotonic_dynamic_next,
5413 GOMP_loop_nonmonotonic_dynamic_start,
5414 GOMP_loop_nonmonotonic_guided_next,
5415 GOMP_loop_nonmonotonic_guided_start,
5416 GOMP_loop_ull_nonmonotonic_dynamic_next,
5417 GOMP_loop_ull_nonmonotonic_dynamic_start,
5418 GOMP_loop_ull_nonmonotonic_guided_next,
5419 GOMP_loop_ull_nonmonotonic_guided_start,
5420 GOMP_parallel_loop_nonmonotonic_dynamic and
5421 GOMP_parallel_loop_nonmonotonic_guided.
5422 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5423 GOMP_parallel_loop_nonmonotonic_guided,
5424 GOMP_loop_nonmonotonic_dynamic_start,
5425 GOMP_loop_nonmonotonic_guided_start,
5426 GOMP_loop_nonmonotonic_dynamic_next,
5427 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5428 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5429 GOMP_loop_ull_nonmonotonic_guided_start,
5430 GOMP_loop_ull_nonmonotonic_dynamic_next,
5431 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5432 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5433 functions.
5434 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
5435 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5436 Use gomp_map_val function.
5437 (gomp_target_fallback_firstprivate): New static function.
5438 (GOMP_target_41): Renamed to ...
5439 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5440 arguments. Move firstprivate fallback handling into a new
5441 function.
5442 (GOMP_target_data_41): Renamed to ...
5443 (GOMP_target_data_ext): ... this.
5444 (GOMP_target_update_41): Renamed to ...
5445 (GOMP_target_update_ext): ... this.
5446 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5447 gomp_map_0len_lookup instead of gomp_map_lookup.
5448 (omp_target_is_present): Use gomp_map_0len_lookup instead of
5449 gomp_map_lookup.
5450 * testsuite/libgomp.c/target-28.c: Likewise.
5451 * testsuite/libgomp.c/monotonic-1.c: New test.
5452 * testsuite/libgomp.c/monotonic-2.c: New test.
5453 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5454 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5455 * testsuite/libgomp.c/pr66199-5.c: New test.
5456 * testsuite/libgomp.c/pr66199-6.c: New test.
5457 * testsuite/libgomp.c/pr66199-7.c: New test.
5458 * testsuite/libgomp.c/pr66199-8.c: New test.
5459 * testsuite/libgomp.c/pr66199-9.c: New test.
5460 * testsuite/libgomp.c/reduction-11.c: New test.
5461 * testsuite/libgomp.c/reduction-12.c: New test.
5462 * testsuite/libgomp.c/reduction-13.c: New test.
5463 * testsuite/libgomp.c/reduction-14.c: New test.
5464 * testsuite/libgomp.c/reduction-15.c: New test.
5465 * testsuite/libgomp.c/target-12.c (main): Adjust for
5466 omp_target_is_present change for one-past-last element.
5467 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5468 the same var is both mapped and privatized.
5469 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5470 handling of zero-length array sections.
5471 * testsuite/libgomp.c/target-28.c: New test.
5472 * testsuite/libgomp.c/target-29.c: New test.
5473 * testsuite/libgomp.c/target-30.c: New test.
5474 * testsuite/libgomp.c/target-teams-1.c: New test.
5475 * testsuite/libgomp.c++/member-6.C: New test.
5476 * testsuite/libgomp.c++/member-7.C: New test.
5477 * testsuite/libgomp.c++/monotonic-1.C: New test.
5478 * testsuite/libgomp.c++/monotonic-2.C: New test.
5479 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5480 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5481 * testsuite/libgomp.c++/pr66199-3.C: New test.
5482 * testsuite/libgomp.c++/pr66199-4.C: New test.
5483 * testsuite/libgomp.c++/pr66199-5.C: New test.
5484 * testsuite/libgomp.c++/pr66199-6.C: New test.
5485 * testsuite/libgomp.c++/pr66199-7.C: New test.
5486 * testsuite/libgomp.c++/pr66199-8.C: New test.
5487 * testsuite/libgomp.c++/pr66199-9.C: New test.
5488 * testsuite/libgomp.c++/reduction-11.C: New test.
5489 * testsuite/libgomp.c++/reduction-12.C: New test.
5490 * testsuite/libgomp.c++/target-13.C: New test.
5491 * testsuite/libgomp.c++/target-14.C: New test.
5492 * testsuite/libgomp.c++/target-15.C: New test.
5493 * testsuite/libgomp.c++/target-16.C: New test.
5494 * testsuite/libgomp.c++/target-17.C: New test.
5495 * testsuite/libgomp.c++/target-18.C: New test.
5496 * testsuite/libgomp.c++/target-19.C: New test.
5497
ccc8282b
NS
54982015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5499
5500 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5501 and reduction copy.
5502 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5503 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5504 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5505 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5506 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5507 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5508 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5509 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5510 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5511 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5512 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5513 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5514 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5515 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5516
5d6823a2
NS
55172015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5518
5519 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5520 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5521 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5522 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5523 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5524 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5525 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5526 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5527
5c06742f
NS
55282015-11-03 Nathan Sidwell <nathan@codesourcery.com>
5529
5530 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5531 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5532 (GOMP_OFFLOAD_openacc_parallel): Likewise.
5533 * oacc-host.c (host_openacc_exec): Likewise.
5534 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5535
4bf9e5a8
TS
55362015-11-03 Julian Brown <julian@codesourcery.com>
5537 Thomas Schwinge <thomas@codesourcery.com>
5538
5539 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5540 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5541 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5542 Likewise.
5543 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
5544 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
5545
55462015-11-03 James Norris <jnorris@codesourcery.com>
5547
5548 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
5549 file.
5550 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
5551 Likewise.
5552 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
5553 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
5554 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5555 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
5556 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5557
a0e701d8
NS
55582015-10-29 Nathan Sidwell <nathan@codesourcery.com>
5559
5560 * openacc.h (enum acc_device_t): Reformat. Ensure layout
5561 compatibility.
5562 (enum acc_async_t): Reformat.
5563 (acc_on_device): Declare compatible with builtin and provide C++
5564 wrapper.
5565 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
5566
41e977ac
TS
55672015-10-29 Thomas Schwinge <thomas@codesourcery.com>
5568 Cesar Philippidis <cesar@codesourcery.com>
5569
5570 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5571 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
5572 ... this. Add a description of the test at the top of the file.
5573 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
5574 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
5575 ... this. Add a description of the test at the top of the file.
5576
e3091406
NS
55772015-10-28 Nathan Sidwell <nathan@codesourcery.com>
5578
5579 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
5580 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
5581 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
5582 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
5583 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
5584 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
5585
a1c1908b
NS
55862015-10-27 Nathan Sidwell <nathan@codesourcery.com>
5587
5588 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
5589 dimensions.
5590
b3962a4a
TS
55912015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5592
5593 PR testsuite/68063
5594 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
5595
88bae6f4
TS
55962015-10-27 James Norris <jnorris@codesourcery.com>
5597
5598 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
5599 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
5600
8baa7864
TS
56012015-10-26 Thomas Schwinge <thomas@codesourcery.com>
5602
bdeb752c
TS
5603 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
5604 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5605
ecd4fd43
TS
5606 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
5607 acc_device_nvidia usage.
5608 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5609 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5610 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5611
aa8b7d30
TS
5612 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
5613 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
5614
7c8f138d
TS
5615 PR libgomp/66518
5616 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
5617
8baa7864
TS
5618 PR libgomp/65437
5619 PR libgomp/66518
5620 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
5621 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
5622
88ebcde5
TV
56232015-10-23 Tom de Vries <tom@codesourcery.com>
5624
5625 PR testsuite/68063
5626 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
5627
9ef83c04
NS
56282015-10-20 Nathan Sidwell <nathan@codesourcery.com>
5629
5630 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
5631 vector_length.
5632 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5633
3837c6d6
IV
56342015-10-14 Ilya Verbin <ilya.verbin@intel.com>
5635 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
5636
5637 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
5638 to 0 when mapnum is 0.
5639
ac8a1965
SH
56402015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
5641
5642 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
5643 Cast to int from int32_t.
5644
d9a6bd32
JJ
56452015-10-13 Jakub Jelinek <jakub@redhat.com>
5646 Aldy Hernandez <aldyh@redhat.com>
5647 Ilya Verbin <ilya.verbin@intel.com>
5648
5649 * config/linux/affinity.c (omp_get_place_num_procs,
5650 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5651 * config/linux/doacross.h: New file.
5652 * config/posix/affinity.c (omp_get_place_num_procs,
5653 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5654 * config/posix/doacross.h: New file.
5655 * env.c: Include gomp-constants.h.
5656 (struct gomp_task_icv): Rename run_sched_modifier to
5657 run_sched_chunk_size.
5658 (gomp_max_task_priority_var): New variable.
5659 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
5660 (handle_omp_display_env): Change _OPENMP value from 201307 to
5661 201511. Print OMP_MAX_TASK_PRIORITY.
5662 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
5663 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
5664 chunk_size and run_sched_modifier to run_sched_chunk_size.
5665 (omp_get_max_task_priority, omp_get_initial_device,
5666 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
5667 omp_get_partition_place_nums): New functions.
5668 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
5669 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5670 to chunk_size.
5671 (omp_get_num_places_, omp_get_place_num_procs_,
5672 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5673 omp_get_place_proc_ids_8_, omp_get_place_num_,
5674 omp_get_partition_num_places_, omp_get_partition_place_nums_,
5675 omp_get_partition_place_nums_8_, omp_get_initial_device_,
5676 omp_get_max_task_priority_): New functions.
5677 * libgomp_g.h (GOMP_loop_doacross_static_start,
5678 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5679 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5680 GOMP_loop_ull_doacross_dynamic_start,
5681 GOMP_loop_ull_doacross_guided_start,
5682 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5683 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5684 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5685 GOMP_target_data_41, GOMP_target_update_41,
5686 GOMP_target_enter_exit_data): New prototypes.
5687 (GOMP_task): Add prototype argument.
5688 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5689 (struct gomp_doacross_work_share): New type.
5690 (struct gomp_work_share): Add doacross field.
5691 (struct gomp_task_icv): Rename run_sched_modifier to
5692 run_sched_chunk_size.
5693 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5694 GOMP_TASK_UNDEFERRED. Add comments.
5695 (struct gomp_task_depend_entry): Add comments.
5696 (struct gomp_task): Likewise.
5697 (struct gomp_taskgroup): Likewise.
5698 (struct gomp_target_task): New type.
5699 (struct gomp_team): Add comment.
5700 (gomp_get_place_proc_ids_8, gomp_doacross_init,
5701 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5702 gomp_create_target_task, gomp_target_task_fn): New prototypes.
5703 (struct target_var_desc): New type.
5704 (struct target_mem_desc): Adjust comment. Use struct
5705 target_var_desc instead of splay_tree_key for list.
5706 (REFCOUNT_INFINITY): Define.
5707 (struct splay_tree_key_s): Remove copy_from field.
5708 (struct gomp_device_descr): Add dev2dev_func field.
5709 (enum gomp_map_vars_kind): New enum.
5710 (gomp_map_vars): Add one argument.
5711 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5712 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5713 omp_get_place_num_procs, omp_get_place_num_procs_,
5714 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5715 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5716 omp_get_place_num_, omp_get_partition_num_places,
5717 omp_get_partition_num_places_, omp_get_partition_place_nums,
5718 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5719 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5720 omp_target_free, omp_target_is_present, omp_target_memcpy,
5721 omp_target_memcpy_rect, omp_target_associate_ptr and
5722 omp_target_disassociate_ptr.
5723 (GOMP_4.0.2): Renamed to ...
5724 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
5725 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5726 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5727 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5728 GOMP_loop_doacross_static_start, GOMP_doacross_post,
5729 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5730 GOMP_loop_ull_doacross_guided_start,
5731 GOMP_loop_ull_doacross_runtime_start,
5732 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5733 GOMP_doacross_ull_wait.
5734 * libgomp.texi: Document omp_get_max_task_priority.
5735 Rename modifier argument to chunk_size for omp_set_schedule and
5736 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
5737 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5738 to run_sched_chunk_size renaming.
5739 (GOMP_loop_ordered_runtime_start): Likewise.
5740 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5741 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5742 GOMP_parallel_loop_runtime_start): New functions.
5743 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5744 to run_sched_chunk_size renaming.
5745 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5746 GOMP_loop_doacross_guided_start): New functions or aliases.
5747 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5748 run_sched_modifier to run_sched_chunk_size renaming.
5749 (GOMP_loop_ull_ordered_runtime_start): Likewise.
5750 (gomp_loop_ull_doacross_static_start,
5751 gomp_loop_ull_doacross_dynamic_start,
5752 gomp_loop_ull_doacross_guided_start,
5753 GOMP_loop_ull_doacross_runtime_start): New functions.
5754 (GOMP_loop_ull_doacross_static_start,
5755 GOMP_loop_ull_doacross_dynamic_start,
5756 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5757 * oacc-mem.c (acc_map_data, present_create_copy,
5758 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5759 to gomp_map_vars.
5760 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5761 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5762 instead of false to gomp_map_vars.
5763 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5764 * omp.h.in (omp_lock_hint_t): New type.
5765 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5766 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5767 omp_get_place_num, omp_get_partition_num_places,
5768 omp_get_partition_place_nums, omp_get_initial_device,
5769 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5770 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5771 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5772 prototypes.
5773 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5774 (omp_lock_hint_none, omp_lock_hint_uncontended,
5775 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5776 omp_lock_hint_speculative): New parameters.
5777 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5778 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5779 omp_get_place_num, omp_get_partition_num_places,
5780 omp_get_partition_place_nums, omp_get_initial_device,
5781 omp_get_max_task_priority): New interfaces.
5782 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5783 to chunk_size.
5784 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5785 (omp_lock_hint_none, omp_lock_hint_uncontended,
5786 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5787 omp_lock_hint_speculative): New parameters.
5788 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5789 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5790 omp_get_place_num, omp_get_partition_num_places,
5791 omp_get_partition_place_nums, omp_get_initial_device,
5792 omp_get_max_task_priority): New functions and subroutines.
5793 * ordered.c: Include stdarg.h and string.h.
5794 (MAX_COLLAPSED_BITS): Define.
5795 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5796 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5797 GOMP_doacross_ull_wait): New functions.
5798 * target.c: Include errno.h.
5799 (resolve_device): If device is not initialized, call
5800 gomp_init_device on it.
5801 (gomp_map_lookup): New function.
5802 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5803 Don't bump refcount if REFCOUNT_INFINITY. Handle
5804 GOMP_MAP_ALWAYS_TO_P.
5805 (get_kind): Rename is_openacc argument to short_mapkind.
5806 (gomp_map_pointer): Use gomp_map_lookup.
5807 (gomp_map_fields_existing): New function.
5808 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5809 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5810 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5811 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5812 Adjust for tgt->list changed type and copy_from living in there.
5813 (gomp_copy_from_async): Adjust for tgt->list changed type and
5814 copy_from living in there.
5815 (gomp_unmap_vars): Likewise.
5816 (gomp_update): Likewise. Rename is_openacc argument to
5817 short_mapkind. Don't fail if object is not mapped.
5818 (gomp_load_image_to_device): Initialize refcount to
5819 REFCOUNT_INFINITY.
5820 (gomp_target_fallback): New function.
5821 (gomp_get_target_fn_addr): Likewise.
5822 (GOMP_target): Adjust gomp_map_vars caller, use
5823 gomp_get_target_fn_addr and gomp_target_fallback.
5824 (GOMP_target_41): New function.
5825 (gomp_target_data_fallback): New function.
5826 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5827 (GOMP_target_data_41): New function.
5828 (GOMP_target_update): Adjust gomp_update caller.
5829 (GOMP_target_update_41): New function.
5830 (gomp_exit_data, GOMP_target_enter_exit_data,
5831 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5832 omp_target_is_present, omp_target_memcpy,
5833 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5834 omp_target_associate_ptr, omp_target_disassociate_ptr,
5835 gomp_load_plugin_for_device): New functions.
5836 * task.c: Include gomp-constants.h. Include taskloop.c
5837 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5838 (gomp_task_handle_depend): New function.
5839 (GOMP_task): Use it. Add priority argument. Use
5840 gomp-constant.h constants instead of hardcoded numbers.
5841 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5842 (gomp_create_target_task): New function.
5843 (verify_children_queue, verify_taskgroup_queue,
5844 verify_task_queue): New functions.
5845 (gomp_task_run_pre): Call verify_*_queue functions.
5846 If an upcoming tied task is about to leave the sibling or
5847 taskgroup queues in an invalid state, adjust appropriately.
5848 Remove taskgroup argument. Add comments.
5849 (gomp_task_run_post_handle_dependers): Add comments.
5850 (gomp_task_run_post_remove_parent): Likewise.
5851 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5852 (GOMP_taskwait): Likewise. Add comments.
5853 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5854 problem such that the first non parent_depends_on task does not
5855 end up at the end of the children queue.
5856 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5857 GOMP_TASK_UNDEFERRED.
5858 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5859 * taskloop.c: New file.
5860 * testsuite/lib/libgomp.exp
5861 (check_effective_target_offload_device_nonshared_as): New proc.
5862 * testsuite/libgomp.c/affinity-2.c: New test.
5863 * testsuite/libgomp.c/doacross-1.c: New test.
5864 * testsuite/libgomp.c/doacross-2.c: New test.
5865 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5866 Add map clause to target.
5867 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5868 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5869 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5870 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5871 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5872 Likewise.
5873 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5874 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5875 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5876 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5877 not defined. Use those where needed.
5878 * testsuite/libgomp.c/for-4.c: New test.
5879 * testsuite/libgomp.c/for-5.c: New test.
5880 * testsuite/libgomp.c/for-6.c: New test.
5881 * testsuite/libgomp.c/linear-1.c: New test.
5882 * testsuite/libgomp.c/ordered-4.c: New test.
5883 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5884 only allowed on the loop iterator.
5885 * testsuite/libgomp.c/pr66199-3.c: New test.
5886 * testsuite/libgomp.c/pr66199-4.c: New test.
5887 * testsuite/libgomp.c/reduction-7.c: New test.
5888 * testsuite/libgomp.c/reduction-8.c: New test.
5889 * testsuite/libgomp.c/reduction-9.c: New test.
5890 * testsuite/libgomp.c/reduction-10.c: New test.
5891 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5892 map(tofrom:s).
5893 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5894 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5895 * testsuite/libgomp.c/target-11.c: New test.
5896 * testsuite/libgomp.c/target-12.c: New test.
5897 * testsuite/libgomp.c/target-13.c: New test.
5898 * testsuite/libgomp.c/target-14.c: New test.
5899 * testsuite/libgomp.c/target-15.c: New test.
5900 * testsuite/libgomp.c/target-16.c: New test.
5901 * testsuite/libgomp.c/target-17.c: New test.
5902 * testsuite/libgomp.c/target-18.c: New test.
5903 * testsuite/libgomp.c/target-19.c: New test.
5904 * testsuite/libgomp.c/target-20.c: New test.
5905 * testsuite/libgomp.c/target-21.c: New test.
5906 * testsuite/libgomp.c/target-22.c: New test.
5907 * testsuite/libgomp.c/target-23.c: New test.
5908 * testsuite/libgomp.c/target-24.c: New test.
5909 * testsuite/libgomp.c/target-25.c: New test.
5910 * testsuite/libgomp.c/target-26.c: New test.
5911 * testsuite/libgomp.c/target-27.c: New test.
5912 * testsuite/libgomp.c/taskloop-1.c: New test.
5913 * testsuite/libgomp.c/taskloop-2.c: New test.
5914 * testsuite/libgomp.c/taskloop-3.c: New test.
5915 * testsuite/libgomp.c/taskloop-4.c: New test.
5916 * testsuite/libgomp.c++/ctor-13.C: New test.
5917 * testsuite/libgomp.c++/doacross-1.C: New test.
5918 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5919 Replace offload_device with offload_device_nonshared_as.
5920 * testsuite/libgomp.c++/for-12.C: New test.
5921 * testsuite/libgomp.c++/for-13.C: New test.
5922 * testsuite/libgomp.c++/for-14.C: New test.
5923 * testsuite/libgomp.c++/linear-1.C: New test.
5924 * testsuite/libgomp.c++/member-1.C: New test.
5925 * testsuite/libgomp.c++/member-2.C: New test.
5926 * testsuite/libgomp.c++/member-3.C: New test.
5927 * testsuite/libgomp.c++/member-4.C: New test.
5928 * testsuite/libgomp.c++/member-5.C: New test.
5929 * testsuite/libgomp.c++/ordered-1.C: New test.
5930 * testsuite/libgomp.c++/reduction-5.C: New test.
5931 * testsuite/libgomp.c++/reduction-6.C: New test.
5932 * testsuite/libgomp.c++/reduction-7.C: New test.
5933 * testsuite/libgomp.c++/reduction-8.C: New test.
5934 * testsuite/libgomp.c++/reduction-9.C: New test.
5935 * testsuite/libgomp.c++/reduction-10.C: New test.
5936 * testsuite/libgomp.c++/reference-1.C: New test.
5937 * testsuite/libgomp.c++/simd14.C: New test.
5938 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
5939 * testsuite/libgomp.c++/target-5.C: New test.
5940 * testsuite/libgomp.c++/target-6.C: New test.
5941 * testsuite/libgomp.c++/target-7.C: New test.
5942 * testsuite/libgomp.c++/target-8.C: New test.
5943 * testsuite/libgomp.c++/target-9.C: New test.
5944 * testsuite/libgomp.c++/target-10.C: New test.
5945 * testsuite/libgomp.c++/target-11.C: New test.
5946 * testsuite/libgomp.c++/target-12.C: New test.
5947 * testsuite/libgomp.c++/taskloop-1.C: New test.
5948 * testsuite/libgomp.c++/taskloop-2.C: New test.
5949 * testsuite/libgomp.c++/taskloop-3.C: New test.
5950 * testsuite/libgomp.c++/taskloop-4.C: New test.
5951 * testsuite/libgomp.c++/taskloop-5.C: New test.
5952 * testsuite/libgomp.c++/taskloop-6.C: New test.
5953 * testsuite/libgomp.c++/taskloop-7.C: New test.
5954 * testsuite/libgomp.c++/taskloop-8.C: New test.
5955 * testsuite/libgomp.c++/taskloop-9.C: New test.
5956 * testsuite/libgomp.fortran/affinity1.f90: New test.
5957 * testsuite/libgomp.fortran/affinity2.f90: New test.
5958
1f600fea
TV
59592015-10-13 Tom de Vries <tom@codesourcery.com>
5960
5961 PR tree-optimization/67476
5962 * testsuite/libgomp.c/autopar-3.c: New test.
5963 * testsuite/libgomp.c/autopar-4.c: New test.
5964 * testsuite/libgomp.c/autopar-5.c: New test.
5965 * testsuite/libgomp.c/autopar-6.c: New test.
5966 * testsuite/libgomp.c/autopar-7.c: New test.
5967 * testsuite/libgomp.c/autopar-8.c: New test.
5968
058a654b
JN
59692015-10-12 James Norris <jnorris@codesourcery.com>
5970
5971 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
5972 initializer.
5973
9e531d37
DM
59742015-10-09 David Malcolm <dmalcolm@redhat.com>
5975
5976 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
5977 using load_gcc_lib.
5978
113020dc
TS
59792015-10-02 Thomas Schwinge <thomas@codesourcery.com>
5980
5981 * oacc-ptx.h: Remove file, moving its content into...
5982 * config/nvptx/fortran.c: ... here...
5983 * config/nvptx/oacc-init.c: ..., here...
5984 * config/nvptx/oacc-parallel.c: ..., and here.
5985 * config/nvptx/openacc.f90: New file.
5986 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
5987 (link_ptx): Don't link in predefined bits of PTX code.
5988
cc3cd79b
NS
59892015-09-30 Nathan Sidwell <nathan@codesourcery.com>
5990 Bernd Schmidt <bernds@codesourcery.com>
5991
5992 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
5993 (struct targ_ptx_obj): New.
5994 (nvptx_tdata): Move earlier, change data format.
5995 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
5996 objects.
5997 (GOMP_OFFLOAD_load_image): Adjust.
5998
4e2a5450
TS
59992015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6000
6001 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6002 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6003 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6004 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6005 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6006 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6007 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6008 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6009 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6010 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6011 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6012 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6013 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6014 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6015 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6016 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6017 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6018 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6019 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6020 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6021 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6022 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6023 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6024 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6025 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6026 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6027 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6028 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6030 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6032 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6034 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6035 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6036 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6040 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6041 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6043 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6044 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6045 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6047 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6048 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6049 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6050 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6051 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6052 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6053 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6054 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6055 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6056 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6057 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6058 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6059 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6060 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6061 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6062 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6063 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6064
164453bb
NS
60652015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6066
6067 * oacc-init.c (acc_on_device): Force optimization level.
6068
a12a0437
NS
60692015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6070
6071 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6072 (cuda_errlist): Delete.
6073 (cuda_error): Reimplement.
6074
3e32ee19
NS
60752015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6076
6077 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6078 array.
6079 * libgomp.map (GOACC_parallel_keyed): New.
6080 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6081 all callers.
6082 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6083 and take keyed varargs list. Adjust call to exec_func.
6084 (GOACC_parallel): Force host fallback.
6085 * libgomp_g.h (GOACC_parallel): Remove.
6086 (GOACC_parallel_keyed): Declare.
6087 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
6088 (stuct targ_gn_descriptor): Replace name field with launch field.
6089 (nvptx_exec): Lose separate geometry args, take array. Process
6090 dynamic dimensions and adjust.
6091 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6092 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6093 data.
6094 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6095 passing.
6096 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6097 passing.
6098
6bb4c3e2
CLT
60992015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6100
6101 PR libgomp/67141
6102 * oacc-int.h (goacc_host_init): Add declaration.
6103 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6104 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6105
74032f47 61062015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 6107 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
6108
6109 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
6110 match o/p.
6111 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6112 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6113 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6114 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6115 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6116
97875f4a
JJ
61172015-09-03 Jakub Jelinek <jakub@redhat.com>
6118
6119 * configure.tgt: Add missing ;; in between nvptx and rtems
6120 snippets.
6121
06441dd5
SH
61222015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6123
6124 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6125 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6126 (gomp_thread_pool_reservoir): Add priority member.
6127 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6128 priority.
6129 (parse_thread_pools): Likewise.
6130 * team.c (gomp_team_start): Call configuration provided
6131 gomp_adjust_thread_attr(). Destroy thread attributes if
6132 necessary.
6133 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6134
66c59f92
SH
61352015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6136
6137 * config/posix/pool.h: New.
6138 * config/rtems/pool.h: Likewise.
6139 * config/rtems/proc.c: Likewise.
6140 * libgomp.h (gomp_thread_destructor): Declare.
6141 * team.c: Include configuration provided "pool.h".
6142 (gomp_get_thread_pool): Define in configuration.
6143 (gomp_team_end): Call configuration defined
6144 gomp_release_thread_pool().
6145
13c41b2e
SH
61462015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6147
6148 * config/rtems/bar.c: New.
6149 * config/rtems/bar.h: Likewise.
6150 * config/rtems/mutex.c: Likewise.
6151 * config/rtems/mutex.h: Likewise.
6152 * config/rtems/sem.c: Likewise.
6153 * config/rtems/sem.h: Likewise.
6154 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6155 <sys/lock.h> header file.
6156 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6157 supported by Newlib.
6158 * configure: Regenerate.
6159
7892ec67
SH
61602015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6161
6162 * team.c (gomp_new_thread_pool): Delete and move content to ...
6163 (gomp_get_thread_pool): ... new function. Allocate and
6164 initialize thread pool on demand.
6165 (get_last_team): Use gomp_get_thread_pool().
6166 (gomp_team_start): Delete thread pool initialization.
6167
1b96e9a4
TV
61682015-09-03 Tom de Vries <tom@codesourcery.com>
6169
6170 PR tree-optimization/65637
6171 * testsuite/libgomp.c/autopar-2.c: New test.
6172
3ff2d74e
TV
61732015-08-29 Tom de Vries <tom@codesourcery.com>
6174
6175 PR tree-optimization/46193
6176 * testsuite/libgomp.c/pr46193.c: New test.
6177
2a21ff19
NS
61782015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6179
6180 libgomp/
6181 * libgomp.map: Add 4.0.2 version.
6182 * target.c (offload_image_descr): Add version field.
6183 (gomp_load_image_to_device): Add version argument. Adjust plugin
6184 call. Improve load mismatch diagnostic.
6185 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6186 call.
6187 (GOMP_offload_regster): Make stub function, move bulk to ...
6188 (GOMP_offload_register_ver): ... here. Process version argument.
6189 (GOMP_offload_unregister): Make stub function, move bulk to ...
6190 (GOMP_offload_unregister_ver): ... here. Process version argument.
6191 (gomp_init_device): Process version field.
6192 (gomp_unload_device): Process version field.
6193 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6194 macros. Check plugin version.
6195 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6196 loader and unloader types.
6197 * oacc-host.c: Include gomp-constants.h.
6198 (host_version): New.
6199 (host_load_image, host_unload_image): Adjust.
6200 (host_dispatch): Add host_version.
6201 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6202 (GOMP_OFFLOAD_version): New.
6203 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6204 (GOMP_OFFLOAD_unload_image): Likewise.
6205 * plugin/plugin-host.c: Include gomp-constants.h.
6206 (GOMP_OFFLOAD_version): New.
6207 (GOMP_OFFLOAD_load_image): Add version arg.
6208 (GOMP_OFFLOAD_unload_image): Likewise.
6209
1358a747
TV
62102015-08-24 Tom de Vries <tom@codesourcery.com>
6211
6212 PR tree-optimization/65468
6213 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6214
6be5c241
TV
62152015-08-24 Tom de Vries <tom@codesourcery.com>
6216
6217 PR tree-optimization/65468
6218 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6219
bfe7ac89
JV
62202015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6221
6222 PR libgomp/66761
6223 PR libgomp/67303
6224 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6225 (gomp_iter_guided_next): Idem.
6226 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6227 (gomp_iter_ull_guided_next): Idem.
6228 * config/linux/wait.h (do_spin): Idem.
6229
b97e78b7
TS
62302015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6231
6232 * libgomp-plugin.h (enum offload_target_type): Remove
6233 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6234 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6235 * openacc.h (enum acc_device_t): Likewise.
6236 * openacc_lib.h: Likewise.
6237 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6238 (acc_on_device): Just use __builtin_acc_on_device.
6239 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6240 of acc_on_device builtin.
6241 * plugin/plugin-host.h: Remove file.
6242 * plugin/plugin-host.c: Likewise, but salvage some content into...
6243 * oacc-host.c: ... this file.
6244 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6245 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6246 * Makefile.in: Regenerate.
6247 * configure: Likewise.
6248 * testsuite/lib/libgomp.exp
6249 (check_effective_target_openacc_host_nonshm_selected): Remove.
6250 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6251 ACC_DEVICE_TYPE=host_nonshm.
6252 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6253 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6254 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6255 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6256 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6257 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6258
44a7d18d
TS
62592015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6260 Jakub Jelinek <jakub@redhat.com>
6261
6262 * config/nvptx/affinity.c: New file.
6263 * config/nvptx/alloc.c: Likewise.
6264 * config/nvptx/bar.c: Likewise.
6265 * config/nvptx/barrier.c: Likewise.
6266 * config/nvptx/critical.c: Likewise.
6267 * config/nvptx/env.c: Likewise.
6268 * config/nvptx/error.c: Likewise.
6269 * config/nvptx/fortran.c: Likewise.
6270 * config/nvptx/iter.c: Likewise.
6271 * config/nvptx/iter_ull.c: Likewise.
6272 * config/nvptx/libgomp-plugin.c: Likewise.
6273 * config/nvptx/lock.c: Likewise.
6274 * config/nvptx/loop.c: Likewise.
6275 * config/nvptx/loop_ull.c: Likewise.
6276 * config/nvptx/mutex.c: Likewise.
6277 * config/nvptx/oacc-async.c: Likewise.
6278 * config/nvptx/oacc-cuda.c: Likewise.
6279 * config/nvptx/oacc-host.c: Likewise.
6280 * config/nvptx/oacc-init.c: Likewise.
6281 * config/nvptx/oacc-mem.c: Likewise.
6282 * config/nvptx/oacc-parallel.c: Likewise.
6283 * config/nvptx/oacc-plugin.c: Likewise.
6284 * config/nvptx/omp-lock.h: Likewise.
6285 * config/nvptx/ordered.c: Likewise.
6286 * config/nvptx/parallel.c: Likewise.
6287 * config/nvptx/proc.c: Likewise.
6288 * config/nvptx/ptrlock.c: Likewise.
6289 * config/nvptx/sections.c: Likewise.
6290 * config/nvptx/sem.c: Likewise.
6291 * config/nvptx/single.c: Likewise.
6292 * config/nvptx/splay-tree.c: Likewise.
6293 * config/nvptx/target.c: Likewise.
6294 * config/nvptx/task.c: Likewise.
6295 * config/nvptx/team.c: Likewise.
6296 * config/nvptx/time.c: Likewise.
6297 * config/nvptx/work.c: Likewise.
6298 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6299 * configure: Regenerate.
6300 * configure.tgt (config_path): Set to "nvptx" for target
6301 nvptx*-*-*.
6302
96a2d174
TS
63032015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6304
6305 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6306
9ebddeb0
NS
63072015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6308
6309 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6310 (cuda_errlist): Constify.
6311 (errmsg): Move into ...
6312 (cuda_error): ... here. Make smaller.
6313 (_XSTR, _STR): Delete.
6314 (cuda_synames): Delete.
6315 (verify_device_library): Delete.
6316 (nvptx_init): Don't call it.
6317
12efb1d7
TV
63182015-07-28 Tom de Vries <tom@codesourcery.com>
6319
6320 * testsuite/libgomp.c/uns-outer-4.c: New test.
6321
710ee218
CP
63222015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6323
6324 * testsuite/libgomp.c/pr66714.c: New test.
6325
27c4ac7d
MB
63262015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
6327
6328 PR libgomp/66950
6329 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6330 (fib_ref): New function.
6331 (fib): Correct corner cases in the recursion.
6332 (main): Replace the non-simd loop with fib_ref call.
6333 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6334 subroutine.
6335 (fibonacci): Lower the parameter N to 30. Correct accordingly check
6336 for the last array element value. Replace the non-simd loop with
6337 fib_ref call. Remove redundant b_ref array. Remove the comparison
6338 of the last array element with according Fibonacci sequence element.
6339 (fib): Correct corner cases in the recursion.
6340
22be2349
NS
63412015-07-21 Nathan Sidwell <nathan@codesourcery.com>
6342
6343 * target.c (gomp_offload_image_to_device): Rename to ...
6344 (gomp_load_image_to_device): ... here.
6345 (GOMP_offload_register): Adjust call.
6346 (gomp_init_device): Likewise.
6347 (gomp_unload_image_from_device): New. Broken out of ...
6348 (GOMP_offload_unregister): ... here. Call it.
6349 (gomp_unload_device): New.
6350 * libgomp.h (gomp_unload_device): Declare.
6351 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6352 mem maps.
6353
f3e9a059
NS
63542015-07-20 Nathan Sidwell <nathan@codesourcery.com>
6355
a091118d
NS
6356 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6357 wait=-specific if.
6358 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6359 !=0 condition.
6360 (goacc_waits): Move !num_waits handling to ...
6361 (GOACC_wait): ... here, the only caller that might have zero waits.
6362
f3e9a059
NS
6363 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6364 (struct ptx_image_data): Move earlier, add fns field.
6365 (struct ptx_device): Add images and image_lock fields.
6366 (ptx_images, ptx_image_lock): Delete.
6367 (nvptx_open_device): Initialize images and image_lock fields.
6368 (nvptx_close_device): Destroy image_lock.
6369 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6370 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6371 fields.
6372
afb2d80b
NS
63732015-07-17 Nathan Sidwell <nathan@codesourcery.com>
6374
896c28a7
NS
6375 * target.c (GOMP_offload_register): Use int for device type arg.
6376 (GOMP_offload_unregister): Likewise.
6377
ebe4a560
NS
6378 * target.c (struct_offload_image_descr): Constify host_table.
6379 (gomp_offload_image_to_device): Likewise.
6380 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6381
afb2d80b
NS
6382 * libgomp.h (gomp_device_descr): Constify target data arguments.
6383 * target.c (struct offload_image_descr): Constify target_data.
6384 (gomp_offload_image_to_device): Likewise.
6385 (GOMP_offload_register): Likewise.
6386 (GOMP_offload_unrefister): Likewise.
6387 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6388 GOMP_OFFLOAD_unload_image): Constify target data.
6389 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6390 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6391
a4cb876d
NS
63922015-07-16 Nathan Sidwell <nathan@codesourcery.com>
6393
6394 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6395 Workaround driver library const error.
6396 (struct nvptx_tdata, nvptx_tdata_t): New.
6397 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6398 type.
6399
28ef6a27
MB
64002015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
6401
6402 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6403 of EPS parameter from integer to real.
6404 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6405 type of EPS parameter from integer to real.
6406
6dba0113
SH
64072015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6408
6409 * team.c (get_last_team): New.
6410 (gomp_new_team): Recycle last non-nested team if possible.
6411 (gomp_team_end): Move team work share list free lock destruction
6412 to ...
6413 (free_team): ... here.
6414
4c1cb4da
MB
64152015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
6416
6417 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6418 and ref from int to double. Replaced their comparison with
6419 an inequality of their difference and EPS.
6420 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6421 comparison of pri and a reference number with an inequality of their
6422 difference and EPS.
6423 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6424 the comparison of sum and sum_ref with an inequality of their
6425 difference and EPS.
6426 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6427 the comparison of pri and a reference number with an inequality of
6428 their difference and EPS.
6429
343587dc
MB
64302015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
6431
6432 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6433 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6434 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6435 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6436 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6437 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6438 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6439 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6440 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6441 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6442 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6443 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6444 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6445 variables.
6446 (vec_mult): Likewise. Add #pragma omp taskwait.
6447 (main): Adjust caller.
6448 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6449 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6450 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6451 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6452 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6453 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6454 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6455 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6456 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6457 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6458 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6459 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6460 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6461 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6462 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6463 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6464 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6465 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6466 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6467 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6468 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6469 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6470 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6471 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6472 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6473 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6474 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6475 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6476 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6477 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6478 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6479 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6480 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6481 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6482 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6483 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6484 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6485 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6486 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6487 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6488 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6489 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6490 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6491 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6492 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6493 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6494 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6495 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6496 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6497 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6498 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6499 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6500 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6501 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6502 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6503 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6504 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6505 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6506 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6507 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6508 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6509 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6510 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6511 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6512 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6513 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6514 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6515 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6516 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6517 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6518 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6519 (vec_mult): Add !$omp taskwait.
6520 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6521 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6522 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6523 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6524 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6525 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6526 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6527 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6528 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6529 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6530 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6531 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6532 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6533 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6534 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6535 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6536 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6537 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6538 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6539 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6540 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6541 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6542 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
6543 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
6544 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
6545 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
6546 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
6547 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
6548 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
6549 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
6550 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
6551 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
6552 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
6553 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
6554 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
6555 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
6556 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
6557 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
6558 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
6559 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
6560 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
6561 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
6562 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
6563 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
6564 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
6565 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
6566 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
6567 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
6568 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
6569 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
6570 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
6571 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
6572 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
6573 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
6574 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
6575 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
6576 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
6577 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
6578 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
6579 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
6580 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
6581 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
6582 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
6583 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
6584 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
6585 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
6586 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
6587
9f620bf1
TV
65882015-07-10 Tom de Vries <tom@codesourcery.com>
6589
6590 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
6591 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
6592
a92defda
TS
65932015-07-08 Thomas Schwinge <thomas@codesourcery.com>
6594
6595 PR libgomp/65099
6596 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
6597 in a 64-bit configuration.
6598 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
6599 offloading testing if no such device is available.
6600 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6601 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6602
cadb53a5
TV
66032015-07-08 Tom de Vries <tom@codesourcery.com>
6604
6605 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
6606 second call to f.
6607 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6608
712cb0bb
TV
66092015-07-07 Tom de Vries <tom@codesourcery.com>
6610
6611 PR tree-optimization/66642
6612 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
6613 iteration count case.
6614 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
6615 function, factor out of ...
6616 (main): ... here. Test low iteration count case.
6617
e5210c77
SH
66182015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
6619
6620 * libgomp.h (gomp_thread_pool): Comment last_team field.
6621
f70360e7
UB
66222015-07-02 Uros Bizjak <ubizjak@gmail.com>
6623
6624 * testsuite/libgomp.c++/pr66702-1.C: Require
6625 vect_simd_clones effective target.
6626 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
6627
b451c271
TV
66282015-06-30 Tom de Vries <tom@codesourcery.com>
6629
6630 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6631 already set. Use DEFAULT_CFLAGS in dg-runtest.
6632 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
6633 "-O2".
6634
f8e89d9f
TV
66352015-06-30 Tom de Vries <tom@codesourcery.com>
6636
6637 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6638 already set. Use DEFAULT_CFLAGS in dg-runtest.
6639 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
6640 * testsuite/libgomp.c++/pr64824.C: Same.
6641 * testsuite/libgomp.c++/pr64868.C: Same.
6642 * testsuite/libgomp.c++/pr66199-1.C: Same.
6643 * testsuite/libgomp.c++/pr66199-2.C: Same.
6644 * testsuite/libgomp.c++/target-2.C: Same.
6645 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
6646 -std=<standard> option.
6647 * testsuite/libgomp.c++/udr-11.C: Same.
6648 * testsuite/libgomp.c++/udr-12.C: Same.
6649 * testsuite/libgomp.c++/udr-13.C: Same.
6650 * testsuite/libgomp.c++/udr-14.C: Same.
6651 * testsuite/libgomp.c++/udr-15.C: Same.
6652 * testsuite/libgomp.c++/udr-16.C: Same.
6653 * testsuite/libgomp.c++/udr-17.C: Same.
6654 * testsuite/libgomp.c++/udr-18.C: Same.
6655 * testsuite/libgomp.c++/udr-19.C: Same.
6656 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
6657 * testsuite/libgomp.c++/simd-1.C: Same.
6658 * testsuite/libgomp.c++/simd-2.C: Same.
6659 * testsuite/libgomp.c++/simd-3.C: Same.
6660 * testsuite/libgomp.c++/simd-4.C: Same.
6661 * testsuite/libgomp.c++/simd-5.C: Same.
6662 * testsuite/libgomp.c++/simd-6.C: Same.
6663 * testsuite/libgomp.c++/simd-7.C: Same.
6664 * testsuite/libgomp.c++/simd-8.C: Same.
6665 * testsuite/libgomp.c++/simd-9.C: Same.
6666 * testsuite/libgomp.c++/simd10.C: Same.
6667 * testsuite/libgomp.c++/simd11.C: Same.
6668 * testsuite/libgomp.c++/simd12.C: Same.
6669 * testsuite/libgomp.c++/simd13.C: Same.
6670
3446fe48
JJ
66712015-06-30 Jakub Jelinek <jakub@redhat.com>
6672
6673 PR middle-end/66702
6674 * testsuite/libgomp.c++/pr66702-1.C: New test.
6675 * testsuite/libgomp.c++/pr66702-2.C: New test.
6676
8a36714a
TV
66772015-06-30 Tom de Vries <tom@codesourcery.com>
6678
6679 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6680 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6681 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6682 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6683
4f75d608
TV
66842015-06-30 Tom de Vries <tom@codesourcery.com>
6685
6686 PR tree-optimization/66652
6687 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6688 using restrict pointers.
6689 (main): Add arguments to calls to f.
6690 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6691
6d9d1eeb
AT
66922015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
6693
6694 * configure.ac: Fix check for header <sys/sysctl.h>.
6695 * configure: Regenerate.
6696 * config.h.in: Likewise.
6697
1222f22b
TV
66982015-06-23 Tom de Vries <tom@codesourcery.com>
6699
6700 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6701 abort.
6702 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6703
d7efbbf6
TS
67042015-06-19 Thomas Schwinge <thomas@codesourcery.com>
6705
bfcd036f
TS
6706 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6707 acc_device_nvidia.
6708
d7efbbf6
TS
6709 PR libgomp/66518
6710 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6711 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6712
d7bfc710
TV
67132015-06-15 Tom de Vries <tom@codesourcery.com>
6714
6715 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
6716 dg-additional-options for any remaining options.
6717 * testsuite/libgomp.c/atomic-2.c: Same.
6718 * testsuite/libgomp.c/atomic-4.c: Same.
6719 * testsuite/libgomp.c/atomic-5.c: Same.
6720 * testsuite/libgomp.c/atomic-6.c: Same.
6721 * testsuite/libgomp.c/autopar-1.c: Same.
6722 * testsuite/libgomp.c/copyin-1.c: Same.
6723 * testsuite/libgomp.c/copyin-2.c: Same.
6724 * testsuite/libgomp.c/copyin-3.c: Same.
6725 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6726 * testsuite/libgomp.c/nestedfn-5.c: Same.
6727 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6728 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6729 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6730 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6731 * testsuite/libgomp.c/pr32362-1.c: Same.
6732 * testsuite/libgomp.c/pr32362-2.c: Same.
6733 * testsuite/libgomp.c/pr32362-3.c: Same.
6734 * testsuite/libgomp.c/pr39591-1.c: Same.
6735 * testsuite/libgomp.c/pr39591-2.c: Same.
6736 * testsuite/libgomp.c/pr39591-3.c: Same.
6737 * testsuite/libgomp.c/pr58392.c: Same.
6738 * testsuite/libgomp.c/pr58756.c: Same.
6739 * testsuite/libgomp.c/simd-1.c: Same.
6740 * testsuite/libgomp.c/simd-10.c: Same.
6741 * testsuite/libgomp.c/simd-11.c: Same.
6742 * testsuite/libgomp.c/simd-12.c: Same.
6743 * testsuite/libgomp.c/simd-13.c: Same.
6744 * testsuite/libgomp.c/simd-14.c: Same.
6745 * testsuite/libgomp.c/simd-15.c: Same.
6746 * testsuite/libgomp.c/simd-2.c: Same.
6747 * testsuite/libgomp.c/simd-3.c: Same.
6748 * testsuite/libgomp.c/simd-4.c: Same.
6749 * testsuite/libgomp.c/simd-5.c: Same.
6750 * testsuite/libgomp.c/simd-6.c: Same.
6751 * testsuite/libgomp.c/simd-7.c: Same.
6752 * testsuite/libgomp.c/simd-8.c: Same.
6753 * testsuite/libgomp.c/simd-9.c: Same.
6754
fb5b5352
TV
67552015-06-15 Tom de Vries <tom@codesourcery.com>
6756
6757 * testsuite/libgomp.c/pr35625.c: Fix typo.
6758
ca431bef
TV
67592015-06-15 Tom de Vries <tom@codesourcery.com>
6760
6761 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6762 in dg-options.
6763 * testsuite/libgomp.c/atomic-3.c: Same.
6764 * testsuite/libgomp.c/debug-1.c: Same.
6765 * testsuite/libgomp.c/nqueens-1.c: Same.
6766 * testsuite/libgomp.c/pr26171.c: Same.
6767 * testsuite/libgomp.c/pr48591.c: Same.
6768 * testsuite/libgomp.c/pr64824.c: Same.
6769 * testsuite/libgomp.c/pr64868.c: Same.
6770 * testsuite/libgomp.c/pr66133.c: Same.
6771 * testsuite/libgomp.c/pr66199-1.c: Same.
6772 * testsuite/libgomp.c/pr66199-2.c: Same.
6773 * testsuite/libgomp.c/target-8.c: Same.
6774
0d8a9e20
TV
67752015-06-15 Tom de Vries <tom@codesourcery.com>
6776
6777 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6778 -std={gnu99,c99}.
6779 * testsuite/libgomp.c/for-1.c: Same.
6780 * testsuite/libgomp.c/for-2.c: Same.
6781 * testsuite/libgomp.c/for-3.c: Same.
6782 * testsuite/libgomp.c/pr35625.c: Same.
6783 * testsuite/libgomp.c/pr39154.c: Same.
6784 * testsuite/libgomp.c/simd-16.c: Same.
6785 * testsuite/libgomp.c/simd-17.c: Same.
6786
a6860be9
TV
67872015-06-13 Tom de Vries <tom@codesourcery.com>
6788
6789 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6790
ab3306d2
TV
67912015-06-13 Tom de Vries <tom@codesourcery.com>
6792
6793 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6794 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6795 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6796 (N): Define.
6797 (main): Use N instead of hardcoded constants.
6798
7c82d827
TV
67992015-06-05 Tom de Vries <tom@codesourcery.com>
6800
6801 merge from gomp4 branch:
6802 2015-05-28 Tom de Vries <tom@codesourcery.com>
6803
6804 PR tree-optimization/65443
6805 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6806 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6807 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6808
c469078d
BRF
68092015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6810
6811 * testsuite/libgomp.graphite/bounds.c: Adjust for
6812 cleanup-tree-dump removal.
6813 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6814 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6815 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6816 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6817 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6818 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6819 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6820 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6821 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6822 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6823
bb3caa35
UB
68242015-05-28 Uros Bizjak <ubizjak@gmail.com>
6825
6826 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6827 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6828 (futex_wake) [!__x86_64__]: Ditto.
6829
9fb5fd44
JB
68302015-05-28 Julian Brown <julian@codesourcery.com>
6831
6832 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6833 function comment. Only call gomp_fatal if new argument is true.
6834 (acc_dev_num_out_of_range): New function.
6835 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6836 acc_dev_num_out_of_range as appropriate.
6837 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6838 (acc_get_device_num, acc_set_device_num): Update calls to
6839 resolve_device.
9fb5fd44
JB
6840 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6841 output.
6842
32eaed93
JB
68432015-05-28 Julian Brown <julian@codesourcery.com>
6844
6845 PR libgomp/65742
32eaed93
JB
6846 * oacc-init.c (plugin/plugin-host.h): Include.
6847 (acc_on_device): Check whether we're in an offloaded region for
6848 host_nonshm
6849 plugin. Don't use __builtin_acc_on_device.
6850 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6851 nonshm_exec flag in thread-local data.
6852 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6853 data for host_nonshm plugin.
6854 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6855 for host_nonshm plugin.
6856 * plugin/plugin-host.h: New.
6857
ea023bcf
UB
68582015-05-27 Uros Bizjak <ubizjak@gmail.com>
6859
8ed501f1
UB
6860 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6861
68622015-05-27 Uros Bizjak <ubizjak@gmail.com>
6863
6864 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6865 Declare as int.
6866 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6867 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6868 Declare as int.
6869
68702015-05-27 Uros Bizjak <ubizjak@gmail.com>
6871
bb3caa35 6872 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6873
1716efeb
CLT
68742015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6875
6876 * target.c (gomp_map_pointer): New function abstracting out
6877 GOMP_MAP_POINTER handling.
6878 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6879 gomp_map_pointer().
6880
41b37d5e
JJ
68812015-05-19 Jakub Jelinek <jakub@redhat.com>
6882
6883 PR middle-end/66199
6884 * testsuite/libgomp.c/pr66199-1.c: New test.
6885 * testsuite/libgomp.c/pr66199-2.c: New test.
6886 * testsuite/libgomp.c++/pr66199-1.C: New test.
6887 * testsuite/libgomp.c++/pr66199-2.C: New test.
6888 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6889 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6890
c8319826
JB
68912015-05-19 Julian Brown <julian@codesourcery.com>
6892
6893 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6894 on cuInit failure.
6895
b37dddbc
JJ
68962015-05-13 Jakub Jelinek <jakub@redhat.com>
6897
6898 PR middle-end/66133
6899 * testsuite/libgomp.c/pr66133.c: New test.
6900
55fba601
MH
69012015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6902
6903 * Makefile.in: Regenerated with automake-1.11.6.
6904 * aclocal.m4: Likewise.
6905 * config.h.in: Likewise.
6906 * configure: Likewise.
6907 * testsuite/Makefile.in: Likewise.
6908
1be0899d
JM
69092015-05-08 Jason Merrill <jason@redhat.com>
6910
6911 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6912 _Complex.
6913
6914 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6915
d2463960
JB
69162015-05-06 Julian Brown <julian@codesourcery.com>
6917
6918 * oacc-init.c (acc_device_lock): Add explanatory comment.
6919 (resolve_device): Add comment about locking requirement.
6920 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6921 gomp_init_device and gomp_fini_device calls.
6922 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6923 (acc_get_device_num, acc_set_device_num): Add locking around
6924 resolve_device and gomp_init_device calls.
6925
e38fdba4
JB
69262015-05-06 Julian Brown <julian@codesourcery.com>
6927
6928 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
6929 goacc_thread_lock on error paths.
6930 * oacc-mem.c (lookup_host): Remove locking from function. Note
6931 locking requirement for caller in function comment.
6932 (lookup_dev): Likewise.
6933 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
6934 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
6935 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
6936 Add locking.
6937
ae8ffbbb
TS
69382015-05-05 Thomas Schwinge <thomas@codesourcery.com>
6939
6940 PR testsuite/65205
6941 PR libgomp/65993
6942 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
6943 don't expect "0x" prefix for "%p" format specifier, don't expect
6944 "(nil)" for NULL pointer.
6945 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6946 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6947 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6948 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6949 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6950 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6951 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6952 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6953 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6954 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6955 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6956 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6957 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6958 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6959 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6960 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6961 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6962 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6963 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6964 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6965 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6966 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6967 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6968 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6969 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6970 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6971 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6972 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6973 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
6974 accurately specify what we're looking for.
6975 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6976 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6977 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6978 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6979 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6980
1309f1d2
JN
69812015-04-30 James Norris <jnorris@codesourcery.com>
6982
6983 PR testsuite/65205
6984 * testsuite/lib/libgomp.exp
6985 (check_effective_target_openacc_host_selected)
6986 (check_effective_target_openacc_host_nonshm_selected): New
6987 procedures.
6988 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
6989 dg-shouldfail.
6990 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6991 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
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-2.c: Likewise.
6996 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6997 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6998 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6999 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7000 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7001 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7002 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7003 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7004 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7005 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7006 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7007 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7008 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7009 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7010 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7011 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7012 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7013 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7014 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7015 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7016 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7017 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7018 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7019 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7020 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7021 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7022 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7023 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7024 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7025 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7026 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7027 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7028 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7029 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7030 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7031 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7032 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7033
d93bdab5
JB
70342015-04-08 Julian Brown <julian@codesourcery.com>
7035
7036 * libgomp.h (target_mem_desc: Remove mem_map field.
7037 (acc_dispatch_t): Remove open_device_func, close_device_func,
7038 get_device_num_func, set_device_num_func, target_data members.
7039 Change create_thread_data_func argument to device number instead of
7040 generic pointer.
7041 * oacc-async.c (assert.h): Include.
7042 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7043 (acc_wait_all, acc_wait_all_async): Use current host thread's
7044 active device, not base_dev.
7045 * oacc-cuda.c (acc_get_current_cuda_device)
7046 (acc_get_current_cuda_context, acc_get_cuda_stream)
7047 (acc_set_cuda_stream): Likewise.
7048 * oacc-host.c (host_dispatch): Don't set open_device_func,
7049 close_device_func, get_device_num_func or set_device_num_func.
7050 * oacc-init.c (base_dev, init_key): Remove.
7051 (cached_base_dev): New.
7052 (name_of_acc_device_t): New.
7053 (acc_init_1): Initialise default-numbered device, not zeroth.
7054 (acc_shutdown_1): Close all devices of a given type.
7055 (goacc_destroy_thread): Don't use base_dev.
7056 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7057 (goacc_attach_host_thread_to_device): New.
7058 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7059 (acc_get_num_devices): Don't use base_dev.
7060 (acc_set_device_type): Reimplement.
7061 (acc_get_device_type): Don't use base_dev.
7062 (acc_get_device_num): Tweak logic.
7063 (acc_set_device_num): Likewise.
7064 (acc_on_device): Use acc_get_device_type.
7065 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7066 (goacc_lazy_initialize): Reimplement with acc_init and
7067 goacc_attach_host_thread_to_device.
7068 * oacc-int.h (goacc_thread): Add base_dev field.
7069 (base_dev): Remove extern declaration.
7070 (goacc_attach_host_thread_to_device): Add prototype.
7071 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7072 base_dev.
7073 (acc_free): Likewise.
7074 (acc_memcpy_to_device): Likewise.
7075 (acc_memcpy_from_device): Likewise.
7076 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7077 goacc_lazy_initialize (throughout).
7078 (GOACC_parallel): Use tgt_offset to locate target functions.
7079 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7080 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7081 (gomp_load_plugin_for_device): Remove open_device, close_device,
7082 get_device_num, set_device_num openacc hook initialisation. Don't set
7083 openacc.target_data.
7084 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7085 (GOMP_OFFLOAD_openacc_close_device)
7086 (GOMP_OFFLOAD_openacc_get_device_num)
7087 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7088 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7089 to int.
7090 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7091 (instantiated_devices, ptx_dev_lock): New.
7092 (struct ptx_image_data): New.
7093 (ptx_devices, ptx_images, ptx_image_lock): New.
7094 (fini_streams_for_device): Reorder cuStreamDestroy call.
7095 (nvptx_get_num_devices): Remove forward declaration.
7096 (nvptx_init): Change return type to bool.
7097 (nvptx_fini): Remove.
7098 (nvptx_attach_host_thread_to_device): New.
7099 (nvptx_open_device): Return struct ptx_device* instead of void*.
7100 (nvptx_close_device): Change argument type to struct ptx_device*,
7101 return type to void.
7102 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7103 (kernel_target_data, kernel_host_table): Remove static globals.
7104 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7105 (GOMP_OFFLOAD_init_device): Reimplement.
7106 (GOMP_OFFLOAD_fini_device): Likewise.
7107 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7108 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7109 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7110 (GOMP_OFFLOAD_openacc_open_device)
7111 (GOMP_OFFLOAD_openacc_close_device)
7112 (GOMP_OFFLOAD_openacc_set_device_num)
7113 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7114 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7115 (device number).
7116
7117 testsuite/
7118 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7119
a51df54e
IV
71202015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7121
7122 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7123 * libgomp.h (struct gomp_memory_mapping): Remove.
7124 (struct target_mem_desc): Change type of mem_map from
7125 gomp_memory_mapping * to splay_tree_s *.
7126 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7127 Add load_image_func, unload_image_func.
7128 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7129 Remove offload_regions_registered.
7130 (gomp_init_tables): Remove.
7131 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7132 to splay_tree_s *.
7133 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7134 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7135 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7136 offload_regions_registered.
7137 Initialize load_image_func, unload_image_func, mem_map.root.
7138 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7139 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7140 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7141 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7142 gomp_memory_mapping *. Use dev's lock and splay_tree.
7143 (lookup_dev): Use dev's lock.
7144 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7145 (acc_is_present): Likewise.
7146 (acc_map_data): Likewise.
7147 (acc_unmap_data): Likewise. Use dev's lock.
7148 (present_create_copy): Likewise.
7149 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7150 (update_dev_host): Likewise.
7151 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7152 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7153 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7154 (GOMP_OFFLOAD_get_table): Remove
7155 (GOMP_OFFLOAD_load_image): New function.
7156 (GOMP_OFFLOAD_unload_image): New function.
7157 * target.c (register_lock): New mutex for offload image registration.
7158 (num_devices): Do not guard with PLUGIN_SUPPORT.
7159 (gomp_realloc_unlock): New static function.
7160 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7161 before gomp_fatal.
7162 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7163 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7164 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7165 mem_map's.
7166 (gomp_unmap_vars): Likewise.
7167 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7168 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7169 (gomp_offload_image_to_device): New static function.
7170 (GOMP_offload_register): Add mutex lock.
7171 Call gomp_offload_image_to_device for all initialized devices.
7172 Replace gomp_realloc with gomp_realloc_unlock.
7173 (GOMP_offload_unregister): New function.
7174 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7175 get_table_func from the plugin with calls to init_device_func and
7176 gomp_offload_image_to_device.
7177 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7178 to splay_tree_s *.
7179 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7180 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7181 (GOMP_target_data): Do not call gomp_init_tables.
7182 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7183 (gomp_load_plugin_for_device): Replace register_image and get_table
7184 with load_image and unload_image in DLSYM ().
7185 (gomp_register_images_for_device): Remove function.
7186 (gomp_target_init): Do not initialize current_device.mem_map.*,
7187 current_device.offload_regions_registered.
7188 Remove call to gomp_register_images_for_device.
7189 Do not free offload_images and num_offload_images.
7190
6c384511
JJ
71912015-03-30 Jakub Jelinek <jakub@redhat.com>
7192
7193 PR fortran/65597
7194 * testsuite/libgomp.fortran/pr65597.f90: New test.
7195
3e8165a5
TV
71962015-03-27 Tom de Vries <tom@codesourcery.com>
7197
7198 PR testsuite/65594
7199 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7200 (init, check): New function.
7201 (foo): Change return type to void.
7202 (main): Call init and check.
7203
4d688c9a
TV
72042015-03-27 Tom de Vries <tom@codesourcery.com>
7205
7206 PR testsuite/65594
7207 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7208 (foo): Use M for non-inner loops to scale down test-case.
7209
01c0b3b0
KT
72102015-03-25 Kai Tietz <ktietz@redhat.com>
7211
7212 PR libgomp/64972
7213 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7214 (GOACC_data_start): Likewise.
7215 * target.c (gomp_map_vars): Likewise.
7216
844d9a76
JDA
72172015-03-21 John David Anglin <danglin@gcc.gnu.org>
7218
7219 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7220 hppa*-*-hpux*.
7221
9b65e171
JJ
72222015-03-19 Jakub Jelinek <jakub@redhat.com>
7223
7224 * testsuite/libgomp.c/target-10.c: New test.
7225 * testsuite/libgomp.c++/target-4.C: New test.
7226
db397e2e
IV
72272015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7228
7229 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7230 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7231
cd93945d
SH
72322015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7233
7234 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7235 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7236 (pthread.h): Check for this header file.
7237 * configure: Regenerate.
7238
05deba9f
TV
72392015-02-25 Tom de Vries <tom@codesourcery.com>
7240
7241 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7242 (check_reduction_op, check_reduction_macro, max, min):
7243 Declare.
7244 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7245 function.
7246 (main): Use new functions.
7247
196904d8
IT
72482015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7249
7250 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7251 char * for variables holding dlerror return values.
7252 (DLSYM_OPT): Ditto.
7253
a2818955
TS
72542015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7255
7256 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7257
26f93312
TS
72582015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7259 Cesar Philippidis <cesar@codesourcery.com>
7260
7261 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7262 GOACC_ctaid, and GOACC_nctaid routines.
7263
fa01ffcc
JJ
72642015-02-11 Jakub Jelinek <jakub@redhat.com>
7265
7266 PR c/64824
7267 * testsuite/libgomp.c/atomic-18.c: New test.
7268 * testsuite/libgomp.c++/atomic-16.C: New test.
7269
4886ec8e
JJ
72702015-02-04 Jakub Jelinek <jakub@redhat.com>
7271
7272 PR c/64824
7273 PR c/64868
7274 * testsuite/libgomp.c/pr64824.c: New test.
7275 * testsuite/libgomp.c/pr64868.c: New test.
7276 * testsuite/libgomp.c++/pr64824.C: New test.
7277 * testsuite/libgomp.c++/pr64868.C: New test.
7278
02d3e45e
DE
72792015-02-01 David Edelsohn <dje.gcc@gmail.com>
7280
7281 PR libgomp/64635
7282 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7283 Link with -lpthread.
7284 * config/aix/plugin-suffix.h: Delete.
7285
b5f7a6ca
JH
72862015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7287
7288 PR libgomp/64635
7289 * configure.tgt (*-*-aix*): Use config_path "aix posix".
7290 (*-*-darwin*): Use config_path "bsd darwin posix".
7291 (*-*-hpux*): Use config_path "hpux posix".
7292 * target.c: Add include of plugin-suffix.h and use
7293 SONAME_SUFFIX macro.
7294 * config/aix/plugin-suffix.h: New file.
7295 * config/darwin/plugin-suffix.h: New file.
7296 * config/hpux/plugin-suffix.h: New file.
7297 * config/posix/plugin-suffix.h: New file.
7298
b8910447
JJ
72992015-01-23 Jakub Jelinek <jakub@redhat.com>
7300
7301 PR middle-end/64734
7302 * libgomp.c/pr64734.c: New test.
7303
a0c88d06
TV
73042015-01-23 Tom de Vries <tom@codesourcery.com>
7305
7306 PR libgomp/64672
7307 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7308
1506ae0e
TV
73092015-01-23 Tom de Vries <tom@codesourcery.com>
7310
7311 PR libgomp/64707
7312 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7313 dg-options.
7314
128b26dc
TS
73152015-01-19 Thomas Schwinge <thomas@codesourcery.com>
7316
bed62c21 7317 PR libgomp/64625
128b26dc
TS
7318 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7319 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7320 formal parameter. Update all users.
7321 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7322 Document unused formal parameter.
7323
6e36114c
TS
73242015-01-16 Thomas Schwinge <thomas@codesourcery.com>
7325
7326 * oacc-parallel.c: Don't include <alloca.h>.
7327 (GOACC_parallel): Use gomp_alloca instead of alloca.
7328
973e9808
GP
73292015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
7330
7331 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7332
41dbbb37
TS
73332015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7334 James Norris <jnorris@codesourcery.com>
7335 Tom de Vries <tom@codesourcery.com>
7336 Julian Brown <julian@codesourcery.com>
7337 Cesar Philippidis <cesar@codesourcery.com>
7338 Nathan Sidwell <nathan@codesourcery.com>
7339 Tobias Burnus <burnus@net-b.de>
7340
7341 * Makefile.am (search_path): Add $(top_srcdir)/../include.
7342 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7343 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7344 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7345 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7346 Include $(top_srcdir)/plugin/Makefrag.am.
7347 (nodist_libsubinclude_HEADERS): Add openacc.h.
7348 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7349 openacc.f90, openacc.mod, openacc_kinds.mod.
7350 (omp_lib.mod): Generalize into...
7351 (%.mod): ... this new rule.
7352 (openacc_kinds.mod, openacc.mod): New rules.
7353 * plugin/configfrag.ac: New file.
7354 * configure.ac: Move plugin/offloading support into it. Include
7355 it. Instantiate testsuite/libgomp-test-support.pt.exp.
7356 * plugin/Makefrag.am: New file.
7357 * testsuite/Makefile.am (OFFLOAD_TARGETS)
7358 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7359 export.
7360 (libgomp-test-support.exp): New rule.
7361 (all-local): Depend on it.
7362 * Makefile.in: Regenerate.
7363 * testsuite/Makefile.in: Regenerate.
7364 * config.h.in: Likewise.
7365 * configure: Likewise.
7366 * configure.tgt: Harden shell syntax.
7367 * env.c: Include "oacc-int.h".
7368 (parse_acc_device_type): New function.
7369 (gomp_debug_var, goacc_device_type, goacc_device_num): New
7370 variables.
7371 (initialize_env): Initialize those. Call
7372 goacc_runtime_initialize.
7373 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7374 (gomp_fatal): Call gomp_vfatal.
7375 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7376 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7377 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7378 (splay_tree_node, splay_tree, splay_tree_key)
7379 (struct target_mem_desc, struct splay_tree_key_s)
7380 (struct gomp_memory_mapping, struct acc_dispatch_t)
7381 (struct gomp_device_descr, gomp_acc_insert_pointer)
7382 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7383 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7384 (gomp_free_memmap, gomp_fini_device): New declarations.
7385 (gomp_vdebug, gomp_debug): New macros.
7386 Include "splay-tree.h".
7387 * libgomp.map (OACC_2.0): New symbol version. Use for
7388 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7389 acc_set_device_type_h_, acc_get_device_type,
7390 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7391 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7392 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7393 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7394 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7395 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7396 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7397 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7398 acc_copyin_array_h_, acc_present_or_copyin,
7399 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7400 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7401 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7402 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7403 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7404 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7405 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7406 acc_update_device, acc_update_device_32_h_,
7407 acc_update_device_64_h_, acc_update_device_array_h_,
7408 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7409 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7410 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7411 acc_is_present_64_h_, acc_is_present_array_h_,
7412 acc_memcpy_to_device, acc_memcpy_from_device,
7413 acc_get_current_cuda_device, acc_get_current_cuda_context,
7414 acc_get_cuda_stream, acc_set_cuda_stream.
7415 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
7416 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7417 GOACC_update, GOACC_wait, GOACC_get_thread_num,
7418 GOACC_get_num_threads.
7419 (GOMP_PLUGIN_1.0): New symbol version. Use for
7420 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7421 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7422 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7423 GOMP_PLUGIN_acc_thread.
7424 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7425 environment variable.
7426 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7427 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7428 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7429 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7430 (splay_tree_remove): New declarations.
7431 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7432 (splay_tree_remove, splay_tree_lookup): Move into...
7433 * splay-tree.c: ... this new file.
7434 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7435 (splay_tree_node, splay_tree, splay_tree_key)
7436 (struct target_mem_desc, struct splay_tree_key_s)
7437 (struct gomp_device_descr): Don't declare.
7438 (num_devices_openmp): New variable.
7439 (gomp_get_num_devices ): Use it.
7440 (gomp_init_targets_once): New function.
7441 (gomp_get_num_devices ): Use it.
7442 (get_kind, gomp_copy_from_async, gomp_free_memmap)
7443 (gomp_fini_device, gomp_register_image_for_device): New functions.
7444 (gomp_map_vars): Add devaddrs parameter.
7445 (gomp_update): Add mm parameter.
7446 (gomp_init_device): Move most of it into...
7447 (gomp_init_tables): ... this new function.
7448 (gomp_register_images_for_device): Remove function.
7449 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7450 Make them hidden instead of static.
7451 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7452 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7453 (GOMP_target_end_data, GOMP_target_update)
7454 (gomp_load_plugin_for_device, gomp_target_init): Update for
7455 OpenACC changes.
7456 * oacc-async.c: New file.
7457 * oacc-cuda.c: Likewise.
7458 * oacc-host.c: Likewise.
7459 * oacc-init.c: Likewise.
7460 * oacc-int.h: Likewise.
7461 * oacc-mem.c: Likewise.
7462 * oacc-parallel.c: Likewise.
7463 * oacc-plugin.c: Likewise.
7464 * oacc-plugin.h: Likewise.
7465 * oacc-ptx.h: Likewise.
7466 * openacc.f90: Likewise.
7467 * openacc.h: Likewise.
7468 * openacc_lib.h: Likewise.
7469 * plugin/plugin-host.c: Likewise.
7470 * plugin/plugin-nvptx.c: Likewise.
7471 * libgomp-plugin.c: Likewise.
7472 * libgomp-plugin.h: Likewise.
7473 * libgomp_target.h: Remove file after merging content into the
7474 former file. Update all users.
7475 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7476 (offload_targets_s, offload_targets_s_openacc): New variables.
7477 (check_effective_target_openacc_nvidia_accel_present)
7478 (check_effective_target_openacc_nvidia_accel_selected): New
7479 procedures.
7480 (libgomp_init): Update for OpenACC changes.
7481 * testsuite/libgomp-test-support.exp.in: New file.
7482 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7483 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7484 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7485 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7486 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7487 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7488 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7490 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7491 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7492 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7493 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7494 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7495 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7496 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7497 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7498 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7499 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7500 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7501 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7502 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7503 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7504 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7505 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7506 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7507 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7508 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7509 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7510 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7511 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7512 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7513 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7514 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7515 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7516 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7517 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7518 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7519 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7520 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7521 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7522 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7523 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7524 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7525 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7526 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7527 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7528 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7529 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7530 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7531 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7532 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7533 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7534 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7535 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7536 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7537 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7538 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7539 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7540 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7541 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7542 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7543 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
7544 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7545 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7546 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7547 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
7548 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
7549 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7550 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7551 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7552 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
7553 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7554 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7555 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7556 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
7557 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
7558 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7559 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7560 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
7561 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
7562 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
7563 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
7564 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7565 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7566 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7567 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
7568 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
7569 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7570 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7571 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
7572 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
7573 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
7574 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
7575 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7576 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7577 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7578 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7579 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
7580 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7581 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7582 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
7583 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
7584 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
7585 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7586 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
7587 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
7588 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
7589 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
7590 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
7591 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7592 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
7593 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7594 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7595 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
7596 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7597 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7598 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
7599 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7600 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
7601 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
7602 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
7603 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
7604 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7605 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
7606 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7607 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
7608 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7609 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
7610 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
7611 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
7612 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
7613 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
7614 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7615 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
7616 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7617 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7618 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7619 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7620 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7621 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
7622 Likewise.
7623 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
7624 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
7625 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
7626 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7627 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
7628 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7629 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7630 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7631 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7632 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7633 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7634 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7635 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7636 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7637 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7638 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7639 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7640 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7641 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7642 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7643 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7644 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7645 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7646 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7647 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7648 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7649 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7650 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7651 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7652 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7653 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7654 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7655 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7656 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7657 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7658 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7659 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7660 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7661 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7662 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7663 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7664 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7665 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7666 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7667 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7668 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7669 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7670 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7671 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7672 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7673 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7674 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7675 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7676 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7677 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7678 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7679 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7680 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7681 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7682 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7683
f1f3453e
TS
76842015-01-10 Thomas Schwinge <thomas@codesourcery.com>
7685 Julian Brown <julian@codesourcery.com>
7686 David Malcolm <dmalcolm@redhat.com>
7687
7688 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7689 to "GNU Offloading and Multi Processing Runtime Library". Change
7690 all users.
7691 * configure: Regenerate.
7692 * libgomp.texi: Update.
7693
f9a0eca4
TS
76942015-01-08 Thomas Schwinge <thomas@codesourcery.com>
7695
b335ef4e
TS
7696 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7697 "$tgt_dir/lib32".
7698 * configure: Regenerate.
7699
f9a0eca4
TS
7700 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7701 "intelmic" in $offload_targets.
7702
b67cd4e3
JJ
77032015-01-05 Jakub Jelinek <jakub@redhat.com>
7704
5624e564
JJ
7705 Update copyright years.
7706
b67cd4e3
JJ
7707 * libgomp.texi: Bump @copying's copyright year.
7708
3b41b583
KT
77092014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7710
7711 * testsuite/lib/libgomp.exp: Load target-utils.exp.
7712 Move load of target-supportes.exp earlier.
7713
2354caec
IV
77142014-12-10 Ilya Verbin <ilya.verbin@intel.com>
7715
7716 * testsuite/libgomp.c/target-9.c: New test.
7717
f50eecba
VR
77182014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
7719
7720 * config.h.in: Regenerate.
7721 * configure: Regenerate.
7722 * configure.ac: Add GCC_CHECK_EMUTLS.
7723 * libgomp.h: Add check for USE_EMUTLS: this case
7724 is equal to HAVE_TLS.
7725 * team.c: Likewise.
7726
68bc9270
UB
77272014-12-03 Uros Bizjak <ubizjak@gmail.com>
7728
7729 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7730
476ff787
AT
77312014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
7732 Ilya Verbin <ilya.verbin@intel.com>
7733
7734 * testsuite/libgomp.c/target-critical-1.c: New test.
7735
31a30e62
JJ
77362014-11-26 Jakub Jelinek <jakub@redhat.com>
7737
7738 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 7739 to dg-options unless expensive testing is on.
31a30e62
JJ
7740 (TESTITERS): Define to N if not defined.
7741 (main): Use TESTITERS instead of N.
7742 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7743 dg-additional-options depending on whether expensive testing is on.
7744 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7745 Decrease N to 100000 and CHUNKSZ to 10000.
7746
3f9e8f13
JJ
77472014-11-24 Jakub Jelinek <jakub@redhat.com>
7748
7749 PR fortran/63938
31a30e62
JJ
7750 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7751 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 7752
c8451a46
SE
77532014-11-21 Steve Ellcey <sellcey@imgtec.com>
7754
7755 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7756
a699d672
L
77572014-11-21 H.J. Lu <hongjiu.lu@intel.com>
7758
7759 PR bootstrap/63784
7760 * configure: Regenerated.
7761
4a19f719
UB
77622014-11-19 Uros Bizjak <ubizjak@gmail.com>
7763
7764 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7765 vect_simd_clones effective target.
7766 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7767
b1bf6c52
JJ
77682014-11-14 Jakub Jelinek <jakub@redhat.com>
7769
7770 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7771 of 32 as block_size.
7772 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7773 instead of 32 as block_size.
7774
d64ae614
AT
77752014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7776 Ilya Verbin <ilya.verbin@intel.com>
7777
7778 * Makefile.in: Regenerate.
7779 * configure: Regenerate.
7780 * configure.ac: Set up offload_additional_options,
7781 offload_additional_lib_paths and offload_targets.
7782 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7783 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7784 * testsuite/Makefile.in: Regenerate.
7785 * testsuite/lib/libgomp.exp (libgomp_init): Append
7786 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7787 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7788 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7789
122d7303
AT
77902014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7791 Ilya Verbin <ilya.verbin@intel.com>
7792 Kirill Yukhin <kirill.yukhin@intel.com>
7793 Ilya Tocar <ilya.tocar@intel.com>
7794
7795 * testsuite/lib/libgomp.exp
7796 (check_effective_target_offload_device): New.
7797 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7798 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7799 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7800 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7801 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7802 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7803 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7804 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7805 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7806 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7807 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7808 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7809 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7810 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7811 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7812 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7813 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7814 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7815 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7816 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7817 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7818 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7819 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7820 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7821 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7822 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7823 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7824 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7825 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7826 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7827 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7828 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7829 * testsuite/libgomp.c/target-7.c: Fix test.
7830 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7831 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7832 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7833 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7834 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7835 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7836 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7837 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7838 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7839 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7840 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7841 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7842 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7843 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7844 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7845 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7846 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7847 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7848 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7849 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7850 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7851 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7852 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7853 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7854 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7855 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7856 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7857 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7858 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7859 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7860 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7861
1df3f842
JJ
78622014-11-13 Jakub Jelinek <jakub@redhat.com>
7863 Ilya Verbin <ilya.verbin@intel.com>
7864 Thomas Schwinge <thomas@codesourcery.com>
7865 Andrey Turetskiy <andrey.turetskiy@intel.com>
7866
7867 * libgomp.map (GOMP_4.0.1): New symbol version.
7868 Add GOMP_offload_register.
7869 * libgomp_target.h: New file.
7870 * splay-tree.h: New file.
7871 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7872 (gomp_target_init): New forward declaration.
7873 (gomp_is_initialized): New static variable.
7874 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7875 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7876 New structures.
7877 (offload_images, num_offload_images, devices, num_devices): New static
7878 variables.
7879 (splay_compare): New static function.
7880 (struct gomp_device_descr): New structure.
7881 (gomp_get_num_devices): Call gomp_target_init.
7882 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7883 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7884 (GOMP_offload_register): New function.
7885 (GOMP_target): Arrange for host callback to be performed in a separate
7886 initial thread and contention group, inheriting ICVs from
7887 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7888 Add device initialization and lookup for target function in splay tree.
7889 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7890 (GOMP_target_end_data): Call gomp_unmap_vars.
7891 (GOMP_target_update): Add device initialization and call gomp_update.
7892 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7893 (gomp_target_init): New static functions.
7894
85c64bbe
BS
78952014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7896 Thomas Schwinge <thomas@codesourcery.com>
7897 Ilya Verbin <ilya.verbin@intel.com>
7898 Andrey Turetskiy <andrey.turetskiy@intel.com>
7899
7900 * config.h.in: Regenerate.
7901 * configure: Regenerate.
7902 * configure.ac: Check for libdl, required for plugin support.
7903 (PLUGIN_SUPPORT): Define if plugins are supported.
7904 (enable_offload_targets): Support Intel MIC targets.
7905 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7906
ebf6d33b
FXC
79072014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7908
7909 PR target/63610
7910 * configure: Regenerate.
7911
8c768629
RO
79122014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7913
7914 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7915
c1d62412
MP
79162014-10-06 Marek Polacek <polacek@redhat.com>
7917
7918 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7919 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7920 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7921 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7922
44a0c6cb
MP
79232014-10-06 Marek Polacek <polacek@redhat.com>
7924
7925 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7926 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7927 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7928 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7929 * testsuite/libgomp.c/pr36802-2.c: Likewise.
7930 * testsuite/libgomp.c/pr36802-3.c: Likewise.
7931 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7932 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7933 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
7934 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
7935 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
7936 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
7937 * testsuite/libgomp.c/omp-single-1.c: Likewise.
7938 * testsuite/libgomp.c/omp-single-2.c: Likewise.
7939 * testsuite/libgomp.c/omp_matvec.c: Likewise.
7940 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
7941 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
7942 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
7943 declarations.
7944
5771c391
JJ
79452014-10-03 Jakub Jelinek <jakub@redhat.com>
7946
7947 PR libgomp/61200
7948 * testsuite/libgomp.c/pr61200.c: New test.
7949
bce16b88
JJ
79502014-09-18 Jakub Jelinek <jakub@redhat.com>
7951
7952 PR c++/63248
7953 * testsuite/libgomp.c++/pr63248.C: New test.
7954
3696163c
JJ
79552014-08-04 Jakub Jelinek <jakub@redhat.com>
7956
7957 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
7958 is not zero, but taskgroup->children is NULL and there are
7959 any task->children, schedule those instead of waiting.
7960 * testsuite/libgomp.c/depend-6.c: New test.
7961 * testsuite/libgomp.c/depend-7.c: New test.
7962 * testsuite/libgomp.c/depend-8.c: New test.
7963 * testsuite/libgomp.c/depend-9.c: New test.
7964 * testsuite/libgomp.c/depend-10.c: New test.
7965
0494285a
JJ
79662014-08-01 Jakub Jelinek <jakub@redhat.com>
7967
7968 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
7969 (struct gomp_taskwait): New type.
7970 (struct gomp_task): Add taskwait and parent_depends_on, remove
7971 in_taskwait and taskwait_sem fields.
7972 (gomp_finish_task): Don't destroy taskwait_sem.
7973 * task.c (gomp_init_task): Don't init in_taskwait, instead init
7974 taskwait and parent_depends_on.
7975 (GOMP_task): For if (0) tasks with depend clause that depend on
7976 earlier tasks don't defer them, instead call
7977 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
7978 Initialize redundant_out field, for redundant out entries just
7979 move them at the end of linked list instead of removing them
7980 completely, and set redundant_out flag instead of redundant.
7981 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
7982 that task.
7983 (gomp_task_run_post_handle_dependers): If parent is in
7984 gomp_task_maybe_wait_for_dependencies and newly runnable task
7985 is not parent_depends_on, queue it in parent->children linked
7986 list after all runnable tasks with parent_depends_on set.
7987 Adjust for addition of taskwait indirection.
7988 (gomp_task_run_post_remove_parent): If parent is in
7989 gomp_task_maybe_wait_for_dependencies and task to be removed
7990 is parent_depends_on, decrement n_depend and if needed awake
7991 parent. Adjust for addition of taskwait indirection.
7992 (GOMP_taskwait): Adjust for addition of taskwait indirection.
7993 (gomp_task_maybe_wait_for_dependencies): New function.
7994 * testsuite/libgomp.c/depend-5.c: New test.
7995
60ab4b44
TB
79962014-07-13 Tobias Burnus <burnus@net-b.de>
7997
7998 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 7999 with TS 18508/Fortran 2015.
60ab4b44 8000
773ec47f
MP
80012014-07-06 Marek Polacek <polacek@redhat.com>
8002
8003 PR c/6940
8004 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8005
f707da16
JJ
80062014-07-03 Jakub Jelinek <jakub@redhat.com>
8007
8008 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8009 matches regex $lang_source_re, add $lang_include_flags to options.
8010 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8011 * testsuite/libgomp.c++/c++.exp: Likewise.
8012 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8013 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8014 ALWAYS_CFLAGS.
8015 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8016
07b6c044
TS
80172014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8018
8019 * testsuite/libgomp.fortran/fortran.exp: Explain
8020 gfortran-dg-runtest usage.
8021
da6f124d
JJ
80222014-06-25 Jakub Jelinek <jakub@redhat.com>
8023
8024 * testsuite/libgomp.fortran/simd5.f90: New test.
8025 * testsuite/libgomp.fortran/simd6.f90: New test.
8026 * testsuite/libgomp.fortran/simd7.f90: New test.
8027
b46ebd6c
JJ
80282014-06-24 Jakub Jelinek <jakub@redhat.com>
8029
56ad0e38
JJ
8030 * testsuite/libgomp.c/for-2.c: Define SC to static for
8031 #pragma omp for simd testing.
8032 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8033 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8034 SC macro.
8035 * testsuite/libgomp.c/simd-14.c: New test.
8036 * testsuite/libgomp.c/simd-15.c: New test.
8037 * testsuite/libgomp.c/simd-16.c: New test.
8038 * testsuite/libgomp.c/simd-17.c: New test.
8039 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8040 #pragma omp for simd testing.
8041 * testsuite/libgomp.c++/simd10.C: New test.
8042 * testsuite/libgomp.c++/simd11.C: New test.
8043 * testsuite/libgomp.c++/simd12.C: New test.
8044 * testsuite/libgomp.c++/simd13.C: New test.
8045
b46ebd6c
JJ
8046 * testsuite/libgomp.fortran/aligned1.f03: New test.
8047 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8048 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8049 tasks with !$omp parallel !$omp single.
8050 * testsuite/libgomp.fortran/target8.f90: New test.
8051 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8052 not to use trim in the combiner, instead call elemental function.
8053 (fn): New elemental function.
8054 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8055 Make elemental.
8056 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8057 omp_in): Likewise.
8058 * testsuite/libgomp.fortran/udr12.f90: New test.
8059 * testsuite/libgomp.fortran/udr13.f90: New test.
8060 * testsuite/libgomp.fortran/udr14.f90: New test.
8061 * testsuite/libgomp.fortran/udr15.f90: New test.
8062
f014c653
JJ
80632014-06-18 Jakub Jelinek <jakub@redhat.com>
8064
8065 * omp_lib.f90.in (openmp_version): Set to 201307.
8066 * omp_lib.h.in (openmp_version): Likewise.
8067 * testsuite/libgomp.c/target-8.c: New test.
8068 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8069 and inbranch clauses.
8070 * testsuite/libgomp.fortran/depend-3.f90: New test.
8071 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8072 openmp_version.
8073 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8074 * testsuite/libgomp.fortran/target1.f90: New test.
8075 * testsuite/libgomp.fortran/target2.f90: New test.
8076 * testsuite/libgomp.fortran/target3.f90: New test.
8077 * testsuite/libgomp.fortran/target4.f90: New test.
8078 * testsuite/libgomp.fortran/target5.f90: New test.
8079 * testsuite/libgomp.fortran/target6.f90: New test.
8080 * testsuite/libgomp.fortran/target7.f90: New test.
8081
92d28cbb
JJ
80822014-06-10 Jakub Jelinek <jakub@redhat.com>
8083
8084 PR fortran/60928
8085 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8086 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8087 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8088 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8089 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8090 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8091 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8092 * testsuite/libgomp.fortran/associate1.f90: New test.
8093 * testsuite/libgomp.fortran/associate2.f90: New test.
8094 * testsuite/libgomp.fortran/procptr1.f90: New test.
8095
5f23671d
JJ
80962014-06-06 Jakub Jelinek <jakub@redhat.com>
8097
8098 * testsuite/libgomp.fortran/simd1.f90: New test.
8099 * testsuite/libgomp.fortran/udr1.f90: New test.
8100 * testsuite/libgomp.fortran/udr2.f90: New test.
8101 * testsuite/libgomp.fortran/udr3.f90: New test.
8102 * testsuite/libgomp.fortran/udr4.f90: New test.
8103 * testsuite/libgomp.fortran/udr5.f90: New test.
8104 * testsuite/libgomp.fortran/udr6.f90: New test.
8105 * testsuite/libgomp.fortran/udr7.f90: New test.
8106 * testsuite/libgomp.fortran/udr8.f90: New test.
8107 * testsuite/libgomp.fortran/udr9.f90: New test.
8108 * testsuite/libgomp.fortran/udr10.f90: New test.
8109 * testsuite/libgomp.fortran/udr11.f90: New test.
8110
0389fbb5
UB
81112014-05-27 Uros Bizjak <ubizjak@gmail.com>
8112
8113 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8114 vect_simd_clones effective target.
8115 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8116
decaaec8
JJ
81172014-05-21 Jakub Jelinek <jakub@redhat.com>
8118
8119 PR middle-end/61252
8120 * testsuite/libgomp.c++/simd-9.C: New test.
8121
72832460
UB
81222014-05-18 Uros Bizjak <ubizjak@gmail.com>
8123
8124 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8125 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8126 texts according to their @menu entry positions.
8127
dd2fc525
JJ
81282014-05-11 Jakub Jelinek <jakub@redhat.com>
8129
8130 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8131 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8132 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8133 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8134 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8135 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8136 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8137 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8138 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8139 * testsuite/libgomp.fortran/depend-1.f90: New test.
8140 * testsuite/libgomp.fortran/depend-2.f90: New test.
8141 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8142 * testsuite/libgomp.fortran/simd1.f90: New test.
8143 * testsuite/libgomp.fortran/simd2.f90: New test.
8144 * testsuite/libgomp.fortran/simd3.f90: New test.
8145 * testsuite/libgomp.fortran/simd4.f90: New test.
8146 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8147
95782571
JJ
81482014-05-02 Jakub Jelinek <jakub@redhat.com>
8149
8150 * testsuite/libgomp.c/simd-10.c: New test.
8151 * testsuite/libgomp.c/simd-11.c: New test.
8152 * testsuite/libgomp.c/simd-12.c: New test.
8153 * testsuite/libgomp.c/simd-13.c: New test.
8154
f7468577
JJ
81552014-04-24 Jakub Jelinek <jakub@redhat.com>
8156
42056eac
JJ
8157 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8158 atomic type clauses in any order and optional comma in between.
8159 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8160 * testsuite/libgomp.c/atomic-17.c: Likewise.
8161
f7468577
JJ
8162 * testsuite/libgomp.c/simd-7.c: New test.
8163 * testsuite/libgomp.c/simd-8.c: New test.
8164 * testsuite/libgomp.c/simd-9.c: New test.
8165 * testsuite/libgomp.c/loop-16.c: New test.
8166
ab18f2f5
RH
81672014-04-02 Richard Henderson <rth@redhat.com>
8168
8169 * config/linux/futex.h (futex_wait): Get error value from errno.
8170 (futex_wake): Likewise.
8171
8bcc90b0
JJ
81722014-03-25 Jakub Jelinek <jakub@redhat.com>
8173
8174 PR c++/60331
8175 * testsuite/libgomp.c++/udr-11.C: New test.
8176 * testsuite/libgomp.c++/udr-12.C: New test.
8177 * testsuite/libgomp.c++/udr-13.C: New test.
8178 * testsuite/libgomp.c++/udr-14.C: New test.
8179 * testsuite/libgomp.c++/udr-15.C: New test.
8180 * testsuite/libgomp.c++/udr-16.C: New test.
8181 * testsuite/libgomp.c++/udr-17.C: New test.
8182 * testsuite/libgomp.c++/udr-18.C: New test.
8183 * testsuite/libgomp.c++/udr-19.C: New test.
8184
18d73c7f
RS
81852014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8186
8187 Update copyright years
8188
f9030485
RS
81892014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8190
8191 * hashtab.h: Use the standard form for the copyright notice.
8192
98db73df
TB
81932014-01-02 Tobias Burnus <burnus@net-b.de>
8194
8195 * libgomp.texi: Bump @copying's copyright year.
8196
ae246f7f
AT
81972013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8198
8199 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
8200 alloca () with __builtin_alloca ().
8201 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8202 * testsuite/libgomp.c/lock-3.c: Likewise.
8203 * testsuite/libgomp.c/pr48591.c: Likewise.
8204
fa00a5fe
JJ
82052013-12-17 Jakub Jelinek <jakub@redhat.com>
8206
8207 PR testsuite/59534
8208 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8209 comparisons.
8210
e9792e1d
JJ
82112013-12-16 Jakub Jelinek <jakub@redhat.com>
8212
8213 PR libgomp/58756
8214 * testsuite/libgomp.c/pr58756.c: New test.
8215
cab37c89
JJ
82162013-12-12 Jakub Jelinek <jakub@redhat.com>
8217
8218 PR libgomp/59467
8219 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8220 !$omp parallel.
8221
de14871c
TS
82222013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8223
1707a5de
TS
8224 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8225 ALWAYS_CFLAGS.
8226 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8227 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8228 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8229 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8230 Likewise.
8231
70f05c43
TS
8232 * libgomp_g.h: Include <stddef.h> for size_t.
8233
de14871c
TS
8234 * libgomp.spec.in: Update comment about libgomp's dependencies.
8235 * configure.ac: Likewise.
8236 * configure: Regenerate.
8237
83fd6c5b
TB
82382013-10-16 Tobias Burnus <burnus@net-b.de>
8239
8240 * libgomp.texi: (Runtime Library Routines): Update references for
8241 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8242 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8243 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8244 (Environment Variables): Update references for OpenMP 4.0. Add
8245 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8246 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8247 order.
8248
c8673881
JJ
82492013-10-14 Jakub Jelinek <jakub@redhat.com>
8250
8251 * env.c (parse_bind_var): Initialize value to avoid
8252 (false positive) warning.
8253
f89163fd
JJ
82542013-10-12 Jakub Jelinek <jakub@redhat.com>
8255
8256 PR libgomp/58691
8257 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8258 to check variable.
8259 (gomp_init_num_threads): Move i variable declaration into
8260 #ifdef CPU_ALLOC_SIZE block.
8261 * config/linux/affinity.c (gomp_affinity_init_level): Test
8262 gomp_places_list_len == 0 rather than gomp_places_list == 0
8263 when checking for topology reading error.
8264 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8265 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8266 gomp_places_list, only parse env var and always return false.
8267 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8268 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8269 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8270 and either of these variables were parsed correctly into a places
8271 list.
8272
1d340638
TS
82732013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8274 Jakub Jelinek <jakub@redhat.com>
8275
8276 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8277 of 5 loopfn matches.
8278 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8279 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8280 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8281 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8282 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8283 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8284 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8285 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8286
71a81c21
TS
82872013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8288
bd87f731
TS
8289 * Makefile.am (omp_lib.mod): Streamline rule.
8290 * Makefile.in: Regenerate.
8291
f5745bed
TS
8292 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8293 exceptions.
8294
b5512c66
TS
8295 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8296 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8297 * testsuite/libgomp.fortran/lib2.f: Likewise.
8298 * testsuite/libgomp.fortran/lib3.f: Likewise.
8299
451c19c4
TS
8300 * configure.ac: Typo fix.
8301 * configure: Regenerate.
8302
86a6016d
TS
8303 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8304 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8305
71a81c21
TS
8306 * omp.h.in: Don't touch the user's namespace.
8307
acf0174b
JJ
83082013-10-11 Jakub Jelinek <jakub@redhat.com>
8309 Tobias Burnus <burnus@net-b.de>
8310 Richard Henderson <rth@redhat.com>
8311
8312 * target.c: New file.
8313 * Makefile.am (libgomp_la_SOURCES): Add target.c.
8314 * Makefile.in: Regenerated.
8315 * libgomp_g.h (GOMP_task): Add depend argument.
8316 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8317 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8318 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8319 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8320 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8321 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8322 GOMP_taskgroup_start, GOMP_taskgroup_end,
8323 GOMP_parallel_sections): New prototypes.
8324 * fortran.c (omp_is_initial_device): Add ialias_redirect.
8325 (omp_is_initial_device_): New function.
8326 (ULP, STR1, STR2, ialias_redirect): Removed.
8327 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8328 omp_set_default_device_8_, omp_get_default_device_,
8329 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8330 functions.
8331 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8332 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8333 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8334 @@GOMP_4.0.
8335 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8336 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8337 omp_set_default_device, omp_set_default_device_,
8338 omp_set_default_device_8_, omp_get_default_device,
8339 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8340 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8341 omp_get_team_num_): Export @@OMP_4.0.
8342 * team.c (struct gomp_thread_start_data): Add place field.
8343 (gomp_thread_start): Clear thr->thread_pool and
8344 thr->task before returning. Use gomp_team_barrier_wait_final
8345 instead of gomp_team_barrier_wait. Initialize thr->place.
8346 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8347 team_cancelled and task_queued_count fields.
8348 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8349 before calling pthread_exit.
8350 (gomp_free_thread): No longer static. Use
8351 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8352 (gomp_team_start): Add flags argument. Set
8353 thr->thread_pool->threads_busy to nthreads immediately after creating
8354 new pool. Use gomp_managed_threads_lock instead of
8355 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
8356 (gomp_team_end): Use gomp_managed_threads_lock instead of
8357 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
8358 of gomp_team_barrier_wait. If team->team_cancelled, call
8359 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
8360 rather than thr->ts.work_share.
8361 (initialize_team): Don't call gomp_sem_init here.
8362 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8363 caller.
8364 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8365 * env.c (gomp_global_icv): Add default_device_var, target_data and
8366 bind_var initializers.
8367 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8368 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8369 gomp_places_list_len): New variables.
8370 (parse_bind_var, parse_one_place, parse_places_var): New functions.
8371 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8372 sized places.
8373 (gomp_cancel_var): New global variable.
8374 (parse_int): New function.
8375 (handle_omp_display_env): New function.
8376 (initialize_env): Use it. Initialize default_device_var.
8377 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
8378 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
8379 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
8380 been successfully parsed (and call gomp_init_affinity in that case).
8381 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8382 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8383 omp_get_team_num, omp_is_initial_device): New functions.
8384 * libgomp.h: Include stdlib.h.
8385 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8386 Define.
8387 (struct target_mem_desc): Forward declare.
8388 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8389 and thread_limit_var fields.
8390 (gomp_get_num_devices): New prototype.
8391 (gomp_cancel_var): New extern decl.
8392 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8393 team_cancelled and task_queued_count fields. Add comments about
8394 task_{,queued_,running_}count.
8395 (gomp_cancel_kind): New enum.
8396 (gomp_work_share_end_cancel): New prototype.
8397 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8398 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8399 and depend fields.
8400 (struct gomp_taskgroup): New type.
8401 (struct gomp_task_depend_entry,
8402 struct gomp_dependers_vec): New types.
8403 (gomp_finish_task): Free depend_hash if non-NULL.
8404 (struct gomp_team_state): Add place_partition_off
8405 and place_partition_len fields.
8406 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8407 gomp_places_list_len): New extern decls.
8408 (struct gomp_thread): Add place field.
8409 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8410 (gomp_init_thread_affinity): Add place argument.
8411 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8412 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8413 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8414 gomp_affinity_init_level, gomp_affinity_print_place): New
8415 prototypes.
8416 (gomp_team_start): Add flags argument.
8417 (gomp_thread_limit_var, gomp_remaining_threads_count,
8418 gomp_remaining_threads_lock): Remove.
8419 (gomp_managed_threads_lock): New variable.
8420 (struct gomp_thread_pool): Add threads_busy field.
8421 (gomp_free_thread): New prototype.
8422 * task.c: Include hashtab.h.
8423 (hash_entry_type): New typedef.
8424 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8425 (gomp_init_task): Clear dependers, depend_hash, depend_count,
8426 copy_ctors_done and taskgroup fields.
8427 (GOMP_task): Add depend argument, handle depend clauses. If
8428 gomp_team_barrier_cancelled or if it's taskgroup has been
8429 cancelled, don't queue or start new tasks. Set copy_ctors_done
8430 field if needed. Initialize taskgroup field. If copy_ctors_done
8431 and already cancelled, don't discard the task. If taskgroup is
8432 non-NULL, enqueue the task into taskgroup queue. Increment
8433 num_children field in taskgroup. Increment task_queued_count.
8434 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8435 gomp_task_run_post_remove_taskgroup): New inline functions.
8436 (gomp_task_run_post_handle_depend_hash,
8437 gomp_task_run_post_handle_dependers,
8438 gomp_task_run_post_handle_depend): New functions.
8439 (GOMP_taskwait): Use them. If more than one new tasks
8440 have been queued, wake other threads if needed.
8441 (gomp_barrier_handle_tasks): Likewise. If
8442 gomp_team_barrier_cancelled, don't start any new tasks, just free
8443 all tasks.
8444 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8445 * omp_lib.f90.in
8446 (omp_proc_bind_kind, omp_proc_bind_false,
8447 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8448 omp_proc_bind_spread): New params.
8449 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8450 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8451 omp_get_team_num, omp_is_initial_device): New interfaces.
8452 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8453 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8454 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8455 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8456 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8457 useless use omp_lib_kinds.
8458 * omp.h.in (omp_proc_bind_t): New typedef.
8459 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8460 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8461 omp_get_team_num, omp_is_initial_device): New prototypes.
8462 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8463 through to gomp_team_start.
8464 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8465 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8466 Adjust gomp_parallel_loop_start callers.
8467 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8468 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8469 GOMP_loop_end_cancel): New functions.
8470 (GOMP_parallel_end): Add ialias_redirect.
8471 * hashtab.h: New file.
8472 * libgomp.texi (Environment Variables): Minor cleanup,
8473 update section refs to OpenMP 4.0rc2.
8474 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8475 environment variables.
8476 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8477 team->work_shares_to_free to thr->ts.work_share before calling
8478 free_work_share.
8479 (gomp_work_share_end_cancel): New function.
8480 * config/linux/proc.c: Include errno.h.
8481 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8482 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8483 sizeof (cpu_set_t) to determine number of iterations. Fix up check
8484 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
8485 gomp_cpuset_size is sizeof (cpu_set_t).
8486 (gomp_init_num_threads): Initialize gomp_cpuset_size,
8487 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8488 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8489 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
8490 contain any logical CPUs.
8491 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8492 is NULL. Use gomp_cpusetp instead of &cpuset and pass
8493 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8494 pthread_getaffinity_np. Check gomp_places_list instead of
8495 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
8496 * config/linux/bar.c (gomp_barrier_wait_end,
8497 gomp_barrier_wait_last): Use BAR_* defines.
8498 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
8499 from state where needed. Set work_share_cancelled to 0 on last
8500 thread.
8501 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8502 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8503 functions.
8504 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8505 Add cpusetsize argument.
8506 (gomp_cpuset_size, gomp_cpusetp): Declare.
8507 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8508 (affinity_counter): Remove.
8509 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8510 if CPU_ALLOC_SIZE isn't defined.
8511 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8512 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8513 bind current thread to the first place.
8514 (gomp_init_thread_affinity): Rewritten. Add place argument, just
8515 pthread_setaffinity_np to gomp_places_list[place].
8516 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8517 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8518 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8519 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8520 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8521 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8522 (gomp_barrier_t): Add awaited_final field.
8523 (gomp_barrier_init): Initialize awaited_final field.
8524 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8525 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8526 prototypes.
8527 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
8528 defines.
8529 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8530 gomp_team_barrier_cancelled): New inline functions.
8531 (gomp_barrier_last_thread,
8532 gomp_team_barrier_set_task_pending,
8533 gomp_team_barrier_clear_task_pending,
8534 gomp_team_barrier_set_waiting_for_tasks,
8535 gomp_team_barrier_waiting_for_tasks,
8536 gomp_team_barrier_done): Use BAR_* defines.
8537 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8538 (gomp_barrier_wait_end): Use BAR_* defines.
8539 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8540 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8541 Use BAR_* defines.
8542 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
8543 gomp_team_barrier_cancel): New functions.
8544 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
8545 argument.
8546 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8547 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8548 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8549 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
8550 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8551 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8552 (gomp_barrier_t): Add cancellable field.
8553 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
8554 gomp_team_barrier_cancel): New prototypes.
8555 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
8556 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
8557 gomp_team_barrier_cancelled): New inline functions.
8558 (gomp_barrier_wait_start, gomp_barrier_last_thread,
8559 gomp_team_barrier_set_task_pending,
8560 gomp_team_barrier_clear_task_pending,
8561 gomp_team_barrier_set_waiting_for_tasks,
8562 gomp_team_barrier_waiting_for_tasks,
8563 gomp_team_barrier_done): Use BAR_* defines.
8564 * barrier.c (GOMP_barrier_cancel): New function.
8565 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
8566 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8567 omp_proc_bind_spread): New params.
8568 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8569 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8570 omp_get_team_num, omp_is_initial_device): New externals.
8571 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
8572 New functions.
8573 (gomp_resolve_num_threads): Adjust for thread_limit now being in
8574 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8575 infinity. If not nested, just return minimum of max_num_threads
8576 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
8577 to the returned value. Otherwise, don't update atomically
8578 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
8579 (GOMP_parallel_end): Adjust for thread_limit now being in
8580 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8581 infinity. Adjust threads_busy in the pool rather than
8582 gomp_remaining_threads_count. Remember team->nthreads and call
8583 gomp_team_end before adjusting threads_busy, if not nested
8584 afterwards, just set it to 1 non-atomically. Add ialias.
8585 (GOMP_parallel_start): Adjust gomp_team_start caller.
8586 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
8587 * testsuite/libgomp.c/affinity-1.c: New test.
8588 * testsuite/libgomp.c/atomic-15.c: New test.
8589 * testsuite/libgomp.c/atomic-16.c: New test.
8590 * testsuite/libgomp.c/atomic-17.c: New test.
8591 * testsuite/libgomp.c/cancel-for-1.c: New test.
8592 * testsuite/libgomp.c/cancel-for-2.c: New test.
8593 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
8594 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
8595 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
8596 * testsuite/libgomp.c/cancel-sections-1.c: New test.
8597 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
8598 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
8599 * testsuite/libgomp.c/depend-1.c: New test.
8600 * testsuite/libgomp.c/depend-2.c: New test.
8601 * testsuite/libgomp.c/depend-3.c: New test.
8602 * testsuite/libgomp.c/depend-4.c: New test.
8603 * testsuite/libgomp.c/for-1.c: New test.
8604 * testsuite/libgomp.c/for-1.h: New file.
8605 * testsuite/libgomp.c/for-2.c: New test.
8606 * testsuite/libgomp.c/for-2.h: New file.
8607 * testsuite/libgomp.c/for-3.c: New test.
8608 * testsuite/libgomp.c/pr58392.c: New test.
8609 * testsuite/libgomp.c/simd-1.c: New test.
8610 * testsuite/libgomp.c/simd-2.c: New test.
8611 * testsuite/libgomp.c/simd-3.c: New test.
8612 * testsuite/libgomp.c/simd-4.c: New test.
8613 * testsuite/libgomp.c/simd-5.c: New test.
8614 * testsuite/libgomp.c/simd-6.c: New test.
8615 * testsuite/libgomp.c/target-1.c: New test.
8616 * testsuite/libgomp.c/target-2.c: New test.
8617 * testsuite/libgomp.c/target-3.c: New test.
8618 * testsuite/libgomp.c/target-4.c: New test.
8619 * testsuite/libgomp.c/target-5.c: New test.
8620 * testsuite/libgomp.c/target-6.c: New test.
8621 * testsuite/libgomp.c/target-7.c: New test.
8622 * testsuite/libgomp.c/taskgroup-1.c: New test.
8623 * testsuite/libgomp.c/thread-limit-1.c: New test.
8624 * testsuite/libgomp.c/thread-limit-2.c: New test.
8625 * testsuite/libgomp.c/thread-limit-3.c: New test.
8626 * testsuite/libgomp.c/udr-1.c: New test.
8627 * testsuite/libgomp.c/udr-2.c: New test.
8628 * testsuite/libgomp.c/udr-3.c: New test.
8629 * testsuite/libgomp.c++/affinity-1.C: New test.
8630 * testsuite/libgomp.c++/atomic-10.C: New test.
8631 * testsuite/libgomp.c++/atomic-11.C: New test.
8632 * testsuite/libgomp.c++/atomic-12.C: New test.
8633 * testsuite/libgomp.c++/atomic-13.C: New test.
8634 * testsuite/libgomp.c++/atomic-14.C: New test.
8635 * testsuite/libgomp.c++/atomic-15.C: New test.
8636 * testsuite/libgomp.c++/cancel-for-1.C: New test.
8637 * testsuite/libgomp.c++/cancel-for-2.C: New test.
8638 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
8639 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
8640 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
8641 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
8642 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
8643 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
8644 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
8645 * testsuite/libgomp.c++/cancel-test.h: New file.
8646 * testsuite/libgomp.c++/for-9.C: New test.
8647 * testsuite/libgomp.c++/for-10.C: New test.
8648 * testsuite/libgomp.c++/for-11.C: New test.
8649 * testsuite/libgomp.c++/simd-1.C: New test.
8650 * testsuite/libgomp.c++/simd-2.C: New test.
8651 * testsuite/libgomp.c++/simd-3.C: New test.
8652 * testsuite/libgomp.c++/simd-4.C: New test.
8653 * testsuite/libgomp.c++/simd-5.C: New test.
8654 * testsuite/libgomp.c++/simd-6.C: New test.
8655 * testsuite/libgomp.c++/simd-7.C: New test.
8656 * testsuite/libgomp.c++/simd-8.C: New test.
8657 * testsuite/libgomp.c++/target-1.C: New test.
8658 * testsuite/libgomp.c++/target-2.C: New test.
8659 * testsuite/libgomp.c++/target-2-aux.cc: New file.
8660 * testsuite/libgomp.c++/target-3.C: New test.
8661 * testsuite/libgomp.c++/taskgroup-1.C: New test.
8662 * testsuite/libgomp.c++/udr-1.C: New test.
8663 * testsuite/libgomp.c++/udr-2.C: New test.
8664 * testsuite/libgomp.c++/udr-3.C: New test.
8665 * testsuite/libgomp.c++/udr-4.C: New test.
8666 * testsuite/libgomp.c++/udr-5.C: New test.
8667 * testsuite/libgomp.c++/udr-6.C: New test.
8668 * testsuite/libgomp.c++/udr-7.C: New test.
8669 * testsuite/libgomp.c++/udr-8.C: New test.
8670 * testsuite/libgomp.c++/udr-9.C: New test.
8671
bd599dea
JJ
86722013-09-20 Jakub Jelinek <jakub@redhat.com>
8673
8674 PR testsuite/57605
8675 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8676 ALWAYS_CFLAGS.
8677
3cbe17f7
AM
86782013-09-20 Alan Modra <amodra@gmail.com>
8679
8680 * configure: Regenerate.
8681
4befd127
JJ
86822013-09-19 Jakub Jelinek <jakub@redhat.com>
8683
8684 * testsuite/libgomp.c/sections-2.c: New test.
8685
946c8f7b
MS
86862013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
8687
8688 * testsuite/libgomp.fortran/strassen.f90:
8689 Add dg-skip-if aarch64_tiny.
8690
1ef3b58e
IS
86912013-06-20 Iain Sandoe <iain@codesourcery.com>
8692 Cesar Philippidis <cesar@codesourcery.com>
8693
8694 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8695 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8696 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8697 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8698 * testsuite/libgomp.graphite/graphite.exp: Likewise.
8699 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8700 Use dg-runtest rather than gfortran-dg-runtest.
8701
9275f73a
TS
87022013-06-10 Thomas Schwinge <thomas@codesourcery.com>
8703
8704 * testsuite/libgomp.c/icv-2.c: Extend current handling of
8705 Linux-based x86 systems to cover all GNU systems.
8706 * testsuite/libgomp.c/lock-3.c: Likewise.
8707 * testsuite/libgomp.c/pr48591.c: Likewise.
8708
492992e2
TS
87092013-06-06 Thomas Schwinge <thomas@codesourcery.com>
8710
48df3acb
TS
8711 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8712 GNU/Hurd, as done for Linux-based systems.
8713
492992e2
TS
8714 * config/posix/ptrlock.h: Fix comment.
8715
4fed6b25
TB
87162013-05-27 Tobias Burnus <burnus@net-b.de>
8717
8718 PR fortran/57423
8719 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8720 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8721 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8722 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8723 omp_destroy_nest_lock): Correct arguments to match the one in
8724 the OpenMP spec.
8725 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8726 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8727 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8728 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8729
5a0f4dd3
JJ
87302013-05-16 Jakub Jelinek <jakub@redhat.com>
8731
8732 * testsuite/libgomp.c/loop-13.c: New test.
8733 * testsuite/libgomp.c/loop-14.c: New test.
8734 * testsuite/libgomp.c/loop-15.c: New test.
8735 * testsuite/libgomp.c++/loop-13.C: New test.
8736 * testsuite/libgomp.c++/loop-14.C: New test.
8737 * testsuite/libgomp.c++/loop-15.C: New test.
8738
6d840d99
JJ
87392013-02-06 Jakub Jelinek <jakub@redhat.com>
8740
8741 PR middle-end/56217
8742 * testsuite/libgomp.c++/pr56217.C: New test.
8743
bed8d8a6
AM
87442013-02-01 Alan Modra <amodra@gmail.com>
8745
8746 * task.c (GOMP_task, GOMP_taskwait): Comment.
8747
3b35cd04
DV
87482013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
8749 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
8750
8751 PR libgomp/55561
8752 * config/linux/wait.h (do_spin): Use atomic load for addr.
8753 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8754 for intptr and ptrlock.
8755 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8756 for ptrlock.
8757
9a647288
AM
87582013-01-22 Alan Modra <amodra@gmail.com>
8759
8760 PR libgomp/51376
8761 PR libgomp/56073
8762 * task.c (GOMP_task): Revert 2011-12-09 change.
8763 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8764 barrier to read task->children..
8765 (gomp_barrier_handle_tasks): ..and matching atomic store with
8766 release barrier here when setting parent->children to NULL.
8767
f34dea03
JJ
87682013-01-16 Jakub Jelinek <jakub@redhat.com>
8769 Tobias Burnus <burnus@net-b.de>
8770
8771 PR driver/55884
8772 * testsuite/libgomp.fortran/fortran.exp: Use
8773 -fintrinsic-modules-path= instead of
8774 -fintrinsic-modules-path.
8775
8129609c
RS
87762013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8777
8778 Update copyright years.
8779
aa86bf1e
TB
87802012-12-19 Tobias Burnus <burnus@net-b.de>
8781
8782 * testsuite/libgomp.fortran/fortran.exp: Set
8783 -fintrinsic-modules-path.
8784
2865ea66
TB
87852012-12-19 Tobias Burnus <burnus@net-b.de>
8786
8787 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8788 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8789
4c5ba8d0
JJ
87902012-11-21 Jakub Jelinek <jakub@redhat.com>
8791
8792 PR libgomp/55411
8793 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8794 if pool had any threads_used.
8795
e9f958c2
JH
87962012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8797
8798 * testsuite/libgomp.c++/pr24455.C: Use
8799 -Wl,-undefined,dynamic_lookup on darwin.
8800
a57d75dc
DE
88012012-11-07 David Edelsohn <dje.gcc@gmail.com>
8802
8803 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8804
c6c08485
DH
88052012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8806
8807 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8808
c1f37c00
IB
88092012-10-23 Ian Bolton <ian.bolton@arm.com>
8810 Jim MacArthur <jim.macarthur@arm.com>
8811 Marcus Shawcroft <marcus.shawcroft@arm.com>
8812 Nigel Stephens <nigel.stephens@arm.com>
8813 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8814 Richard Earnshaw <rearnsha@arm.com>
8815 Sofiane Naci <sofiane.naci@arm.com>
8816 Stephen Thomas <stephen.thomas@arm.com>
8817 Tejas Belagod <tejas.belagod@arm.com>
8818 Yufeng Zhang <yufeng.zhang@arm.com>
8819
8820 * configure.tgt: Add AArch64.
8821
7c424acd
JM
88222012-10-04 Jason Merrill <jason@redhat.com>
8823
8824 * testsuite/libgomp.c++/tls-init1.C: New.
8825
6608378b
DE
88262012-09-14 David Edelsohn <dje.gcc@gmail.com>
8827
8828 * configure: Regenerated.
8829
c24dbebb
CLT
88302012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8831
8832 * config/linux/mips/futex.h (sys_futex0): Change to static
8833 function with noinline, nomips16 attributes under MIPS16. Adjust
8834 asm statement to place 'li v0,SYS_futex' immediately before
8835 syscall insn.
8836
3d3949df
SL
88372012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8838
8839 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8840 conflict with index.html on case-insensitive file systems.
8841
68a12ef3
UB
88422012-07-03 Uros Bizjak <ubizjak@gmail.com>
8843
8844 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8845 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8846
33ad93b9 88472012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8848 Michael Matz <matz@suse.de>
8849 Tobias Grosser <tobias@grosser.es>
8850 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8851
8852 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8853 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8854 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8855 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8856
e6fdc918
AS
88572012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8858
8859 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8860
62e0a1ed
RG
88612012-06-22 Richard Guenther <rguenther@suse.de>
8862
8863 Merge from graphite branch
8864 2012-01-13 Tobias Grosser <tobias@grosser.es>
8865
8866 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8867 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8868
26127932
JJ
88692012-06-07 Jakub Jelinek <jakub@redhat.com>
8870
8871 PR middle-end/53580
8872 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8873 use GOMP_barrier () call instead.
8874 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8875 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8876 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8877 call GOMP_barrier instead.
8878 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8879
43fa5db5
JJ
88802012-06-06 Jakub Jelinek <jakub@redhat.com>
8881
8882 PR libgomp/52993
8883 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8884 argument to memset call.
8885
e6d5f8c9
L
88862012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8887
8888 * configure: Regenerated.
8889
559d990c
MLI
88902012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8891
8892 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8893
b9c23a61
L
88942012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8895
8896 PR bootstrap/52812
8897 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8898
c140ddf3
JJ
88992012-03-22 Jakub Jelinek <jakub@redhat.com>
8900
8901 PR middle-end/52547
8902 * testsuite/libgomp.c/pr52547.c: New test.
8903
6a26a74d
BRF
89042012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8905
8906 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8907
b24513a1
RO
89082012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8909
8910 * configure.tgt (mips-sgi-irix6*): Remove.
8911
5c30094f
RO
89122012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8913
8914 * configure.tgt (alpha*-dec-osf*): Remove.
8915
8916 * config/osf/sem.h: Remove.
8917 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8918
a339c9d6
EB
89192012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8920
8921 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8922
cc2de92d
RO
89232012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8924
8925 PR libstdc++/52188
8926 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8927 Remove ENABLE_SYMVERS_SOL2.
8928 * configure: Regenerate.
8929 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
8930 (PREPROCESS): New variable.
8931 (libgomp.ver): New target.
8932 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
8933 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
8934 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
8935 Use libgomp.ver.
8936 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
8937 * Makefile.in: Regenerate.
8938
dd552284
WL
89392012-02-14 Walter Lee <walt@tilera.com>
8940
8941 * configure.tgt: Handle tilegx and tilepro.
8942 * config/linux/tile/futex.h: New file.
8943
31432e21
RG
89442012-02-08 Richard Guenther <rguenther@suse.de>
8945
8946 PR tree-optimization/46886
8947 * testsuite/libgomp.c/pr46886.c: New testcase.
8948
b9264b5f
MK
89492012-01-25 Matthias Klose <doko@ubuntu.com>
8950
8951 * config/linux/arm: Remove empty directory.
8952 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
8953
fbf7be80
AM
89542011-12-09 Alan Modra <amodra@gmail.com>
8955
8956 PR libgomp/51376
8957 * task.c (GOMP_taskwait): Don't access task->children outside of
8958 task_lock mutex region.
8959 (GOMP_task): Likewise.
8960
5de62d00
JJ
89612011-12-06 Jakub Jelinek <jakub@redhat.com>
8962
8963 PR libgomp/51132
8964 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
8965 to file scope.
8966 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8967 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8968 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8969 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8970 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8971
45608a43
AM
89722011-12-02 Alan Modra <amodra@gmail.com>
8973
8974 * config/linux/affinity.c: Use atomic rather than sync builtin.
8975 * config/linux/lock.c: Likewise.
8976 * config/linux/ptrlock.h: Likewise.
8977 * config/linux/ptrlock.c: Likewise.
8978 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
8979 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
8980 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
8981 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
8982 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
8983 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
8984 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
8985 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
8986 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
8987 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
8988
ab6dd406
AM
89892011-11-30 Alan Modra <amodra@gmail.com>
8990
8991 PR libgomp/51298
8992 * config/linux/bar.h: Use atomic rather than sync builtins.
8993 * config/linux/bar.c: Likewise. Add missing acquire
8994 synchronisation on generation field.
8995 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
8996 double unlock.
8997
b40c885f
AM
89982011-11-30 Alan Modra <amodra@gmail.com>
8999
9000 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9001 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9002 * config/linux/mutex.h: Use atomic rather than sync builtins.
9003 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9004 * config/linux/omp-lock.h: Comment fix.
9005 * config/linux/arm/mutex.h: Delete.
9006 * config/linux/powerpc/mutex.h: Delete.
9007 * config/linux/ia64/mutex.h: Delete.
9008 * config/linux/mips/mutex.h: Delete.
9009
3e348fcc
AM
90102011-11-30 Alan Modra <amodra@gmail.com>
9011
9012 PR libgomp/51249
9013 * config/linux/sem.h: Rewrite.
9014 * config/linux/sem.c: Rewrite.
9015
cef86eb2
RH
90162011-11-28 Richard Henderson <rth@redhat.com>
9017
9018 * libgomp.h (enum memmodel): New.
9019
c6084f68
AT
90202011-11-21 Andreas Tobler <andreast@fgznet.ch>
9021
9022 * configure: Regenerate.
9023
06fe026c
MK
90242011-10-10 Matthias Klose <doko@ubuntu.com>
9025
9026 * config/posix95: Remove empty directory.
9027
a6c975bd
JJ
90282011-08-26 Jakub Jelinek <jakub@redhat.com>
9029
9030 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9031
c26dffff
JJ
90322011-08-19 Jakub Jelinek <jakub@redhat.com>
9033
9034 PR fortran/49792
9035 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9036 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9037
ddaad3c8
RO
90382011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9039
9040 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9041
98d03683
RO
90422011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9043
9044 PR libgomp/49965
9045 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9046
e0b23d9f
UB
90472011-08-03 Uros Bizjak <ubizjak@gmail.com>
9048
9049 * config/linux/proc.h: New.
9050 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9051 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9052 (gomp_init_num_threads): Update call to cpuset_popcount.
9053 (get_num_procs): Ditto.
9054 * config/linux/affinity.c (gomp_init_affinity): Call
9055 gomp_cpuset_popcount.
9056
20906c66
JJ
90572011-08-02 Jakub Jelinek <jakub@redhat.com>
9058
9059 PR fortran/42041
9060 PR fortran/46752
9061 * omp.h.in (omp_in_final): New prototype.
9062 * omp_lib.f90.in (omp_in_final): New interface.
9063 (omp_integer_kind, omp_logical_kind): Remove
9064 and replace all its uses in the module with 4.
9065 (openmp_version): Change to 201107.
9066 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9067 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9068 kind for the parameters.
9069 (omp_in_final): New external.
9070 (openmp_version): Change to 201107.
9071 * task.c (omp_in_final): New function.
9072 (gomp_init_task): Initialize final_task.
9073 (GOMP_task): Remove unused attribute from flags. Handle final
9074 tasks.
9075 (GOMP_taskyield): New function.
9076 (omp_in_final): Return true if if (false) or final (true) task
9077 or descendant of final (true).
9078 * fortran.c (omp_in_final_): New function.
9079 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9080 (GOMP_3.0): Export GOMP_taskyield.
9081 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9082 variables.
9083 (parse_unsigned_long_list): New function.
9084 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9085 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9086 even if parse_affinity returned false.
9087 * config/linux/affinity.c (gomp_init_affinity): Handle
9088 gomp_cpu_affinity_len == 0.
9089 * libgomp_g.h (GOMP_taskyield): New prototype.
9090 * libgomp.h (struct gomp_task): Add final_task field.
9091 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9092 * team.c (gomp_team_start): Override new task's nthreads_var icv
9093 if list form OMP_NUM_THREADS has been used and it has value for
9094 the new nesting level.
9095
9096 * testsuite/libgomp.c/atomic-11.c: New test.
9097 * testsuite/libgomp.c/atomic-12.c: New test.
9098 * testsuite/libgomp.c/atomic-13.c: New test.
9099 * testsuite/libgomp.c/atomic-14.c: New test.
9100 * testsuite/libgomp.c/reduction-6.c: New test.
9101 * testsuite/libgomp.c/task-5.c: New test.
9102 * testsuite/libgomp.c++/atomic-2.C: New test.
9103 * testsuite/libgomp.c++/atomic-3.C: New test.
9104 * testsuite/libgomp.c++/atomic-4.C: New test.
9105 * testsuite/libgomp.c++/atomic-5.C: New test.
9106 * testsuite/libgomp.c++/atomic-6.C: New test.
9107 * testsuite/libgomp.c++/atomic-7.C: New test.
9108 * testsuite/libgomp.c++/atomic-8.C: New test.
9109 * testsuite/libgomp.c++/atomic-9.C: New test.
9110 * testsuite/libgomp.c++/task-8.C: New test.
9111 * testsuite/libgomp.c++/reduction-4.C: New test.
9112 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9113 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9114 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9115 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9116 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9117 * testsuite/libgomp.fortran/pointer1.f90: New test.
9118 * testsuite/libgomp.fortran/pointer2.f90: New test.
9119 * testsuite/libgomp.fortran/task4.f90: New test.
9120
91212011-08-02 Tobias Burnus <burnus@net-b.de>
9122
9123 * libgomp.texi: Update OpenMP spec references to 3.1.
9124 (omp_in_final,OMP_PROC_BIND): New sections.
9125 (OMP_NUM_THREADS): Document that the value can be now a list.
9126 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9127
c01ecafc
L
91282011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9129
9130 * config/linux/x86/futex.h: Check __x86_64__ instead of
9131 __LP64__.
9132
25142650
JJ
91332011-07-29 Jakub Jelinek <jakub@redhat.com>
9134
9135 PR middle-end/49897
9136 PR middle-end/49898
9137 * testsuite/libgomp.c/pr49897-1.c: New test.
9138 * testsuite/libgomp.c/pr49897-2.c: New test.
9139 * testsuite/libgomp.c/pr49898-1.c: New test.
9140 * testsuite/libgomp.c/pr49898-2.c: New test.
9141
f53d712f
L
91422011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9143
9144 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9145 for ia32 instead of ilp32.
9146
9147 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9148 * testsuite/libgomp.c/atomic-6.c: Likewise.
9149
3689198d
SP
91502011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9151
9152 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9153 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9154
1a79cb73
RO
91552011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9156
9157 PR libgomp/45351
9158 * config/osf/sem.h: New file.
9159 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9160
c1f51484
RO
91612011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9162
9163 PR target/49541
9164 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9165 ldflags.
9166
bfee0724
JJ
91672011-07-15 Jakub Jelinek <jakub@redhat.com>
9168
9169 * config/linux/wait.h (do_spin): New inline, largely copied
9170 from do_wait, just don't do futex_wait here, instead return true if
9171 it should be done.
9172 (do_wait): Implement using do_spin.
9173 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9174 to prototype.
9175 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9176 __sync_bool_compare_and_swap, pass the oldval to
9177 gomp_mutex_lock_slow.
9178 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9179 If all mutex contenders are just spinning and not sleeping, don't
9180 change state to 2 unnecessarily. Optimize the loop when state has
9181 already become 2 to use just one atomic operation per loop instead
9182 of two.
9183 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9184 to prototype.
9185 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9186 __sync_bool_compare_and_swap, pass the oldval to
9187 gomp_mutex_lock_slow.
9188
fb79f500
JJ
91892011-06-22 Jakub Jelinek <jakub@redhat.com>
9190
9191 PR libgomp/49490
9192 * iter.c (gomp_iter_static_next): For chunk size 0
9193 only use n ceil/ nthreads size for the first
9194 n % nthreads threads in the team instead of
9195 all threads except for the last few ones which
9196 get less work or none at all.
9197 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9198 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9199 chunk argument, set run_sched_modifier to 0 for static
9200 resp. 1 for other kinds. If chunk argument is 0
9201 and not static, set value to 1.
9202
4577f730
JJ
92032011-05-19 Jakub Jelinek <jakub@redhat.com>
9204
ea93a47b
JJ
9205 PR c++/49043
9206 * testsuite/libgomp.c++/pr49043.C: New test.
9207
4577f730
JJ
9208 PR c++/48869
9209 * testsuite/libgomp.c++/pr48869.C: New test.
9210
e7385332
JJ
92112011-05-06 Jakub Jelinek <jakub@redhat.com>
9212
9213 PR fortran/48894
9214 * fortran.c: Include limits.h.
9215 (TO_INT): Define.
9216 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9217 *set.
9218 (omp_set_num_threads_8_, omp_set_schedule_8_,
9219 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9220 omp_get_team_size_8_): Use TO_INT macro.
9221 * testsuite/libgomp.fortran/pr48894.f90: New test.
9222
20790697
JJ
92232011-04-13 Jakub Jelinek <jakub@redhat.com>
9224
9225 PR middle-end/48591
9226 * testsuite/libgomp.c/pr48591.c: New test.
9227
bf382f5f
RO
92282011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9229
9230 PR bootstrap/48135
9231 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9232 * configure: Regenerate.
9233
113a53c1
JJ
92342011-02-27 Jakub Jelinek <jakub@redhat.com>
9235
9236 PR fortran/47886
9237 * testsuite/libgomp.fortran/task3.f90: New test.
9238
0024f1af
TB
92392011-02-24 Tobias Burnus <burnus@net-b.de>
9240
9241 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9242
21e1e594
JJ
92432011-02-23 Jakub Jelinek <jakub@redhat.com>
9244
9245 PR libgomp/47854
9246 * libgomp.texi (omp_get_wtime): Don't say time in the past
9247 must be Unix Epoch.
9248
67962076
JJ
92492011-02-18 Jakub Jelinek <jakub@redhat.com>
9250
9251 PR libgomp/47804
9252 * testsuite/libgomp.fortran/fortran.exp: Check for both
9253 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9254 but $blddir != "", still append ${blddir}/${lang_library_path}
9255 to ld_library_path.
9256
3808007c
TB
92572011-02-16 Tobias Burnus <burnus@net-b.de>
9258
9259 PR libgomp/47758
9260 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9261 of libquadmath.a before adding its libpath to ldflags.
9262
53b4d41d
JJ
92632011-02-14 Jakub Jelinek <jakub@redhat.com>
9264
9265 PR libgomp/47731
9266 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9267 to FUTEX_WAIT futex syscall.
9268 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9269
029c8f3e
RW
92702011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9271
9272 * configure: Regenerate.
9273
bddd6626
BK
92742011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9275
9276 PR libstdc++/36104
9277 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9278
f1d4ab26
GP
92792011-01-16 Gerald Pfeifer
9280
9281 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9282
2b503136
JJ
92832010-12-14 Jakub Jelinek <jakub@redhat.com>
9284
9285 PR fortran/46874
9286 * libgomp.fortran/allocatable6.f90: New test.
9287
c0f9d583
RO
92882010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9289
9290 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9291 * configure: Regenerate.
9292
7de6ba7a
DK
92932010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
9294
9295 PR target/40125
9296 PR lto/46695
9297 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9298 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9299 * aclocal.m4: Regenerate.
9300 * configure: Regenerate.
9301 * Makefile.in: Regenerate.
9302 * testsuite/Makefile.in: Regenerate.
9303
b7516041
JJ
93042010-12-02 Jakub Jelinek <jakub@redhat.com>
9305
edaadf74
JJ
9306 PR fortran/46753
9307 * libgomp.fortran/pr46753.f90: New test.
9308
4c698cf8
JJ
9309 PR libgomp/43706
9310 * env.c (initialize_env): Default to spin count 300000
9311 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9312 is specified.
9313
b7516041
JJ
9314 PR libgomp/45240
9315 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9316 at the end if sync builtins aren't supported.
9317
6b43a34c
RO
93182010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9319
9320 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9321
950691fa
RO
93222010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9323
9324 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9325
fb9041ea
IS
93262010-11-24 Iain Sandoe <iains@gcc.gnu.org>
9327
9328 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9329
1ec601bf
FXC
93302010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9331 Tobias Burnus <burnus@net-b.de>
9332
9333 PR fortran/32049
3e348fcc 9334 * configure.ac:
1ec601bf
FXC
9335 * configure: Regenerate.
9336
d213e92e
MS
93372010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
9338
9339 * config/linux/futex.h: New.
9340 * config/linux/arm/mutex.h: New.
9341 * configure.tgt (arm*-*-linux*): Add config path.
9342
89d5c66f
SP
93432010-09-30 Sebastian Pop <sebastian.pop@amd.com>
9344
9345 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9346
87350d4a
TB
93472010-09-23 Tobias Burnus <burnus@net-b.de>
9348
9349 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9350 Change Fortran datatype to LOGICAL.
9351 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9352 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9353
75bc9e5e
RW
93542010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9355
9356 * configure: Regenerate.
9357
acb5c916
JJ
93582010-07-26 Jakub Jelinek <jakub@redhat.com>
9359
9360 * libgomp.texi: Add function keyword to a couple of Fortran
9361 interfaces, use integer instead of int for Fortran.
9362
6a2ba183
AH
93632010-07-26 Aldy Hernandez <aldyh@redhat.com>
9364
9365 * libgomp.texi: Fix spelling and pasto problems throughout.
9366 Adjust prototypes to match code.
9367
df161b69
TB
93682010-07-24 Tobias Burnus <burnus@net-b.de>
9369
9370 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9371 silence -fwhole-file warning.
9372
16c9d3b1
RO
93732010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9374
9375 * configure.tgt (*-*-solaris2.[56]*): Removed.
9376
6d28b933
RO
93772010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9378
9379 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9380 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9381 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9382 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9383 targetting solaris2*.
9384 * configure: Regenerate.
9385 * config.h.in: Regenerate.
9386
9387 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9388 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9389 Add libgomp_version_dep.
9390 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9391 versioning.
9392 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9393 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9394 * Makefile.in: Regenerate.
9395
9396 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9397 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9398 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9399 to common block, protected by
9400 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9401
07a67d6a
GP
94022010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
9403
9404 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
9405
dbd34b89
IS
94062010-06-09 Iain Sandoe <iains@gcc.gnu.org>
9407
9408 PR bootstrap/43170
9409 * configure: Regenerate.
9410
13917ae3
RW
94112010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9412
9413 PR other/43620
9414 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9415 * configure: Regenerate.
9416 * Makefile.in: Regenerate.
9417 * testsuite/Makefile.in: Regenerate.
9418
b83a701b
JJ
94192010-04-26 Jakub Jelinek <jakub@redhat.com>
9420
9421 PR c/43893
9422 * testsuite/libgomp.c/pr43893.c: New test.
9423 * testsuite/libgomp.c++/pr43893.C: New test.
9424
78db7d92
JJ
94252010-04-21 Jakub Jelinek <jakub@redhat.com>
9426
9427 PR middle-end/43570
9428 * testsuite/libgomp.fortran/vla8.f90: New test.
9429
5221d7a9
JJ
94302010-04-20 Jakub Jelinek <jakub@redhat.com>
9431
e4ba7a60
JJ
9432 PR libgomp/43706
9433 * config/linux/affinity.c (gomp_init_affinity): Decrease
9434 gomp_available_cpus if affinity mask confines the process to fewer
9435 CPUs.
9436 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9437 non-NULL, just return gomp_available_cpus.
9438
5221d7a9
JJ
9439 PR libgomp/43569
9440 * sections.c (gomp_sections_init): Initialize ws->mode.
9441
289a9f86
UB
94422010-04-14 Uros Bizjak <ubizjak@gmail.com>
9443
9444 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9445 not unused bar variable.
9446 * configure: Regenerate.
9447
4d9e8446
RW
94482010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9449
9450 * Makefile.in: Regenerate.
9451 * aclocal.m4: Regenerate.
9452 * testsuite/Makefile.in: Regenerate.
9453
80f046cc
JJ
94542010-03-22 Jakub Jelinek <jakub@redhat.com>
9455
9456 PR libgomp/42942
9457 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9458 (initialize_env): Adjust callers.
9459 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9460 when the argument is 0.
9461
9462 * testsuite/libgomp.c/pr42942.c: New test.
9463
b58543c3
SP
94642010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9465
9466 PR middle-end/42644
9467 PR middle-end/42130
9468 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9469 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9470
41d1138f
RO
94712010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9472
9473 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9474 * testsuite/libgomp.c++/task-6.C: Likewise.
9475
6684eb28
SE
94762010-01-28 Steve Ellcey <sje@cup.hp.com>
9477
9478 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9479
2122aa97
PB
94802010-01-26 Paolo Bonzini <bonzini@gnu.org>
9481
9482 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9483 * configure: Regenerate.
9484
057dd91d
JJ
94852010-01-26 Jakub Jelinek <jakub@redhat.com>
9486
9487 PR fortran/42866
9488 * testsuite/libgomp.fortran/allocatable5.f90: New test.
9489
d0709b6a
PB
94902010-01-20 Paolo Bonzini <bonzini@gnu.org>
9491
9492 * configure.ac: Test for executability of GFORTRAN.
9493 * configure: Regenerate.
9494
b9497ab5
RO
94952010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9496
9497 * configure: Regenerate.
9498
45de5648
L
94992010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9500
9501 PR libgomp/42602
9502 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9503
e74003a1
RG
95042010-01-03 Richard Guenther <rguenther@suse.de>
9505
9506 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9507
1b3abda8
SP
95082009-12-23 Sebastian Pop <sebpop@gmail.com>
9509
9510 * testsuite/libgomp.graphite/pr4118.c: New.
9511
e19977d3
IS
95122009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9513
9514 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9515 for darwin, protect the test with require-effective-target tls_runtime.
9516 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9517
1d32a772
IS
95182009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9519
9520 PR target/41605
9521 * testsuite/lib/libgomp.exp: Provide -B options to allow for
9522 link spec %s substitutions for static libraries.
9523
deb109b2
JH
95242009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
9525
9526 PR testsuite/42135
9527 * libgomp.graphite/force-parallel-2.c: Reduce array size.
9528
43e02a8a
RW
95292009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9530
9531 * Makefile.in: Regenerate.
9532 * configure: Regenerate.
9533 * testsuite/Makefile.in: Regenerate.
9534
17f35e23
DK
95352009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
9536
9537 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9538 settings for LC_ALL and LANG.
9539
281e33e1
JJ
95402009-11-25 Jakub Jelinek <jakub@redhat.com>
9541
9542 PR fortran/42162
9543 * testsuite/libgomp.fortran/pr42162.f90: New test.
9544
2b32c27d
JJ
95452009-11-13 Jakub Jelinek <jakub@redhat.com>
9546
9547 PR middle-end/42029
281e33e1 9548 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 9549
89c74f4a
JJ
95502009-10-26 Jakub Jelinek <jakub@redhat.com>
9551
9552 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
9553 *s. Accept ld version without text in ()s.
9554 * configure: Regenerated.
9555
7e06c3d6
EB
95562009-10-22 Razya Ladelsky <razya@il.ibm.com>
9557
9558 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
9559
0046b1a7
RW
95602009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9561
9562 PR libgomp/41418
9563 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
9564 or a hyphen (happens with fortran language disabled).
9565 * configure: Regenerate.
9566
c82852f7
RW
95672009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9568
9569 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
9570 use sed script portable to Solaris /bin/sed for extracting ld
9571 version.
9572 * configure: Regenerate.
9573
98f3eb1f
AM
95742009-09-17 Alexander Monakov <amonakov@ispras.ru>
9575
9576 * testsuite/libgomp.graphite/bounds.c: New test.
9577
878f62e5
RW
95782009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9579
9580 * Makefile.am (libgomp_la_LINK): New.
9581 * Makefile.in: Regenerate.
9582
df58e648
RW
95832009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9584
9585 * configure.ac (AC_PREREQ): Bump to 2.64.
9586
5213506e
RW
95872009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9588
70fa0efa
RW
9589 * Makefile.am (install-html, install-pdf): Remove.
9590 * Makefile.in: Regenerate.
9591
5213506e
RW
9592 * Makefile.in: Regenerate.
9593 * aclocal.m4: Regenerate.
9594 * config.h.in: Regenerate.
9595 * configure: Regenerate.
9596 * testsuite/Makefile.in: Regenerate.
9597
84fec8a5
RW
95982009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9599
9600 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
9601 * Makefile.in: Regenerate.
9602
197c68cc
DK
96032009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
9604
9605 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
9606 * Makefile.in: Regenerate.
9607
693d54f2
TB
96082009-08-19 Tobias Burnus <burnus@net-b.de>
9609
9610 PR fortran/41102
9611 omp_lib.h.in: Fix -std=f95 errors.
9612
8cac884c
DE
96132009-08-14 David Edelsohn <edelsohn@gnu.org>
9614
9615 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
9616 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
9617 * testsuite/libgomp.graphite/graphite.exp: New.
9618
78729ee2
AT
96192009-08-05 Andreas Tobler <a.tobler@schweiz.org>
9620
9621 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
9622 only build.
9623
b13b7f39
DD
96242009-08-04 David Daney <ddaney@caviumnetworks.com>
9625
9626 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
9627 needed memory barrier semantics.
9628 * config/linux/mips/mutex.h: New file.
9629
1b3b24c2
RW
96302009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9631
9632 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
9633
396b7fa4
JM
96342009-07-16 Joseph Myers <joseph@codesourcery.com>
9635
9636 * configure: Regenerate.
9637
33cde516
RS
96382009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
9639
9640 PR testsuite/40699
9641 PR testsuite/40707
9642 PR testsuite/40709
9643 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
9644 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
9645 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
9646
bc21bfa5
RS
96472009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
9648
9649 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
9650 options when choosing a multilib.
9651
b30bfd40
RS
96522009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
9653
9654 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
9655 ld_library_path. Use add_path. Add just find_libgcc_s to
9656 ld_library_path, not every libgcc multilib directory.
9657 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
9658 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
9659 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
9660 Use add_path.
9661 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
9662
479c15c2
NF
96632009-06-09 Nathan Froyd <froydnj@codesourcery.com>
9664
9665 * Makefile.am (LTLDFLAGS): Define.
9666 (LINK): Define.
9667 * Makefile.in: Regenerate.
9668
667e6f89
JB
96692009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
9670
9671 PR fortran/39718
9672 * testsuite/libgomp.fortran/fortran.exp: Don't link with
9673 libgfortranbegin, check existence of libgfortran.a instead of
9674 libgfortranbegin.a.
9675
6dea8e99
JJ
96762009-05-20 Jakub Jelinek <jakub@redhat.com>
9677
9678 PR libgomp/40174
9679 * team.c (gomp_thread_start): Destroy thr->release semaphore.
9680 (gomp_free_pool_helper): Likewise.
9681
34d01e1d
VL
96822009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
9683 Jakub Jelinek <jakub@redhat.com>
9684
9685 PR fortran/35423
9686 * testsuite/libgomp.fortran/workshare2.f90: New test.
9687
748086b7
JJ
96882009-04-09 Nick Clifton <nickc@redhat.com>
9689
9690 * iter.c: Change copyright header to refer to version 3 of the
9691 GNU General Public License with version 3.1 of the GCC Runtime
9692 Library Exception and to point readers at the COPYING3 and
9693 COPYING3.RUNTIME files and the FSF's license web page.
9694 * alloc.c: Likewise.
9695 * barrier.c: Likewise.
9696 * config/bsd/proc.c: Likewise.
9697 * config/linux/affinity.c: Likewise.
9698 * config/linux/alpha/futex.h: Likewise.
9699 * config/linux/bar.c: Likewise.
9700 * config/linux/bar.h: Likewise.
9701 * config/linux/ia64/futex.h: Likewise.
9702 * config/linux/ia64/mutex.h: Likewise.
9703 * config/linux/lock.c: Likewise.
9704 * config/linux/mips/futex.h: Likewise.
9705 * config/linux/mutex.c: Likewise.
9706 * config/linux/mutex.h: Likewise.
9707 * config/linux/powerpc/futex.h: Likewise.
9708 * config/linux/proc.c: Likewise.
9709 * config/linux/ptrlock.c: Likewise.
9710 * config/linux/ptrlock.h: Likewise.
9711 * config/linux/s390/futex.h: Likewise.
9712 * config/linux/sem.c: Likewise.
9713 * config/linux/sem.h: Likewise.
9714 * config/linux/sparc/futex.h: Likewise.
9715 * config/linux/wait.h: Likewise.
9716 * config/linux/x86/futex.h: Likewise.
9717 * config/mingw32/proc.c: Likewise.
9718 * config/mingw32/time.c: Likewise.
9719 * config/posix/affinity.c: Likewise.
9720 * config/posix/bar.c: Likewise.
9721 * config/posix/bar.h: Likewise.
9722 * config/posix/lock.c: Likewise.
9723 * config/posix/mutex.h: Likewise.
9724 * config/posix/proc.c: Likewise.
9725 * config/posix/ptrlock.h: Likewise.
9726 * config/posix/sem.c: Likewise.
9727 * config/posix/sem.h: Likewise.
9728 * config/posix/time.c: Likewise.
9729 * config/posix95/lock.c: Likewise.
9730 * critical.c: Likewise.
9731 * env.c: Likewise.
9732 * error.c: Likewise.
9733 * fortran.c: Likewise.
9734 * iter_ull.c: Likewise.
9735 * libgomp.h: Likewise.
9736 * libgomp_f.h.in: Likewise.
9737 * libgomp_g.h: Likewise.
9738 * loop.c: Likewise.
9739 * loop_ull.c: Likewise.
9740 * omp.h.in: Likewise.
9741 * omp_lib.f90.in: Likewise.
9742 * omp_lib.h.in: Likewise.
9743 * ordered.c: Likewise.
9744 * parallel.c: Likewise.
9745 * sections.c: Likewise.
9746 * single.c: Likewise.
9747 * task.c: Likewise.
9748 * team.c: Likewise.
9749 * work.c: Likewise.
9750
97512009-04-09 Jakub Jelinek <jakub@redhat.com>
9752
9753 * testsuite/config/default.exp: Change copyright header to refer to
9754 version 3 of the GNU General Public License and to point readers
9755 at the COPYING3 file and the FSF's license web page.
9756
4f0ae266
JJ
97572009-04-08 Jakub Jelinek <jakub@redhat.com>
9758
9759 PR middle-end/39573
9760 * libgomp.c++/pr39573.C: New test.
9761
03742a9b
JJ
97622009-04-01 Jakub Jelinek <jakub@redhat.com>
9763
9764 PR other/39591
9765 * testsuite/libgomp.c/pr39591-1.c: New test.
9766 * testsuite/libgomp.c/pr39591-2.c: New test.
9767 * testsuite/libgomp.c/pr39591-3.c: New test.
9768
e50ea10b
UB
97692009-03-25 Uros Bizjak <ubizjak@gmail.com>
9770
9771 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9772 * testsuite/libgomp.c/atomic-6.c: Ditto.
9773
c5cdb03f
JJ
97742009-03-23 Jakub Jelinek <jakub@redhat.com>
9775
9776 PR c/39495
9777 * testsuite/libgomp.c/loop-12.c: New test.
9778 * testsuite/libgomp.c/loop-11.c: New test.
9779 * testsuite/libgomp.c++/loop-11.C: New test.
9780 * testsuite/libgomp.c++/loop-12.C: New test.
9781 * testsuite/libgomp.c++/for-8.C: New test.
9782
7a9d3fe8
RW
97832009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9784
9785 * configure: Regenerate.
9786
3ad6b266
JJ
97872009-02-11 Jakub Jelinek <jakub@redhat.com>
9788
9789 PR middle-end/39154
9790 * testsuite/libgomp.c/pr39154.c: New test.
9791
b39dea08
ILT
97922009-01-30 Ian Lance Taylor <iant@google.com>
9793
9794 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9795 libgomp_ld_is_gold. Get gold version number.
9796 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9797 * configure: Rebuild.
9798
72c66596
IS
97992009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9800
e50ea10b 9801 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
9802 use libgfortran.a%s in their specs.
9803
876080ff
JJ
98042009-01-07 Jakub Jelinek <jakub@redhat.com>
9805
9806 PR libgomp/38086
9807 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9808 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9809 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9810 * configure: Regenerated.
9811 * config.h.in: Likewise.
9812
e4ebaef3
JJ
98132008-12-28 Jakub Jelinek <jakub@redhat.com>
9814
9815 PR c++/38650
9816 * testsuite/libgomp.c/pr38650.c: New test.
9817 * testsuite/libgomp.c++/pr38650.C: New test.
9818
382017a6
JJ
98192008-12-27 Jakub Jelinek <jakub@redhat.com>
9820
9821 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9822
79644b27
UB
98232008-12-26 Uros Bizjak <ubizjak@gmail.com>
9824
9825 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9826
baafc534
RW
98272008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9828
9829 * configure: Regenerate.
9830
d9c194cb
JJ
98312008-12-08 Jakub Jelinek <jakub@redhat.com>
9832
9833 PR middle-end/36802
9834 * testsuite/libgomp.c/pr36802-1.c: New test.
9835 * testsuite/libgomp.c/pr36802-2.c: New test.
9836 * testsuite/libgomp.c/pr36802-3.c: New test.
9837
86a182bf
JJ
98382008-12-01 Janis Johnson <janis187@us.ibm.com>
9839
9840 PR libgomp/38270
9841 * config/linux/powerpc/mutex.h: New.
9842
956adfaf
JJ
98432008-12-01 Jakub Jelinek <jakub@redhat.com>
9844
a2d4cdc9
JJ
9845 PR c++/38257
9846 * testsuite/libgomp.c++/for-7.C: New test.
9847
956adfaf
JJ
9848 PR c++/38348
9849 * testsuite/libgomp.c++/for-6.C: New test.
9850
d4038ca2
JJ
98512008-11-26 Janis Johnson <janis187@us.ibm.com>
9852
9853 PR testsuite/28870
9854 * testsuite/lib/libgomp.exp: Include new timeout library files.
9855 (libgomp_target_compile): Set timeout value from new proc.
9856
8b159eea
SE
98572008-11-13 Steve Ellcey <sje@cup.hp.com>
9858
9859 PR libgomp/37938
9860 * config/linux/ia64/mutex.h: New.
9861
5c6ed53a
TB
98622008-11-04 Tobias Burnus <burnus@net-b.de>
9863
9864 PR libgomp/37935
9865 * libgomp.texi (Runtime library routines, environment variables):
9866 Update for OpenMP version 3.0.
9867
6b4a97ed
PG
98682008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9869 Steve Ellcey <sje@cup.hp.com>
9870
9871 * configure: Regenerate for new libtool.
9872 * Makefile.in: Ditto.
9873 * testsuite/Makefile.in: Ditto.
9874
e2b34106
JJ
98752008-09-19 Jakub Jelinek <jakub@redhat.com>
9876 Andreas Tobler <a.tobler@schweiz.org>
9877
9878 * config/bsd/proc.c: New file.
8c3b3600 9879 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9880 * configure.ac: Check for header <sys/sysctl.h>
9881 * configure: Regenerate.
9882 * config.h.in: Likewise.
9883
3606b8bf
JJ
98842008-09-05 Janis Johnson <janis187@us.ibm.com>
9885
9886 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9887
6528b88d
AL
98882008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9889
9890 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9891 * Makefile.in: Regenerated.
9892 * testsuite/Makefile.in: Regenerated.
9893
d9b14b12 98942008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9895
a16b68bb 9896 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9897 depend on blddir if blddir exists.
9898 (libgomp_target_compile): Likewise.
9899 * testsuite/libgomp.c++/c++.exp: Likewise.
9900 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9901
70b1e376
RW
99022008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9903
9904 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9905 Do not list GPL as Invariant Section.
9906
318e8c3f
IG
99072008-07-28 Ilie Garbacea <ilie@mips.com>
9908 Chao-ying Fu <fu@mips.com>
9909
9910 * configure.tgt: Enable futex for MIPS.
9911 * config/linux/mips/futex.h: New file.
9912
4db72361
JJ
99132008-07-16 Jakub Jelinek <jakub@redhat.com>
9914
9915 * team.c (gomp_team_end): Free team immediately if it has
9916 just one thread.
9917
87bd23b8
DE
99182008-07-08 David Edelsohn <edelsohn@gnu.org>
9919
9920 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9921 * testsuite/libgomp.fortran/fortran.exp: Same.
9922 * testsuite/libgomp.c/c.exp: Same.
9923 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9924 directory to library path first.
9925
323ff903
KW
99262008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9927
9928 * env.c (parse_stacksize): Add cast to avoid warning.
9929 (parse_spincount): Likewise.
9930
b357f682
JJ
99312008-06-27 Jakub Jelinek <jakub@redhat.com>
9932
ca2b1311
JJ
9933 * testsuite/libgomp.c/loop-10.c: New test.
9934 * libgomp.c/loop-3.c (main): Add lastprivate clause.
9935 * libgomp.c++/loop-6.C (main): Likewise.
9936
b357f682
JJ
9937 PR debug/36617
9938 * testsuite/libgomp.c/debug-1.c: New test.
9939
09a46078
JJ
99402008-06-19 Jakub Jelinek <jakub@redhat.com>
9941
9942 * testsuite/libgomp.c/nqueens-1.c: New test.
9943
2368a460
JJ
9944 PR c++/36523
9945 * testsuite/libgomp.c++/task-7.C: New function.
9946
18c04407
RW
99472008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9948
9949 * configure: Regenerate.
9950
9c4e59e0
JDA
99512008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9952
9953 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
9954 mutex when HAVE_SYNC_BUILTINS isn't defined.
9955
6ccde948
RW
99562008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9957
9958 * libgomp.texi (omp_test_lock): Fix typo.
9959
b896f9fd
TB
99602008-06-12 Tobias Burnus <burnus@net-b.de>
9961
9962 * omp_lib.f90.in: Add "implicit none".
9963
c34938a8
JJ
99642008-06-12 Jakub Jelinek <jakub@redhat.com>
9965
9966 PR middle-end/36506
9967 * testsuite/libgomp.c/reduction-5.c: New test.
9968
976e44e3
JJ
99692008-06-11 Jakub Jelinek <jakub@redhat.com>
9970
5f836cbb
JJ
9971 * libgomp.h (struct gomp_task): Add in_tied_task field.
9972 * task.c (gomp_init_task): Initialize it.
9973 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
9974 unconditionally. Don't call gomp_team_barrier_wake if
9975 current task is implicit or if(0) from implicit and number of
9976 running tasks is equal to nthreads - 1.
9977
01501fc8
JJ
9978 PR libgomp/36471
9979 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
9980 omp_get_team_size_8): Fix pastos.
9981
976e44e3
JJ
9982 PR libgomp/36469
9983 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
9984 * configure: Regenerated.
9985 * config.h.in: Regenerated.
9986 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
9987 defined.
9988
e919209b
AT
99892008-06-06 Andreas Tobler <a.tobler@schweiz.org>
9990
9991 PR bootstrap/36452
9992 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
9993 (GOMP_loop_ull_dynamic_start): Likewise.
9994 (GOMP_loop_ull_guided_start): Likewise.
9995 (GOMP_loop_ull_ordered_static_start): Likewise.
9996 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
9997 (GOMP_loop_ull_ordered_guided_start): Likewise.
9998
a68ab351
JJ
99992008-06-06 Jakub Jelinek <jakub@redhat.com>
10000 Richard Henderson <rth@redhat.com>
10001 Ulrich Drepper <drepper@redhat.com>
10002 Jakob Blomer <jakob.blomer@ira.uka.de>
10003
10004 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10005 Substitute also OMP_*LOCK_25*.
10006 * configure: Regenerated.
10007 * config.h.in: Regenerated.
10008 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10009 ptrlock.c and task.c.
10010 * Makefile.in: Regenerated.
10011 * testsuite/Makefile.in: Regenerated.
10012 * task.c: New file.
10013 * loop_ull.c: New file.
10014 * iter_ull.c: New file.
10015 * libgomp.h: Include ptrlock.h.
10016 (enum gomp_task_kind): New type.
10017 (struct gomp_team): Add task_lock, task_queue, task_count,
10018 task_running_count, single_count fields. Add
10019 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10020 Remove work_share_lock, generation_mask,
10021 oldest_live_gen, num_live_gen and init_work_shares fields, add
10022 work work_share_list_alloc, work_share_list_free and work_share_chunk
10023 fields. Change work_shares from pointer to pointers into an array.
10024 Change ordered_release field into gomp_sem_t ** from flexible array
10025 member. Add implicit_task and initial_work_shares fields.
10026 Move close to the end of the struct.
10027 (struct gomp_team_state): Add single_count, last_work_share,
10028 active_level and level fields, remove work_share_generation.
10029 (gomp_barrier_handle_tasks): New prototype.
10030 (gomp_finish_task): New inline function.
10031 (struct gomp_work_share): Move chunk_size, end, incr into
10032 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10033 next_ll fields. Reshuffle fields. Add next_alloc,
10034 next_ws, next_free and inline_ordered_team_ids fields, change
10035 ordered_team_ids into pointer from flexible array member.
10036 Add mode field. Put lock and next into a different cache line
10037 from most of the write-once fields.
10038 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10039 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10040 gomp_iter_ull_guided_next): New prototypes.
10041 (gomp_new_icv): New prototype.
10042 (struct gomp_thread): Add thread_pool and task fields.
10043 (struct gomp_thread_pool): New type.
10044 (gomp_new_team): New prototype.
10045 (gomp_team_start): Change type of last argument.
10046 (gomp_new_work_share): Removed.
10047 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10048 (gomp_work_share_init_done): New static inline.
10049 (gomp_throttled_spin_count_var, gomp_available_cpus,
10050 gomp_managed_threads): New extern decls.
10051 (gomp_init_task): New prototype.
10052 (gomp_spin_count_var): New extern var decl.
10053 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10054 or no alias support, or if not PIC.
10055 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10056 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10057 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10058 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10059 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10060 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10061 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10062 gomp_test_nest_lock_25): New prototypes.
10063 (omp_lock_symver, strong_alias): Define.
10064 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10065 decls.
10066 (gomp_end_task): New.
10067 (struct gomp_task_icv, gomp_global_icv): New.
10068 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10069 (struct gomp_task): New.
10070 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10071 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10072 (gomp_icv): New.
10073 (gomp_schedule_type): Reorder enum to match
10074 omp_sched_t.
10075 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10076 fields.
10077 (gomp_thread_start): Add gomp_team_barrier_wait call.
10078 For non-nested case remove clearing of docked thread thr fields.
10079 Use pool fields instead of global gomp_* variables. Use
10080 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10081 Create tasks for each member thread.
10082 (free_team): Only destroy team barrier, task_lock here and free it.
10083 (gomp_free_thread): Free last_team if non-NULL.
10084 (gomp_team_end): Call gomp_team_barrier_wait instead of
10085 gomp_barrier_wait. For nested case call one extra
10086 gomp_barrier_wait. Move here some destruction from free_team.
10087 Call free_team on pool->last_team if any, rather than freeing
10088 current team. Destroy work_share_list_free_lock ifndef
10089 HAVE_SYNC_BUILTINS.
10090 (gomp_new_icv): New function.
10091 (gomp_threads, gomp_threads_size, gomp_threads_used,
10092 gomp_threads_dock): Removed.
10093 (gomp_thread_destructor): New variable.
10094 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10095 functions.
10096 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 10097 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
10098 Initialize thread_pool field for new threads. Clear single_count.
10099 Change last argument from ws to team, don't create
10100 new team, set ts.work_share to &team->work_shares[0] and clear
10101 ts.last_work_share. Don't clear ts.work_share_generation.
10102 If number of threads changed, adjust atomically gomp_managed_threads.
10103 Use gomp_init_task instead of gomp_new_task,
10104 set thr->task to the corresponding implicit_task array entry.
10105 Create tasks for each member thread. Initialize ts.level.
10106 (initialize_team): Call pthread_key_create on
10107 gomp_thread_destructor.
10108 (team_destructor): New function.
10109 (new_team): Removed.
10110 (gomp_new_team): New function.
10111 (free_team): Free gomp_work_share blocks chained through next_alloc,
10112 instead of freeing work_shares and destroying work_share_lock.
10113 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10114 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10115 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10116 of gomp_barrier_wait.
10117 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10118 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10119 if gomp_work_share_start returned true. Don't unlock ws->lock.
10120 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10121 of gomp_barrier_wait.
10122 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10123 gomp_work_share_init_done if gomp_work_share_start returned true.
10124 Don't unlock ws->lock.
10125 * work.c: Include stddef.h.
10126 (free_work_share): Use work_share_list_free_lock instead
10127 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10128 Call gomp_fini_work_share and then either free ws if orphaned, or
10129 put it into work_share_list_free list of the current team.
10130 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10131 functions.
10132 (gomp_work_share_start, gomp_work_share_end,
10133 gomp_work_share_end_nowait): Rewritten.
10134 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10135 (openmp_version): Set to 200805.
10136 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10137 omp_sched_guided, omp_sched_auto): New parameters.
10138 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10139 omp_set_max_active_levels, omp_get_max_active_levels,
10140 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10141 omp_get_active_level): New interfaces.
10142 * omp_lib.h.in (openmp_version): Set to 200805.
10143 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10144 omp_sched_guided, omp_sched_auto): New parameters.
10145 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10146 omp_set_max_active_levels, omp_get_max_active_levels,
10147 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10148 omp_get_active_level): New externals.
10149 * loop.c: Include limits.h.
10150 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10151 GFS_AUTO.
10152 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10153 Likewise. Use gomp_icv.
10154 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10155 ts.static_trip here.
10156 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10157 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10158 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10159 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10160 don't unlock ws->lock, otherwise lock it.
10161 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10162 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10163 (gomp_parallel_loop_start): Call gomp_new_team instead of
10164 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10165 Adjust gomp_team_start caller. Pass 0 as second argument to
10166 gomp_resolve_num_threads.
10167 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10168 If adding ws->chunk_size nthreads + 1 times after end won't
10169 overflow, set ws->mode to 1.
10170 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10171 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10172 GOMP_loop_ull_ordered_static_start,
10173 GOMP_loop_ull_ordered_dynamic_start,
10174 GOMP_loop_ull_ordered_guided_start,
10175 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10176 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10177 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10178 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10179 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10180 prototypes.
10181 * libgomp.map: Export lock routines also @@OMP_2.0.
10182 (GOMP_loop_ordered_dynamic_first,
10183 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10184 GOMP_loop_ordered_static_first): Remove.
10185 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10186 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10187 GOMP_loop_ull_ordered_dynamic_next,
10188 GOMP_loop_ull_ordered_dynamic_start,
10189 GOMP_loop_ull_ordered_guided_next,
10190 GOMP_loop_ull_ordered_guided_start,
10191 GOMP_loop_ull_ordered_runtime_next,
10192 GOMP_loop_ull_ordered_runtime_start,
10193 GOMP_loop_ull_ordered_static_next,
10194 GOMP_loop_ull_ordered_static_start,
10195 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10196 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10197 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10198 (omp_set_schedule, omp_get_schedule,
10199 omp_get_thread_limit, omp_set_max_active_levels,
10200 omp_get_max_active_levels, omp_get_level,
10201 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10202 omp_set_schedule_, omp_set_schedule_8_,
10203 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10204 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10205 omp_get_max_active_levels_, omp_get_level_,
10206 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10207 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10208 New exports @@OMP_3.0.
10209 * omp.h.in (omp_sched_t): New type.
10210 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10211 omp_set_max_active_levels, omp_get_max_active_levels,
10212 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10213 omp_get_active_level): New prototypes.
10214 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10215 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10216 gomp_thread_limit_var, gomp_remaining_threads_count,
10217 gomp_remaining_threads_lock): New variables.
10218 (parse_spincount): New function.
10219 (initialize_env): Call gomp_init_num_threads unconditionally.
10220 Initialize gomp_available_cpus. Call parse_spincount,
10221 initialize gomp_{,throttled_}spin_count_var
10222 depending on presence and value of OMP_WAIT_POLICY and
10223 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10224 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10225 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10226 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10227 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10228 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10229 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10230 (gomp_global_icv): New.
10231 (parse_schedule): Use it. Parse "auto".
10232 (omp_set_num_threads): Use gomp_icv.
10233 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10234 Likewise.
10235 (omp_get_max_threads): Move from parallel.c.
10236 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10237 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10238 add ialias.
10239 (parse_stacksize, parse_wait_policy): New functions.
10240 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10241 both wrappers for compatibility and new locks.
10242 (omp_set_schedule, omp_get_schedule,
10243 omp_get_thread_limit, omp_set_max_active_levels,
10244 omp_get_max_active_levels, omp_get_level,
10245 omp_get_ancestor_thread_num, omp_get_team_size,
10246 omp_get_active_level): New ialias_redirect.
10247 (omp_set_schedule_, omp_set_schedule_8_,
10248 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10249 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10250 omp_get_max_active_levels_, omp_get_level_,
10251 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10252 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10253 New functions.
10254 * parallel.c: Include limits.h.
10255 (gomp_resolve_num_threads): Add count argument. Rewritten.
10256 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10257 argument to gomp_team_start. Pass 0 as second argument to
10258 gomp_resolve_num_threads.
10259 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10260 if gomp_thread_limit_var != ULONG_MAX.
10261 (omp_in_parallel): Implement using ts.active_level.
10262 (omp_get_max_threads): Move to env.c.
10263 (omp_get_level, omp_get_ancestor_thread_num,
10264 omp_get_team_size, omp_get_active_level): New functions,
10265 add ialias.
10266 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10267 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10268 gomp_iter_dynamic_next instead of the _locked variant and don't take
10269 lock around it, otherwise acquire it before calling
10270 gomp_iter_dynamic_next_locked.
10271 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10272 gomp_iter_dynamic_next instead of the _locked variant and don't take
10273 lock around it.
10274 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10275 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10276 Adjust gomp_team_start caller. Pass count as second argument to
10277 gomp_resolve_num_threads, don't adjust num_threads after the call.
10278 Use gomp_icv.
10279 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10280 ws->chunk_size by incr.
10281 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10282 code.
10283 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10284 types.
10285 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10286 (omp_check_defines): Check even the compat defines.
10287 * config/linux/ptrlock.c: New file.
10288 * config/linux/ptrlock.h: New file.
10289 * config/linux/wait.h: New file.
10290 * config/posix/ptrlock.c: New file.
10291 * config/posix/ptrlock.h: New file.
10292 * config/linux/bar.h (gomp_team_barrier_wait,
10293 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10294 (gomp_team_barrier_set_task_pending,
10295 gomp_team_barrier_clear_task_pending,
10296 gomp_team_barrier_set_waiting_for_tasks,
10297 gomp_team_barrier_waiting_for_tasks,
10298 gomp_team_barrier_done): New inlines.
10299 (gomp_barrier_t): Rewritten.
10300 (gomp_barrier_state_t): New typedef.
10301 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10302 gomp_barrier_wait_start): Rewritten.
10303 (gomp_barrier_wait_end): Change second argument to
10304 gomp_barrier_state_t.
10305 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10306 inlines.
10307 * config/linux/bar.c: Include wait.h instead of libgomp.h and
10308 futex.h.
10309 (gomp_barrier_wait_end): Rewritten.
10310 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10311 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10312 * config/posix/bar.h (gomp_barrier_t): Add generation field.
10313 (gomp_barrier_state_t): New typedef.
10314 (gomp_team_barrier_wait,
10315 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10316 (gomp_barrier_wait_start): Or all but low 2 bits from generation
10317 into the return value. Return gomp_barrier_state_t.
10318 (gomp_team_barrier_set_task_pending,
10319 gomp_team_barrier_clear_task_pending,
10320 gomp_team_barrier_set_waiting_for_tasks,
10321 gomp_team_barrier_waiting_for_tasks,
10322 gomp_team_barrier_done): New inlines.
10323 (gomp_barrier_wait_end): Change second argument to
10324 gomp_barrier_state_t.
10325 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10326 inlines.
10327 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10328 (gomp_barrier_wait_end): Change second argument to
3e348fcc 10329 gomp_barrier_state_t.
a68ab351
JJ
10330 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10331 gomp_team_barrier_wake): New functions.
10332 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10333 futex.h.
10334 (gomp_futex_wake, gomp_futex_wait): New variables.
10335 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10336 * config/linux/lock.c: Rewrite to make locks task owned,
10337 for backwards compatibility provide the old entrypoints
10338 if symbol versioning. Include wait.h instead of libgomp.h and
10339 futex.h.
10340 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10341 * config/posix95/lock.c: Rewrite to make locks task owned,
10342 for backwards compatibility provide the old entrypoints
10343 if symbol versioning.
10344 * config/posix/lock.c: Rewrite to make locks task owned,
10345 for backwards compatibility provide the old entrypoints
10346 if symbol versioning.
10347 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10348 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10349 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10350 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10351 (sys_futex0): Return error code.
10352 (futex_wake, futex_wait): If ENOSYS was returned, clear
10353 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10354 (cpu_relax, atomic_write_barrier): New static inlines.
10355 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10356 (futex_wake, futex_wait): If ENOSYS was returned, clear
10357 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10358 (cpu_relax, atomic_write_barrier): New static inlines.
10359 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10360 (sys_futex0): Return error code.
10361 (futex_wake, futex_wait): If ENOSYS was returned, clear
10362 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10363 (cpu_relax, atomic_write_barrier): New static inlines.
10364 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10365 (sys_futex0): Return error code.
10366 (futex_wake, futex_wait): If ENOSYS was returned, clear
10367 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10368 (cpu_relax, atomic_write_barrier): New static inlines.
10369 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10370 (sys_futex0): Return error code.
10371 (futex_wake, futex_wait): If ENOSYS was returned, clear
10372 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10373 (cpu_relax, atomic_write_barrier): New static inlines.
10374 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10375 (sys_futex0): Return error code.
10376 (futex_wake, futex_wait): If ENOSYS was returned, clear
10377 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10378 (cpu_relax, atomic_write_barrier): New static inlines.
10379 * config/linux/sem.c: Include wait.h instead of libgomp.h and
10380 futex.h.
10381 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10382 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10383 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10384 types.
10385 (omp_nest_lock_t): Change owner into void *, add lock field.
10386 * config/posix95/omp-lock.h: Include semaphore.h.
10387 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10388 (omp_lock_t): Use sem_t instead of mutex if semaphores
10389 aren't broken.
10390 (omp_nest_lock_t): Likewise. Change owner to void *.
10391 * config/posix/omp-lock.h: Include semaphore.h.
10392 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10393 (omp_lock_t): Use sem_t instead of mutex if semaphores
10394 aren't broken.
10395 (omp_nest_lock_t): Likewise. Add owner field.
10396
103972008-06-06 Jakub Jelinek <jakub@redhat.com>
10398
10399 * testsuite/libgomp.c/collapse-1.c: New test.
10400 * testsuite/libgomp.c/collapse-2.c: New test.
10401 * testsuite/libgomp.c/collapse-3.c: New test.
10402 * testsuite/libgomp.c/icv-1.c: New test.
10403 * testsuite/libgomp.c/icv-2.c: New test.
10404 * testsuite/libgomp.c/lib-2.c: New test.
10405 * testsuite/libgomp.c/lock-1.c: New test.
10406 * testsuite/libgomp.c/lock-2.c: New test.
10407 * testsuite/libgomp.c/lock-3.c: New test.
10408 * testsuite/libgomp.c/loop-4.c: New test.
10409 * testsuite/libgomp.c/loop-5.c: New test.
10410 * testsuite/libgomp.c/loop-6.c: New test.
10411 * testsuite/libgomp.c/loop-7.c: New test.
10412 * testsuite/libgomp.c/loop-8.c: New test.
10413 * testsuite/libgomp.c/loop-9.c: New test.
10414 * testsuite/libgomp.c/nested-3.c: New test.
10415 * testsuite/libgomp.c/nestedfn-6.c: New test.
10416 * testsuite/libgomp.c/sort-1.c: New test.
10417 * testsuite/libgomp.c/task-1.c: New test.
10418 * testsuite/libgomp.c/task-2.c: New test.
10419 * testsuite/libgomp.c/task-3.c: New test.
10420 * testsuite/libgomp.c/task-4.c: New test.
10421 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10422 to C++ testsuite default compiler options.
10423 * testsuite/libgomp.c++/collapse-1.C: New test.
10424 * testsuite/libgomp.c++/collapse-2.C: New test.
10425 * testsuite/libgomp.c++/ctor-10.C: New test.
10426 * testsuite/libgomp.c++/for-1.C: New test.
10427 * testsuite/libgomp.c++/for-2.C: New test.
10428 * testsuite/libgomp.c++/for-3.C: New test.
10429 * testsuite/libgomp.c++/for-4.C: New test.
10430 * testsuite/libgomp.c++/for-5.C: New test.
10431 * testsuite/libgomp.c++/loop-8.C: New test.
10432 * testsuite/libgomp.c++/loop-9.C: New test.
10433 * testsuite/libgomp.c++/loop-10.C: New test.
10434 * testsuite/libgomp.c++/task-1.C: New test.
10435 * testsuite/libgomp.c++/task-2.C: New test.
10436 * testsuite/libgomp.c++/task-3.C: New test.
10437 * testsuite/libgomp.c++/task-4.C: New test.
10438 * testsuite/libgomp.c++/task-5.C: New test.
10439 * testsuite/libgomp.c++/task-6.C: New test.
10440 * testsuite/libgomp.fortran/allocatable1.f90: New test.
10441 * testsuite/libgomp.fortran/allocatable2.f90: New test.
10442 * testsuite/libgomp.fortran/allocatable3.f90: New test.
10443 * testsuite/libgomp.fortran/allocatable4.f90: New test.
10444 * testsuite/libgomp.fortran/collapse1.f90: New test.
10445 * testsuite/libgomp.fortran/collapse2.f90: New test.
10446 * testsuite/libgomp.fortran/collapse3.f90: New test.
10447 * testsuite/libgomp.fortran/collapse4.f90: New test.
10448 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10449 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10450 * testsuite/libgomp.fortran/lib4.f90: New test.
10451 * testsuite/libgomp.fortran/lock-1.f90: New test.
10452 * testsuite/libgomp.fortran/lock-2.f90: New test.
10453 * testsuite/libgomp.fortran/nested1.f90: New test.
10454 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10455 * testsuite/libgomp.fortran/strassen.f90: New test.
10456 * testsuite/libgomp.fortran/tabs1.f90: New test.
10457 * testsuite/libgomp.fortran/tabs2.f: New test.
10458 * testsuite/libgomp.fortran/task1.f90: New test.
10459 * testsuite/libgomp.fortran/task2.f90: New test.
10460 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10461 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10462 * testsuite/libgomp.c/pr26943-2.c: Likewise.
10463 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10464 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10465
7a0112e7
JJ
104662008-05-23 Jakub Jelinek <jakub@redhat.com>
10467
10468 PR c++/36308
10469 * testsuite/libgomp.c++/ctor-11.C: New test.
10470 * testsuite/libgomp.c++/ctor-12.C: New test.
10471
91a5b394
JJ
104722008-05-15 Janis Johnson <janis187@us.ibm.com>
10473
10474 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10475
c18c98c0
JJ
104762008-05-07 Jakub Jelinek <jakub@redhat.com>
10477
10478 PR middle-end/36106
10479 * testsuite/libgomp.c/atomic-5.c: New test.
10480 * testsuite/libgomp.c/atomic-6.c: New test.
10481 * testsuite/libgomp.c/autopar-1.c: New test.
10482
6d26724a
RW
104832008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10484
10485 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10486 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10487 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10488 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10489 * configure: Regenerate.
10490 * Makefile.in, testsuite/Makefile.in: Likewise.
10491
deb984e6
PB
104922008-04-18 Paolo Bonzini <bonzini@gnu.org>
10493
10494 PR bootstrap/35457
10495 * aclocal.m4: Regenerate.
10496 * configure: Regenerate.
10497
9e775963
JJ
104982008-03-18 Jakub Jelinek <jakub@redhat.com>
10499
8119fc93
JJ
10500 PR middle-end/35611
10501 * testsuite/libgomp.c/atomic-4.c: New test.
10502
9e775963
JJ
10503 PR libgomp/35625
10504 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10505 (gomp_iter_guided_next): Likewise.
10506 * testsuite/libgomp.c/pr35625.c: New test.
10507
38d24731
RW
105082008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10509
10510 * aclocal.m4: Regenerate.
10511 * configure: Likewise.
10512 * Makefile.in: Likewise.
10513 * testsuite/Makefile.in: Likewise.
10514
d0fb20be
JJ
105152008-03-13 Jakub Jelinek <jakub@redhat.com>
10516
10517 PR middle-end/35185
10518 * testsuite/libgomp.c++/pr35185.C: New test.
10519
7c8f7639
JJ
105202008-03-12 Jakub Jelinek <jakub@redhat.com>
10521
10522 PR middle-end/35549
10523 * testsuite/libgomp.c/pr35549.c: New test.
10524
251923f5
JJ
105252008-03-06 Jakub Jelinek <jakub@redhat.com>
10526
10527 * testsuite/libgomp.c/atomic-3.c: New test.
10528
f489fba1
FXC
105292008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10530
10531 PR fortran/33197
251923f5 10532 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
10533 .F08 file suffixes.
10534
a1b25e49
PG
105352008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
10536
10537 PR libgomp/33131
10538 * configure.ac: Add ACX_HEADER_STRING.
10539 * env.c: Include strings.h.
10540 * aclocal.m4: Regenerate.
10541 * config.h.in: Regenerate.
10542 * configure: Regenerate.
10543 * Makefile.in: Regenerate.
10544 * testsuite/Makefile.in: Regenerate.
10545
6837b3b8
JJ
105462008-02-15 Jakub Jelinek <jakub@redhat.com>
10547
ac84c062
JJ
10548 PR middle-end/35196
10549 * testsuite/libgomp.c/pr35196.c: New test.
10550
6837b3b8
JJ
10551 PR middle-end/35130
10552 * testsuite/libgomp.fortran/pr35130.f90: New test.
10553 * testsuite/libgomp.c/pr35130.c: New test.
10554
c256730c
JJ
105552008-01-25 Jakub Jelinek <jakub@redhat.com>
10556
10557 PR middle-end/33880
10558 * testsuite/libgomp.c/pr33880.c: New test.
10559 * testsuite/libgomp.fortran/pr33880.f90: New test.
10560
c8e95542 105612008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
10562
10563 * configure: Regenerate.
10564
0f3e711e
JJ
105652008-01-08 Jakub Jelinek <jakub@redhat.com>
10566
10567 * configure.ac: Move futex checking into ../config/futex.m4.
10568 * configure: Rebuilt.
10569 * aclocal.m4: Rebuilt.
10570 * Makefile.in: Rebuilt.
10571
10572 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
10573 2007-10-15 ../config/tls.m4 change.
10574
5259c813
JJ
105752007-12-19 Jakub Jelinek <jakub@redhat.com>
10576
10577 PR c++/34513
10578 * testsuite/libgomp.c/pr34513.c: New test.
10579 * testsuite/libgomp.c++/pr34513.C: New test.
10580
ae8d8879
JH
105812007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
10582
10583 PR target/32765
10584 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
10585
2b4cf991
JJ
105862007-12-04 Jakub Jelinek <jakub@redhat.com>
10587
10588 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
10589
d2dda7fe
JJ
105902007-12-03 Jakub Jelinek <jakub@redhat.com>
10591
10592 * testsuite/libgomp.c/private-1.c: New test.
10593
d683ec81
PB
105942007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
10595 Paolo Bonzini <bonzini@gnu.org>
10596
10597 * Makefile.am: Use space as vpath separator. Use 'vpath %'
10598 instead of 'VPATH ='.
10599 * Makefile.in: Regenerate.
10600
a7415017
MK
106012007-11-23 Matthias Klose <doko@ubuntu.com>
10602
10603 * configure.ac: Adjust makeinfo version check.
10604 * configure: Regenerate.
10605
78e47463
JJ
106062007-11-10 Jakub Jelinek <jakub@redhat.com>
10607
10608 PR fortran/34020
10609 * testsuite/libgomp.fortran/pr34020.f90: New test.
10610
239371f9
JJ
106112007-11-06 Jakub Jelinek <jakub@redhat.com>
10612
10613 PR c++/33894
10614 * testsuite/libgomp.c++/atomic-1.C: New test.
10615
98a5fa94
JJ
106162007-10-25 Jakub Jelinek <jakub@redhat.com>
10617
10618 PR libgomp/33275
10619 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
10620 Make x and y integers rather than (implicit) reals. Add private (j)
10621 clause to the last omp parallel.
10622
3afcaaf4
MR
106232007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
10624
10625 * configure: Regenerate following changes to ../config/tls.m4.
10626
bd69daef
JJ
106272007-09-28 Jakub Jelinek <jakub@redhat.com>
10628
10629 * testsuite/libgomp.fortran/stack.f90: New test.
10630
1d0bd356
DS
106312007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
10632
10633 * config/mingw32/proc.c: New file.
10634
b3172cab
UB
106352007-09-05 Uros Bizjak <ubizjak@gmail.com>
10636
10637 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
10638 (main): Use __get_cpuid to get i386 target fetaures.
10639 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
10640 (main): Use __get_cpuid to get x86_64 target fetaures.
10641
6da17392
JH
106422007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
10643
10644 PR target/32765
10645 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
10646 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
10647
e1c82219
JJ
106482007-07-12 Jakub Jelinek <jakub@redhat.com>
10649
10650 PR fortran/32550
10651 * testsuite/libgomp.fortran/pr32550.f90: New test.
10652 * testsuite/libgomp.fortran/crayptr2.f90: New test.
10653
12a27363
L
106542007-07-05 H.J. Lu <hongjiu.lu@intel.com>
10655
10656 * aclocal.m4: Regenerated.
10657
5349080d
TB
106582007-07-05 Tobias Burnus <burnus@net-b.de>
10659
10660 PR fortran/32359
10661 * testsuite/libgomp.fortran/pr32359.f90: New.
10662
4f9c450c
JJ
106632007-07-02 Jakub Jelinek <jakub@redhat.com>
10664
10665 PR libgomp/32468
10666 * sections.c (GOMP_parallel_sections_start): Only decrease
10667 number of threads to COUNT if dyn_var is true.
10668 * testsuite/libgomp.c/pr32468.c: New test.
10669
28c67ed7
RO
106702007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10671
10672 PR libgomp/26308
10673 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10674
64964499
JJ
106752007-06-21 Jakub Jelinek <jakub@redhat.com>
10676
10677 PR middle-end/32362
10678 * testsuite/libgomp.c/pr32362-1.c: New test.
10679 * testsuite/libgomp.c/pr32362-2.c: New test.
10680 * testsuite/libgomp.c/pr32362-3.c: New test.
10681
46d8fbd1
JJ
106822007-06-07 Jakub Jelinek <jakub@redhat.com>
10683
10684 * team.c (gomp_team_start): Fix setting up thread_attr
10685 stack size.
10686
82a6cadf
PB
106872007-06-02 Paolo Bonzini <bonzini@gnu.org>
10688
10689 * configure: Regenerate.
10690
1cf3d07d
SE
106912007-05-23 Steve Ellcey <sje@cup.hp.com>
10692
10693 * Makefile.in: Regenerate.
10694 * configure: Regenerate.
10695 * aclocal.m4: Regenerate.
10696 * testsuite/Makefile.in: Regenerate.
10697
12aac30b
JJ
106982007-05-04 Jakub Jelinek <jakub@redhat.com>
10699
10700 * config/linux/proc.c: New file.
10701
f1028b02
JJ
10702 PR libgomp/28482
10703 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10704
06785a48
DF
107052007-04-19 Daniel Franke <franke.daniel@gmail.com>
10706
10707 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10708
b3b08ba0
MK
107092007-04-16 Matthias Klose <doko@debian.org>
10710
10711 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10712 flags if not building with -m64.
10713 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10714 flag for i?86-*-* targets, if current target matches -m64.
10715
6b2c5ce0
SE
107162007-04-14 Steve Ellcey <sje@cup.hp.com>
10717
10718 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10719 * Makefile.in: Regenerate.
10720
dd56fe7c
JDA
107212007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10722
10723 PR testsuite/31369
10724 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10725 ld_library_path.
10726 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10727
a0884cf0
JJ
107282007-04-04 Jakub Jelinek <jakub@redhat.com>
10729
10730 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10731 decls.
10732 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10733 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10734 (parse_affinity): New function.
10735 (initialize_env): Call it and gomp_init_affinity.
10736 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10737 create new pthread_attr_t and call gomp_init_thread_affinity
10738 on it for each thread before passing the attribute to pthread_create.
10739 * config/linux/affinity.c: New file.
10740 * config/posix/affinity.c: New file.
10741 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10742 * configure: Rebuilt.
10743 * config.h.in: Rebuilt.
10744 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10745 * Makefile.in: Rebuilt.
10746
1850744b
AT
107472007-03-23 Andreas Tobler <a.tobler@schweiz.org>
10748
10749 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10750 *-*-darwin*.
10751 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10752 and use it if found.
10753
516f1ed8
UB
107542007-03-18 Uros Bizjak <ubizjak@gmail.com>
10755
10756 * testsuite/config/default.exp: New file.
10757 * testsuite/lib/libgomp.exp: New file.
10758 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10759 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10760 load_lib *, load_gcc_lib *): Move to libgomp.exp.
10761 (libgomp_load): Remove.
10762 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10763 always_ld_library_path, not ld_library_path. Set additional_flags
10764 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10765 (target_compile): Do not call libgomp_init. Append lang_library_path
10766 and lang_link_flags to options.
10767 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10768 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10769 here.
10770 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10771 always_ld_library_path. Set LD_LIBRARY_PATH here.
10772 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10773 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10774 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10775 CX8 flag.
10776 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10777 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10778 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10779 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10780 * testsuite/libgomp.c/atomic-10.c: Ditto.
10781
2ada56f5
JJ
107822007-03-21 Jakub Jelinek <jakub@redhat.com>
10783
10784 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10785 dg-final cleanup-modules line.
10786 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10787 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10788 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10789 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10790 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10791 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10792 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10793
f210f1cd
AS
107942007-03-18 Andreas Schwab <schwab@suse.de>
10795
10796 * acinclude.m4: Adjust regular expression for ld version
10797 extraction.
10798 * configure: Regenerate.
10799
c4dc950d
BM
108002007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10801
10802 * Makefile.am: Add install-pdf target as copied from
10803 automake v1.10 rules.
10804 * Makefile.in: Regenerate
10805
e02a048f
JJ
108062007-02-07 Jakub Jelinek <jakub@redhat.com>
10807
78e075d4
JJ
10808 PR libgomp/28486
10809 * configure: Regenerate.
10810
e02a048f
JJ
10811 PR c++/30703
10812 * testsuite/libgomp.c++/pr30703.C: New test.
10813
60def7ed
JJ
108142007-02-02 Jakub Jelinek <jakub@redhat.com>
10815
10816 Revert:
10817 2006-07-05 Eric Christopher <echristo@apple.com>
10818 * configure.ac: Depend addition of -pthread on host OS.
10819 * configure: Regenerate.
10820
f1b0882e
RW
108212007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10822
10823 * libgomp.texi: Fix spacing after abbreviations.
10824
748b9d7c
DF
108252007-01-31 Daniel Franke <franke.daniel@gmail.com>
10826
10827 PR libgomp/30546
10828 * configure.ac: Add check for makeinfo
10829 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10830 if an appropiate version of makeinfo is found.
10831 * aclocal.m4: Regenerated.
10832 * configure: Regenerated.
10833 * Makefile.in: Regenerated.
10834 * testsuite/Makefile.in: Regenerated.
10835
14734fc7
DF
108362007-01-29 Daniel Franke <franke.daniel@gmail.com>
10837
10838 PR libgomp/30540
10839 * libgomp.texi: More about implementation-dependent settings.
10840
7befd5d2
TB
108412007-01-26 Tobias Burnus <burnus@net-b.de>
10842
10843 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10844
4288fea2
JJ
108452007-01-24 Jakub Jelinek <jakub@redhat.com>
10846
10847 PR middle-end/30494
10848 * testsuite/libgomp.c/pr30494.c: New test.
10849
627ab4b8
TT
108502007-01-15 Tom Tromey <tromey@redhat.com>
10851
10852 * configure: Rebuilt.
10853 * configure.ac: Fixed comment.
10854
7c2b7f45
DF
108552007-01-14 Daniel Franke <franke.daniel@gmail.com>
10856
10857 * libgomp.texi: Document implementation specific default values of
10858 environment variables.
10859
3721b9e1
DF
108602006-12-21 Daniel Franke <franke.daniel@gmail.com>
10861
10862 PR libgomp/28209
10863 * libgomp.texi: New file.
10864 * configure.ac: Add --enable-generated-files-in-srcdir option.
10865 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10866 files to srcdir.
10867 * Makefile.in: Regenerated.
10868 * config.h.in: Regenerated.
10869 * testsuite/Makefile.in: Regenerated.
10870 * NOTES: Removed.
10871
62bd6216
DF
108722006-12-04 Daniel Franke <franke.daniel@gmail.com>
10873
10874 PR libgomp/29949
10875 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10876
aad741f4
EB
108772006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10878
10879 * configure: Regenerate.
10880
22568cc6
JJ
108812006-12-04 Jakub Jelinek <jakub@redhat.com>
10882
10883 PR libgomp/29947
10884 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10885 start if there shouldn't be any loop iterations.
10886 (gomp_loop_ordered_static_start): Remove start == end test.
10887 * testsuite/libgomp.c/pr29947-1.c: New test.
10888 * testsuite/libgomp.c/pr29947-2.c: New test.
10889
a9690009
EB
108902006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10891
10892 * configure.tgt: Force initial-exec TLS model on Linux only.
10893
597c25e6
DJ
108942006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10895
10896 * configure: Regenerated.
10897
6acf0b38
UB
108982006-11-09 Uros Bizjak <ubizjak@gmail.com>
10899
10900 * env.c (parse_schedule): Reject out of range values.
10901 (parse_unsigned_long): Reject out of range, negative or zero values.
10902
a7a53ca5
JJ
109032006-10-29 Jakub Jelinek <jakub@redhat.com>
10904
10905 PR fortran/29629
10906 * testsuite/libgomp.fortran/pr29629.f90: New test.
10907
6d4d216a
EB
109082006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10909
10910 PR libgomp/29494
10911 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10912 * config/posix95: New directory.
10913 * config/posix95/omp-lock.h: New file.
10914 * config/posix95/lock.c: Likewise.
10915
5b043f08
GK
109162006-10-14 Geoffrey Keating <geoffk@apple.com>
10917
10918 * aclocal.m4: Regenerate.
10919 * configure: Regenerate.
10920
b50019f0
DS
109212006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10922
10923 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10924 '<' to '<='.
10925
8887708e
DS
109262006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10927
10928 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
10929 test.
10930 * configure: Regenerate.
10931 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
10932
9b9e4cd6
JJ
109332006-09-26 Jakub Jelinek <jakub@redhat.com>
10934
a70ad3bb
JJ
10935 PR middle-end/25261
10936 PR middle-end/28790
10937 * testsuite/libgomp.c/nestedfn-4.c: New test.
10938 * testsuite/libgomp.c/nestedfn-5.c: New test.
10939 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
10940
9b9e4cd6
JJ
10941 PR fortran/29097
10942 * testsuite/libgomp.fortran/condinc1.f: New test.
10943 * testsuite/libgomp.fortran/condinc2.f: New test.
10944 * testsuite/libgomp.fortran/condinc3.f90: New test.
10945 * testsuite/libgomp.fortran/condinc4.f90: New test.
10946 * testsuite/libgomp.fortran/condinc1.inc: New file.
10947
2fb31455
TT
109482006-09-18 Tom Tromey <tromey@redhat.com>
10949
10950 * configure: Rebuilt.
10951
c663e301
JM
109522006-09-13 Joseph S. Myers <joseph@codesourcery.com>
10953
10954 PR c/28768
10955 PR preprocessor/14634
10956 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
10957 to AC_DEFINE.
10958 * configure: Regenerate.
10959
38371be9
SK
109602006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
10961
10962 * testsuite/libgomp.fortran/reduction3.f90: Change
10963 -2147483648 to -huge(i)-1 to avoid overflow.
10964 * testsuite/libgomp.fortran/reduction4.f90: Change
10965 Z'ffffffff' to not(0) to avoid overflow.
10966
571d5ac5
JM
109672006-08-26 Joseph S. Myers <joseph@codesourcery.com>
10968
10969 PR libgomp/25938
10970 * Makefile.am (libsubincludedir): New.
10971 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
10972 * Makefile.in: Regenerate.
10973
89b3e3cd
JJ
109742006-08-17 Jakub Jelinek <jakub@redhat.com>
10975
10976 PR libgomp/28725
10977 * env.c: Include ctype.h.
10978 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
10979 leading and/or trailing whitespace and compare strings case
10980 insensitively.
10981
742fae05
JJ
109822006-07-16 Jakub Jelinek <jakub@redhat.com>
10983
10984 PR fortran/28390
10985 * testsuite/libgomp.fortran/pr28390.f: New test.
10986
a1daed2d
EC
109872006-07-05 Eric Christopher <echristo@apple.com>
10988
10989 * configure.ac: Depend addition of -pthread on host OS.
10990 * configure: Regenerate.
10991
5d7b5199
JJ
109922006-06-21 Jakub Jelinek <jakub@redhat.com>
10993
10994 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
10995 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
10996 defined.
10997
fe5568e9
JJ
109982006-06-20 Jakub Jelinek <jakub@redhat.com>
10999
11000 PR libgomp/26175
11001 PR libgomp/26477
11002 * configure.ac: If neither --enable-linux-futex nor
11003 --disable-linux-futex is passed, determine the default by checking
11004 for compiling and/or running against NPTL. With --enable-linux-futex,
11005 check if SYS_gettid and SYS_futex are defined.
11006 * configure: Rebuilt.
11007
c3b11a40
RH
110082006-06-14 Richard Henderson <rth@redhat.com>
11009
11010 PR libgomp/28008
11011 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11012 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11013
d0d1b24d
RH
110142006-06-09 Richard Henderson <rth@redhat.com>
11015
11016 * env.c (gomp_nthreads_var): Change to unsigned long.
11017 (gomp_run_sched_chunk): Likewise.
11018 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11019 (initialize_env): Initialize gomp_thread_attr.
11020 * libgomp.h (gomp_nthreads_var): Update decl.
11021 (gomp_run_sched_chunk): Likewise.
11022 (gomp_thread_attr): Declare.
11023 * team.c (gomp_thread_attr): Export.
11024 (initialize_team): Don't initialize it.
11025
cd75853e
JJ
110262006-06-09 Jakub Jelinek <jakub@redhat.com>
11027
11028 PR fortran/27916
11029 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11030 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11031
33815e0c
FXC
110322006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11033
11034 * config/mingw32/time.c: New file.
11035 * configure.tgt: Use it.
11036
6667de0d
CD
110372006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11038
11039 * Makefile.am: Add install-html target. Add install-html to .PHONY
11040 * Makefile.in: Regenerate.
11041
e962c46b
JDA
110422006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11043
11044 PR libgomp/27612
11045 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11046 * testsuite/libgomp.c/critical-1.c: Likewise.
11047 * testsuite/libgomp.c/loop-1.c: Likewise.
11048 * testsuite/libgomp.c/loop-2.c: Likewise.
11049 * testsuite/libgomp.c/single-1.c: Likewise.
11050 * testsuite/libgomp.c/ordered-1.c: Likewise.
11051 * testsuite/libgomp.c/ordered-2.c: Likewise.
11052
eeb1d9e0
JJ
110532006-05-15 Jakub Jelinek <jakub@redhat.com>
11054
11055 PR middle-end/27416
11056 * libgomp.fortran/pr27416-1.f90: New test.
11057
693d710f
JJ
110582006-05-03 Jakub Jelinek <jakub@redhat.com>
11059
11060 PR fortran/27395
11061 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11062 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11063
8ca5b2a2
JJ
110642006-05-02 Jakub Jelinek <jakub@redhat.com>
11065
11066 PR c++/26943
11067 * testsuite/libgomp.c/pr26943-1.c: New test.
11068 * testsuite/libgomp.c/pr26943-2.c: New test.
11069 * testsuite/libgomp.c/pr26943-3.c: New test.
11070 * testsuite/libgomp.c/pr26943-4.c: New test.
11071 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11072 * testsuite/libgomp.c++/pr26943.C: New test.
11073
077b0dfb
JJ
110742006-05-02 Jakub Jelinek <jakub@redhat.com>
11075
11076 PR middle-end/27337
11077 * testsuite/libgomp.c++/pr27337.C: New test.
11078
91b6c26d
JJ
110792006-04-26 Jakub Jelinek <jakub@redhat.com>
11080
11081 PR c/26171
11082 * testsuite/libgomp.c/pr26171.c: New test.
11083
60e1758f
RH
110842006-04-25 Richard Henderson <rth@redhat.com>
11085
11086 PR libgomp/25865
11087 * configure.ac: Use GCC_CHECK_TLS.
11088 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11089 * Makefile.in, aclocal.m4, configure: Regenerate.
11090
615baed7
MK
110912006-04-10 Matthias Klose <doko@debian.org>
11092
11093 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11094 directory names containing underscores.
11095
fae2b46b
JJ
110962006-03-21 Jakub Jelinek <jakub@redhat.com>
11097
11098 PR c++/26691
11099 * testsuite/libgomp.c++/pr26691.C: New test.
11100
11a5f608
JJ
111012006-03-13 Jakub Jelinek <jakub@redhat.com>
11102
11103 * testsuite/libgomp.fortran/retval2.f90: New test.
11104
1799e5d5
RH
111052006-03-09 Diego Novillo <dnovillo@redhat.com>
11106
11107 * testsuite/libgomp.c++: New directory.
11108
d349482e
AT
111092006-02-25 Shantonu Sen <ssen@opendarwin.org>
11110
11111 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11112 * config/posix/sem.c: Implement the above.
11113
111142006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11115
11116 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11117 define HAVE_BROKEN_POSIX_SEMAPHORES.
11118 * configure: Rebuilt.
11119 * config.h.in: Rebuilt.
11120
124452c9
FXC
111212006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11122
11123 PR bootstrap/26161
11124 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11125 for the other pthread check.
11126 * configure: Regenerate.
11127 * config.h.in: Regenerate.
11128
dd8d6dfe
JJ
111292006-02-15 Jakub Jelinek <jakub@redhat.com>
11130
11131 PR libgomp/25938
11132 PR libgomp/25984
11133 * Makefile.am (fincludedir): New variable.
11134 (nodist_include_HEADERS): Remove Fortran files.
11135 (nodist_finclude_HEADERS): New variable.
11136 * Makefile.in: Regenerated.
11137
6c7a4dfd
JJ
111382006-02-13 Jakub Jelinek <jakub@redhat.com>
11139
11140 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11141 Remove tests for returning assumed character length arrays.
11142
5142e08b
RS
111432006-02-12 Roger Sayle <roger@eyesopen.com>
11144 John David Anglin <dave@hiauly1.hia.nrc.ca>
11145
11146 PR libgomp/25936
11147 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 11148
5821fba8
UW
111492006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11150
11151 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11152
cb2bbc67
EB
111532006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11154
11155 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11156 part of LD_LIBRARY_PATH manually.
11157
f05ee80c
L
111582006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11159
11160 PR libgomp/25852
11161 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11162 libgomp_init.
11163
03b8fe49
PB
111642005-01-25 Paolo Bonzini <bonzini@gnu.org>
11165
11166 PR libgomp/25884
f05ee80c
L
11167 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11168 * configure.ac (PERL): Don't set.
11169 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11170 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11171 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11172 * omp.h.in: Wrap the new configure substitutions with @ characters.
11173 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11174 * aclocal.m4, configure, Makefile.in: Regenerate.
11175 * mkomp_h.pl: Delete.
03b8fe49 11176
18cbfd85
PB
111772005-01-24 Paolo Bonzini <bonzini@gnu.org>
11178
11179 PR libgomp/25259
11180 * configure.ac: Use GCC_HEADER_STDINT.
11181 * libgomp.h: Include gstdint.h.
11182 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11183 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11184
c41303c6
RH
111852006-01-24 Richard Henderson <rth@redhat.com>
11186
11187 PR libgomp/25942
11188 * configure.ac: Add AM_MAINTAINER_MODE.
11189 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11190
149b9553
DN
111912006-01-24 Diego Novillo <dnovillo@redhat.com>
11192
11193 * Makefile.in: Regenerate.
11194 * testsuite/Makefile.in: Regenerate.
11195 * aclocal.m4: Regenerate.
11196
192a50ad
AT
111972006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11198
11199 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11200 Solaris.
11201 * configure.ac: Add check for loadavg.h.
11202 (link_gomp): Adjust comment.
11203 * configure: Regenerate.
11204 * config.h.in: Regenerate.
11205
a55b8e18
SE
112062006-01-21 Steve Ellcey <sje@cup.hp.com>
11207
11208 PR libgomp/25877
11209 * configure.ac: Remove check for alloca.h.
11210 * configure: Regenerate.
11211 * config.h.in: Regenerate.
11212 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11213 * team.c: Remove use of alloca.h.
11214 Call gomp_alloca instead of alloca.
11215
692eeb34
SE
112162006-01-20 Steve Ellcey <sje@cup.hp.com>
11217
11218 PR libgomp/25877
11219 * team.c: Add include of alloca.h.
11220 * configure.ac: Add check for alloca.h.
11221 * configure: Regenerate.
11222 * config.h.in: Regenerate.
11223
953ff289
DN
112242006-01-17 Jakub Jelinek <jakub@redhat.com>
11225
11226 PR fortran/25219
11227 * testsuite/libgomp.fortran/pr25219.f90: New test.
11228
112292005-12-05 Uros Bizjak <uros@kss-loka.si>
11230
11231 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11232 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11233 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11234 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11235 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11236 testsuite/libgomp.fortran/threadprivate1.f90,
11237 testsuite/libgomp.fortran/threadprivate2.f90,
11238 testsuite/libgomp.fortran/threadprivate3.f90,
11239 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11240 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11241 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11242 effective-target to TLS runtime.
11243
11244 * testsuite/libgomp.fortran/pr25162.f: Require
11245 effective-target TLS runtime.
11246
112472005-12-01 Jakub Jelinek <jakub@redhat.com>
11248
11249 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11250 * testsuite/libgomp.c/nestedfn-3.c: New test.
11251
112522005-11-30 Jakub Jelinek <jakub@redhat.com>
11253
11254 PR fortran/25162
11255 * testsuite/libgomp.fortran/pr25162.f: New test.
11256
112572005-11-28 Jakub Jelinek <jakub@redhat.com>
11258
11259 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11260 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11261
112622005-11-25 Jakub Jelinek <jakub@redhat.com>
11263
11264 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11265 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11266 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11267 single.c, team.c, work.c, config/linux/alpha/futex.h,
11268 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11269 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11270 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11271 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11272 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11273 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11274 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11275 FSF address.
11276
112772005-11-18 Jakub Jelinek <jakub@redhat.com>
11278
11279 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11280 to nodist_noinst_HEADERS.
11281 * Makefile.in: Rebuilt.
11282
11283 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11284 add integer count field.
11285 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11286 omp_nest_lock_t type change.
11287 (omp_init_nest_lock): Likewise. Initialize count to 0.
11288 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11289 Increment count.
11290 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11291 Decrement count.
11292 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11293 Increment count if successful and return the new nesting level.
11294 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11295 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11296 * testsuite/libgomp.c/lib-1.c: New test.
11297 * testsuite/libgomp.fortran/lib1.f90: New test.
11298 * testsuite/libgomp.fortran/lib2.f: New test.
11299 * testsuite/libgomp.fortran/lib3.f: New test.
11300
113012005-11-17 Richard Henderson <rth@redhat.com>
11302
11303 PR 24845
11304 * Makefile.am (nodist_toolexeclib_HEADERS): New.
11305 * configure.ac (link_gomp): New. Substitute it.
11306 (AC_CONFIG_FILES): Add libgomp.spec.
11307 * libgomp.spec.in: New file.
11308 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11309 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11310
113112005-11-18 Jakub Jelinek <jakub@redhat.com>
11312
11313 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11314 reduction(-:var) behaving the same as reduction(+:var).
11315 * testsuite/libgomp.c/reduction-4.c: New test.
11316
113172005-11-15 Uros Bizjak <uros@kss-loka.si>
11318
11319 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11320 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11321 testsuite/libgomp.c/copyin-3.c,
11322 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11323 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11324 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11325 testsuite/libgomp.c++/pr24455.C,
11326 testsuite/libgomp.fortran/threadprivate1.f90,
11327 testsuite/libgomp.fortran/threadprivate2.f90,
11328 testsuite/libgomp.fortran/threadprivate3.f90,
11329 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11330 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11331 testsuite/libgomp.fortran/omp_parse3.f90: Require
11332 effective-target TLS.
11333
113342005-11-14 Diego Novillo <dnovillo@redhat.com>
11335
11336 * HEADER: Remove.
11337
113382005-11-13 Jakub Jelinek <jakub@redhat.com>
11339
11340 PR libgomp/24797
11341 * team.c (initialize_team): Pass NULL rather than free as
11342 pthread_key_create destructor. Initialize thread specific data
11343 pointer in initial thread to a static local variable rather than
11344 malloced memory.
11345
113462005-11-11 Uros Bizjak <uros@kss-loka.si>
11347
11348 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11349 its location to ld_library_path.
11350
113512005-11-10 Diego Novillo <dnovillo@redhat.com>
11352
11353 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11354
113552005-11-10 Diego Novillo <dnovillo@redhat.com>
11356
11357 * testsuite/libgomp.c: Rename from libgomp.dg.
11358
113592005-11-09 Diego Novillo <dnovillo@redhat.com>
11360
11361 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11362 threadprivate variable 'i'.
11363
113642005-11-09 Jakub Jelinek <jakub@redhat.com>
11365
11366 * config/linux/s390/futex.h: New file.
11367 * configure.tgt: Use it.
11368
11369 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11370 before the parallel.
11371
113722005-11-08 Jakub Jelinek <jakub@redhat.com>
11373
11374 PR c++/24734
11375 * testsuite/libgomp.c++/master-1.C: New test.
11376
113772005-11-07 Jakub Jelinek <jakub@redhat.com>
11378
11379 * testsuite/libgomp.dg/copyin-3.c: New test.
11380
113812005-11-07 Jakub Jelinek <jakub@redhat.com>
11382
11383 * testsuite/libgomp.fortran/retval1.f90: New test.
11384 * testsuite/libgomp.fortran/vla7.f90: New test.
11385
113862005-11-06 Jakub Jelinek <jakub@redhat.com>
11387
11388 * testsuite/libgomp.fortran/vla2.f90: New test.
11389 * testsuite/libgomp.fortran/vla3.f90: New test.
11390 * testsuite/libgomp.fortran/vla4.f90: New test.
11391 * testsuite/libgomp.fortran/vla5.f90: New test.
11392 * testsuite/libgomp.fortran/vla6.f90: New test.
11393
113942005-11-01 Jakub Jelinek <jakub@redhat.com>
11395
11396 * config/linux/sparc/futex.h: New file.
11397 * configure.tgt: Use it.
11398 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11399
11400 * critical.c: Include stdlib.h.
11401 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11402 ignoring return value.
11403 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11404 LIBGOMP_CHECK_SYNC_BUILTINS check.
11405 * configure: Rebuilt.
11406
114072005-10-31 Jakub Jelinek <jakub@redhat.com>
11408
11409 * testsuite/libgomp.fortran/vla1.f90: New test.
11410
114112005-10-31 Richard Henderson <rth@redhat.com>
11412
11413 * testsuite/libgomp.fortran/character2.f90: Fix race condition
11414 setting 's' in different threads.
11415
114162005-10-31 Jakub Jelinek <jakub@redhat.com>
11417
11418 * libgomp.h (attribute_hidden, ialias): Define.
11419 * config/posix/proc.c (omp_get_num_procs): Add ialias.
11420 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11421 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11422 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11423 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11424 omp_test_lock, omp_test_nest_lock): Likewise.
11425 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11426 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11427 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11428 omp_test_lock, omp_test_nest_lock): Likewise.
11429 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11430 omp_get_dynamic, omp_get_nested): Likewise.
11431 * parallel.c (omp_get_num_threads, omp_get_max_threads,
11432 omp_get_thread_num, omp_in_parallel): Likewise.
11433 * fortran.c (ialias_redirect): Define.
11434 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11435 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11436 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11437 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11438 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11439 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11440 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11441 omp_get_wtime): Add ialias_redirect.
11442
114432005-10-30 Jakub Jelinek <jakub@redhat.com>
11444
11445 * fortran.c: Include stdlib.h.
11446
114472005-10-29 Jakub Jelinek <jakub@redhat.com>
11448
11449 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11450 * Makefile.in: Regenerated.
11451
114522005-10-28 Jakub Jelinek <jakub@redhat.com>
11453
11454 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11455 * libgomp_f.h.in (omp_check_defines): New function.
11456 * env.c: Include libgomp_f.h.
11457 (initialize_env): Call omp_check_defines.
11458
11459 * testsuite/libgomp.dg/copyin-2.c: New test.
11460 * testsuite/libgomp.c++/copyin-2.C: New test.
11461 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11462
11463 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11464 * testsuite/libgomp.fortran/sharing2.f90: New test.
11465
11466 * testsuite/libgomp.dg/copyin-1.c: New test.
11467 * testsuite/libgomp.c++/copyin-1.C: New test.
11468
114692005-10-26 Jakub Jelinek <jakub@redhat.com>
11470
11471 * testsuite/libgomp.fortran/crayptr1.f90: New test.
11472
11473 * testsuite/libgomp.fortran/workshare1.f90: New test.
11474
11475 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11476 only test.
11477 * libgomp.fortran/sharing1.f90: New test.
11478
114792005-10-24 Jakub Jelinek <jakub@redhat.com>
11480
11481 PR c++/24502
11482 * testsuite/libgomp.c++/loop-7.C: New test.
11483
11484 * testsuite/libgomp.dg/nestedfn-2.c: New test.
11485
11486 * testsuite/libgomp.dg/nestedfn-1.c: New test.
11487 * testsuite/libgomp.fortran/reduction6.f90: New test.
11488 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11489
114902005-10-23 Richard Henderson <rth@redhat.com>
11491
11492 * testsuite/libgomp.c++/ctor-1.C: New.
11493 * testsuite/libgomp.c++/ctor-2.C: New.
11494 * testsuite/libgomp.c++/ctor-3.C: New.
11495 * testsuite/libgomp.c++/ctor-4.C: New.
11496 * testsuite/libgomp.c++/ctor-5.C: New.
11497 * testsuite/libgomp.c++/ctor-6.C: New.
11498 * testsuite/libgomp.c++/ctor-7.C: New.
11499 * testsuite/libgomp.c++/ctor-8.C: New.
11500 * testsuite/libgomp.c++/ctor-9.C: New.
11501
115022005-10-21 Diego Novillo <dnovillo@redhat.com>
11503
11504 PR 24455
11505 * testsuite/libgomp.c++/pr24455-1.C: New test.
11506 * testsuite/libgomp.c++/pr24455.C: New test.
11507 * testsuite/libgomp.dg/pr24455-1.c: New test.
11508 * testsuite/libgomp.dg/pr24455.c: New test.
11509
115102005-10-20 Richard Henderson <rth@redhat.com>
11511
11512 * testsuite/libgomp.c++/loop-6.C: New.
11513 * testsuite/libgomp.dg/loop-3.c: New.
11514
115152005-10-20 Jakub Jelinek <jakub@redhat.com>
11516
11517 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11518 explicitly private.
11519 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11520 explicitly shared.
11521
115222005-10-19 Diego Novillo <dnovillo@redhat.com>
11523
11524 * testsuite/libgomp.fortran/jacobi.f: New test.
11525
115262005-10-19 Richard Henderson <rth@redhat.com>
11527
11528 * configure.tgt (i?86-linux): Default to with_arch instead of
11529 CFLAGS. Add -mtune to match target_cpu.
11530 (x86_64-linux): Tune to i686.
11531
11532 * fortran.c (omp_test_nest_lock_): Fix typo.
11533
115342005-10-19 Jakub Jelinek <jakub@redhat.com>
11535
11536 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11537 gomp_ordered_sync): Do nothing if team->nthreads == 1.
11538 * testsuite/libgomp.dg/ordered-3.c: New test.
11539
11540 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11541 Remove volatile keyword.
11542
11543 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
11544 in COMMON block to avoid warnings on 64-bit targets.
11545
115462005-10-18 Diego Novillo <dnovillo@redhat.com>
11547
11548 * testsuite/libgomp.dg/shared-3.c: New test.
11549
115502005-10-18 Jakub Jelinek <jakub@redhat.com>
11551
11552 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
11553 * testsuite/libgomp.fortran/reduction5.f90: New test.
11554
115552005-10-18 Jakub Jelinek <jakub@redhat.com>
11556
11557 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
11558 dg-options.
11559 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
11560 flush loop now that __sync_synchronize has proper memory barrier.
11561 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
11562 Add -ffixed-form to dg-options.
11563
115642005-10-17 Diego Novillo <dnovillo@redhat.com>
11565
11566 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
11567 from subdirectories.
11568 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
11569 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
11570 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
11571 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
11572 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
11573 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
11574 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
11575 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
11576 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
11577 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
11578 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
11579 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
11580 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
11581 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
11582 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
11583 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
11584 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
11585 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
11586 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
11587 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
11588 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
11589 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
11590 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
11591 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
11592 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
11593
115942005-10-17 Jakub Jelinek <jakub@redhat.com>
11595
11596 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
11597 lang_library_path exists. Use find instead of glob to gather tests.
11598 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
11599
116002005-10-17 Diego Novillo <dnovillo@redhat.com>
11601
11602 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
11603 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
11604 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
11605 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
11606 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
11607 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
11608 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
11609 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
11610 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
11611 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
11612 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
11613 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
11614 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
11615
116162005-10-15 Jakub Jelinek <jakub@redhat.com>
11617
11618 * testsuite/libgomp.dg/vla-1.c: New test.
11619
11620 * testsuite/libgomp.fortran/reference2.f90: New test.
11621
11622 * testsuite/libgomp.fortran/character2.f90: Remove explicit
11623 declaration of omp_get_thread_num.
11624 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
11625 use omp_lib.
11626
11627 * testsuite/libgomp.fortran/reduction1.f90: New test.
11628 * testsuite/libgomp.fortran/reduction2.f90: New test.
11629 * testsuite/libgomp.fortran/reduction3.f90: New test.
11630 * testsuite/libgomp.fortran/reduction4.f90: New test.
11631
116322005-10-13 Richard Henderson <rth@redhat.com>
11633
11634 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
11635 * Makefile.in: Regenerate.
11636 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
11637 * libgomp.h: Include bar.h.
11638 (struct gomp_barrier): Remove.
11639 (struct gomp_team): Add barrier. Replace master_barrier with
11640 master_release. Replace threads with ordered_release.
11641 (struct gomp_thread): Replace barrier with release.
11642 * ordered.c (gomp_ordered_first): Update for ordered_release change.
11643 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
11644 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
11645 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
11646 (GOMP_single_copy_end): Likewise.
11647 * team.c (gomp_threads_dock): New.
11648 (gomp_barrier_init, gomp_barrier_destroy): Remove.
11649 (gomp_thread_start): Use gomp_barrier_wait.
11650 (new_team, free_team): Update for gomp_team changes.
11651 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
11652 (gomp_team_end): Use gomp_barrier_wait.
11653 (initialize_team): Update for gomp_thread changes.
11654 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
11655 (gomp_work_share_end_nowait): Use atomic ops when available.
11656 * config/linux/bar.c, config/linux/bar.h: New files.
11657 * config/posix/bar.c, config/posix/bar.h: New files.
11658
116592005-10-13 Jakub Jelinek <jakub@redhat.com>
11660
11661 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
11662 * testsuite/libgomp.dg/single-2.c: New test.
11663
11664 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
11665 lang_link_flags): Unset, so that they aren't inherited from previously
11666 sourced *.exp.
11667
11668 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
11669
116702005-10-12 Richard Henderson <rth@redhat.com>
11671
11672 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11673 (libgomp_init): Use lang_test_file, lang_library_path, and
11674 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
11675
11676 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11677 (lang_test_file, lang_link_flags): New.
11678 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11679
11680 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11681 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11682 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11683 testsuite/libgomp.c++/parallel-1.C,
11684 testsuite/libgomp.c++/reduction-1.C,
11685 testsuite/libgomp.c++/reduction-2.C,
11686 testsuite/libgomp.c++/reduction-3.C,
11687 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11688 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11689 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11690 New files, largely cribbed from the C testsuite.
11691
116922005-10-12 Jakub Jelinek <jakub@redhat.com>
11693
11694 * testsuite/libgomp.fortran/character1.f90: New test.
11695 * testsuite/libgomp.fortran/character2.f90: New test.
11696
11697 * testsuite/libgomp.dg/nested-1.c: New test.
11698 * testsuite/libgomp.dg/nested-2.c: New test.
11699 * testsuite/libgomp.fortran/do1.f90: New test.
11700 * testsuite/libgomp.fortran/do2.f90: New test.
11701
11702 * testsuite/libgomp.fortran/reference1.f90: New test.
11703
117042005-10-11 Jakub Jelinek <jakub@redhat.com>
11705
11706 * testsuite/libgomp.dg/reduction-1.c: New test.
11707 * testsuite/libgomp.dg/reduction-2.c: New test.
11708 * testsuite/libgomp.dg/reduction-3.c: New test.
11709
117102005-10-10 Jakub Jelinek <jakub@redhat.com>
11711
11712 * testsuite/libgomp.dg/atomic-1.c: New test.
11713 * testsuite/libgomp.dg/atomic-2.c: New test.
11714
117152005-10-09 Richard Henderson <rth@redhat.com>
11716
11717 * critical.c (atomic_lock): New.
11718 (initialize_critical): Initialize it.
11719 (GOMP_atomic_start, GOMP_atomic_end): New.
11720 * libgomp.map: Export them.
11721 * libgomp_g.h: Declare them.
11722
11723 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11724
117252005-10-02 Richard Henderson <rth@redhat.com>
11726
11727 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
11728 to XCFLAGS instead of CFLAGS.
11729
117302005-09-30 Richard Henderson <rth@redhat.com>
11731
11732 * configure.ac: Determine whether -pthread or -lpthread is needed.
11733 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11734 * Makefine.in, configure: Rebuild.
11735
117362005-09-28 Richard Henderson <rth@redhat.com>
11737
11738 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11739 * testsuite/libgomp.dg/omp-single-3.c: New test.
11740
117412005-09-28 Diego Novillo <dnovillo@redhat.com>
11742
11743 * testsuite/libgomp.dg/omp-single-2.c: New test.
11744 * testsuite/libgomp.dg/shared-2.c: Fix return code.
11745
117462005-09-27 Richard Henderson <rth@redhat.com>
11747
11748 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11749 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11750
117512005-09-27 Jakub Jelinek <jakub@redhat.com>
11752
11753 * testsuite/libgomp.dg/omp-loop03.c: New test.
11754
117552005-09-27 Diego Novillo <dnovillo@redhat.com>
11756
11757 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11758
117592005-09-27 Diego Novillo <dnovillo@redhat.com>
11760
11761 * testsuite/libgomp.dg/omp-single-1.c: New test.
11762 * testsuite/libgomp.dg/shared-1.c: Return 0.
11763 Add prototype for abort.
11764 * testsuite/libgomp.dg/shared-2.c: Likewise.
11765
117662005-09-26 Jakub Jelinek <jakub@redhat.com>
11767
11768 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11769 constructs.
11770
117712005-09-26 Diego Novillo <dnovillo@redhat.com>
11772
11773 * testsuite/libgomp.dg/shared-1.c: New test.
11774 * testsuite/libgomp.dg/shared-2.c: New test.
11775
117762005-09-24 Richard Henderson <rth@redhat.com>
11777
11778 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11779
117802005-09-24 Richard Henderson <rth@redhat.com>
11781
11782 * iter.c (gomp_iter_static_next): Round up when computing number
11783 of iterations. Don't bother distributing a remainder equally.
11784
11785 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11786 Don't call srand. Zero b before testing.
11787 (main): New.
11788
117892005-09-24 Jakub Jelinek <jakub@redhat.com>
11790
11791 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11792 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11793
117942005-09-23 Jakub Jelinek <jakub@redhat.com>
11795
11796 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11797 without !$omp end do, followed immediately by subroutine end.
11798
117992005-09-23 Diego Novillo <dnovillo@redhat.com>
11800
11801 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11802
118032005-09-22 Richard Henderson <rth@redhat.com>
11804
11805 * critical.c (GOMP_critical_name_start): Change argument to void**.
11806 Reuse the pointer space if the mutex fits.
11807 (GOMP_critical_name_end): Likewise.
11808 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11809 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11810 (GOMP_critical_name_end): Likewise.
11811 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11812 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11813
118142005-09-20 Richard Henderson <rth@redhat.com>
11815
11816 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11817 (create_lock_lock): New.
11818 (initialize_critical): Initialize it.
11819 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11820 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11821
118222005-09-20 Diego Novillo <dnovillo@redhat.com>
11823
11824 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11825
118262005-09-20 Diego Novillo <dnovillo@redhat.com>
11827
11828 * testsuite/libgomp.dg/omp-loop01.c: New test.
11829 * testsuite/libgomp.dg/omp-loop02.c: New test.
11830
118312005-09-20 Jakub Jelinek <jakub@redhat.com>
11832
11833 * configure.ac (AC_PROG_FC): Add.
11834 (USE_FORTRAN): New automake conditional.
11835 * configure: Rebuilt.
11836 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11837 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11838 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11839 Add rules to build them.
11840 * Makefile.in: Rebuilt.
11841 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11842 OMP_NEST_LOCK_KIND.
11843 * libgomp.map: Add Fortran wrappers.
11844 * libgomp_f.h.in: New file.
11845 * omp_lib.h.in: New file.
11846 * omp_lib.f90.in: New file.
11847 * fortran.c: New file.
11848 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11849 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11850 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11851 libgfortran has been built.
11852 * testsuite/libgomp.fortran/fortran.exp: New file.
11853 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11854 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11855 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11856 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11857 * testsuite/libgomp.fortran/omp_hello.f: New test.
11858 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11859 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11860 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11861 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11862 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11863 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11864 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11865 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11866
118672005-08-30 Richard Henderson <rth@redhat.com>
11868
11869 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11870 function for when aliases are not usable.
11871 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11872 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11873 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11874 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11875 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11876 GOMP_loop_ordered_guided_next): Likewise.
11877 * ordered.c (GOMP_ordered_start): Likewise.
11878
118792005-08-01 Diego Novillo <dnovillo@redhat.com>
11880
11881 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11882 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11883 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11884 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11885 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11886 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11887 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11888 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11889 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11890
118912005-07-07 Eric Christopher <echristo@redhat.com>
11892 Diego Novillo <dnovillo@redhat.com>
11893
11894 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11895 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11896 up code.
11897 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11898 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11899 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11900 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11901 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11902 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11903 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11904
119052005-06-13 Diego Novillo <dnovillo@redhat.com>
11906
11907 * TOPLEVEL.patch: Remove.
11908
119092005-05-16 Richard Henderson <rth@redhat.com>
11910
11911 * configure.ac: Test for clock_gettime.
11912 * config.h.in, configure: Rebuild.
11913 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11914 (omp_get_wtime): Use clock_gettime if available.
11915 (omp_get_wtick): Use clock_getres if available.
11916
119172005-05-11 Richard Henderson <rth@redhat.com>
11918
11919 * config/linux/ia64/futex.h: New file.
11920 * configure.tgt: Use it.
11921
11922 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11923
119242005-05-07 Richard Henderson <rth@redhat.com>
11925
11926 * config/linux/powerpc/futex.h: New file.
11927 * configure.tgt: Use it.
11928
11929 * config/linux/i486/futex.h: Merge ...
11930 * config/linux/x86_64/futex.h: ... into ...
11931 * config/linux/x86/futex.h: ... here.
11932 * configure.tgt: Update to match.
11933
119342005-05-06 Richard Henderson <rth@redhat.com>
11935
11936 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
11937 * config/linux/i486/futex.h: Likewise.
11938 * config/linux/x86_64/futex.h: Likewise.
11939
11940 * config/linux/lock.c: New file.
11941 * config/linux/omp-lock.h: New file.
11942
11943 * critical.c, env.h: Don't include omp.h
11944 * config/posix/lock.c: Include libgomp.h instead of omp.h.
11945 * config/posix/time.c: Likewise.
11946 * config/posix/omp-lock.h: New file.
11947 * libgomp.h: Include omp-lock.h and omp.h.
11948 * Makefile.am (nodist_include_HEADERS): New.
11949 (omp.h): New rule.
11950 * configure.ac (PERL): New.
11951 * mkomp_h.pl: New file.
11952 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
11953 with templates.
11954 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
11955
11956 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
11957 build directory. Re-add -march=i486 hack.
11958
11959 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
11960 (libgomp_link_flags): Remove.
11961 (libgomp_initialized): Remove.
11962 (libgomp_init): Don't protect from reinitialization. Copy code
11963 from libstdc++ for getting the multilib set correctly.
11964
119652005-05-05 Richard Henderson <rth@redhat.com>
11966
11967 * config/linux/alpha/futex.h: New file.
11968 * configure.tgt (alpha*-*-linux*): Use it.
11969
11970 * config/posix/mutex.c: New file.
11971 * config/posix/sem.c: Use libgomp.h.
11972
11973 * configure.tgt (x86_64-linux): Also test CC for -m32.
11974 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
11975
a1daed2d 11976 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
11977 after $gccpath.
11978
11979 * Makefile.am (SUBDIRS): New.
11980 (libgomp_la_LDFLAGS): Add -lpthread.
11981 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
11982 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
11983
11984 * libgomp_g.h: New file.
11985 * libgomp.h: Split out all public declarations to libgomp_g.h.
11986 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
11987 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
11988 * config/linux/sem.h: Likewise.
11989 * config/posix/sem.h: Likewise.
11990
11991 * Makefile.am (AM_LDFLAGS): New.
11992 (libgomp_version_script): Split out from ...
11993 (libgomp_la_LDFLAGS): ... here.
11994 (libgomp_version_info): New.
11995 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
11996 (LIBGOMP_ENABLE): New.
11997 (LIBGOMP_CHECK_LINKER_FEATURES): New.
11998 (LIBGOMP_ENABLE_SYMVERS): New.
11999 * configure.ac (AC_INIT): Version 1.0.
12000 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12001 (enable-linux-futex): Likewise. Rename from enable-futex.
12002 (libtool_VERSION): New.
12003 (LIBGOMP_ENABLE_SYMVERS): Use it.
12004 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12005 * Makefile.in, aclocal.m4, configure: Rebuild.
12006
12007 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12008 (gomp_mutex_unlock_slow): Fix typo.
12009 * config/linux/sem.c: Similarly.
12010 (gomp_sem_post_slow): Fix typo.
12011 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12012 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12013 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12014
12015 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12016 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12017 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12018 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12019 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12020 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12021 LDFLAGS. Pull enable_futex check to top-level.
12022 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12023 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12024
12025 First attempt at real configury.
12026 * Makefile, config.h: Remove file.
12027 * Makefile.am, Makefile.in: New file.
12028 * acinclude.m4 aclocal.m4: New file.
12029 * configure.ac, configure.tgt, configure: New file.
12030
12031 * config/posix/lock.c: Rename from sys-lock.c.
12032 * config/posix/mutex.h: Rename from sys-mutex.h.
12033 * config/posix/sem.c: Rename from sys-sem.c.
12034 * config/posix/sem.h: Rename from sys-sem.h.
12035 * config/posix/proc.c: Rename from sys-proc.c.
12036 * config/posix/time.c: Rename from sys-proc.c.
12037
12038 * config/linux/mutex.c: New file.
12039 * config/linux/mutex.h: New file.
12040 * config/linux/sem.c: New file.
12041 * config/linux/sem.h: New file.
12042 * config/linux/i486/futex.h: New file.
12043 * config/linux/x86_64/futex.h: New file.
12044
120452005-05-04 Richard Henderson <rth@redhat.com>
12046
12047 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12048 * libgomp.h: Declare them.
12049 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12050 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12051
120522005-05-04 Richard Henderson <rth@redhat.com>
12053
12054 * libgomp-1 code drop
12055
120562005-05-04 Richard Henderson <rth@redhat.com>
12057
12058 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12059 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12060 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12061 (gomp_iter_static_next): Update.
12062 (gomp_ordered_static_next): Update.
12063 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12064 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12065 totally empty range.
12066 (gomp_loop_ordered_static_next): Refine test for calling
12067 gomp_ordered_static_next.
12068 * testsuite/ordered-1.c: Add case for more threads than iterations.
12069
12070 * iter.c (gomp_iter_runtime_next_locked): Remove.
12071 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 12072 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
12073 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12074 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12075 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12076 gomp_loop_ordered_guided_next): Downcase name, make static, add
12077 an external alias with the old name.
12078 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12079 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12080 switch and call one of the above static functions.
12081 * libgomp.h: Update.
12082
12083 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12084 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12085 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12086 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12087 GOMP_loop_ordered_guided_start): Update to match.
12088 * sections.c (GOMP_sections_start): Likewise.
12089 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12090
12091 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12092 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12093 Use bounds check instead of modulus.
12094 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12095 (gomp_ordered_last): Don't sync with ordered_owner here.
12096 (gomp_ordered_next): Likewise.
12097 (gomp_ordered_static_loop_next): Likewise.
12098 * loop.c, libgomp.h: Update to match.
12099
12100 * libgomp.h (GOMP_barrier): Declare.
12101
12102 * testsuite/barrier-1.c: New file.
12103 * testsuite/critical-1.c: New file.
12104 * testsuite/ordered-2.c: New file.
12105 * testsuite/ordered-1.c: New file.
12106 * testsuite/sections-1.c: New file.
12107 * testsuite/single-1.c: New file.
12108 * testsuite/Makefile (TESTS): Add them.
12109
121102005-05-04 Richard Henderson <rth@redhat.com>
12111
12112 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12113 * loop.c (GOMP_loop_static_start): If not the startup thread,
12114 acquire the mutex to wait for initialization complete.
12115 (GOMP_loop_ordered_static_start): Likewise.
12116 (GOMP_loop_ordered_runtime_start): Likewise.
12117 (GOMP_loop_ordered_static_first): Remove.
12118 (GOMP_loop_ordered_dynamic_first): Remove.
12119 (GOMP_loop_ordered_guided_first): Remove.
12120 (GOMP_loop_ordered_runtime_first): Remove.
12121 * ordered.c (gomp_ordered_loop_first): Post to own release when
12122 we're the first thread.
12123 (gomp_ordered_loop_last): Wait on release if not owner.
12124 (gomp_ordered_loop_next): Likewise.
12125 (gomp_ordered_static_loop_init): New.
12126 (gomp_ordered_static_loop_next): Use ordered_owner.
12127 (GOMP_ordered_start): Likewise.
12128 * work.c (gomp_new_work_share): Initialize ordered_owner.
12129
121302005-05-03 Richard Henderson <rth@redhat.com>
12131
12132 * Makefile (OPT): New.
12133 (CFLAGS): Use it.
12134
12135 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12136 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12137 * libgomp.h, libgomp.map, NOTES: Update to match.
12138
12139 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12140 Add initialized and thr members.
12141 (gomp_thread_start): Pause when initially spawned to wait for
12142 the whole team to be created.
12143 (gomp_team_start): Release team members at the end.
12144
12145 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12146 (f_foo_1): Use GOMP_loop_end.
12147 (f_foo_2): Use GOMP_loop_end_nowait.
12148
12149 * testsuite/loop-2.c: New file.
12150 * testsuite/Makefile (TESTS): Add it.
12151
121522005-05-03 Richard Henderson <rth@redhat.com>
12153
12154 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12155 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12156 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12157 initial work_share.
12158
12159 * testsuite/Makefile: New file.
12160 * testsuite/loop-1.c: New file.
12161
121622005-05-03 Richard Henderson <rth@redhat.com>
12163
12164 Initial implementation and checkin.
21fa2a29 12165\f
a5544970 12166Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
12167
12168Copying and distribution of this file, with or without modification,
12169are permitted in any medium without royalty provided the copyright
12170notice and this notice are preserved.