re PR middle-end/70626 (bogus results in 'acc parallel loop' reductions)
[gcc.git] / libgomp / ChangeLog
1 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
2
3 PR middle-end/70626
4 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
7
8 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
9
10 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
11 non-fatal.
12
13 2016-04-19 Jakub Jelinek <jakub@redhat.com>
14
15 PR middle-end/70680
16 * testsuite/libgomp.c/pr70680-1.c: New test.
17 * testsuite/libgomp.c/pr70680-2.c: New test.
18
19 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
20
21 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
22 pass parameter variables to subroutines.
23
24 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
25
26 PR middle-end/70643
27 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
28
29 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
30
31 PR testsuite/68242
32 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
33 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
34
35 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
36
37 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
38 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
39 GOACC_declare prototype.
40
41 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
42 Merge this file, and...
43 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
44 ... this file, and...
45 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
46 ... this file, and...
47 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
48 ... this file, and...
49 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
50 ... this file, and...
51 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
52 ... this file, and...
53 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
54 ... this file, and...
55 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
56 ... this file, and...
57 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
58 ... this file, and...
59 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
60 ... this file, and...
61 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
62 ... this file, and...
63 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
64 ... this file, and...
65 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
66 ... this file into...
67 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
68 file.
69
70 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
71 Make failure observable.
72
73 2016-04-12 Jakub Jelinek <jakub@redhat.com>
74
75 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
76 field.
77 * target.c (gomp_target_fallback_firstprivate,
78 gomp_target_unshare_firstprivate): Removed.
79 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
80 before waiting for dependencies.
81 (gomp_target_task_fn): Don't copy firstprivate vars here.
82 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
83 firstprivate_copies here.
84 (gomp_create_target_task): Don't initialize firstprivate_copies field.
85 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
86 explicit/implicit firstprivate.
87
88 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
89
90 PR lto/70289
91 PR ipa/70348
92 PR tree-optimization/70373
93 PR middle-end/70533
94 PR middle-end/70534
95 PR middle-end/70535
96 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
97 test.
98 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
99 test.
100 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
101 test.
102 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
103 test.
104 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
105 test.
106 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
107 test.
108 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
109 test.
110 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
111 test.
112 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
113 test.
114 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
115 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
116 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
117 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
118 test.
119 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
120 test.
121 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
122 test.
123 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
124 test.
125 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
126 coverage.
127 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
128 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
129 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
130 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
131 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
132 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
133 coverage.
134 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
135 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
136 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
137 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
138 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
139 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
140 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
141 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
142 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
143 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
144 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
145 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
146 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
147 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
148 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
149
150 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
151 James Norris <jnorris@codesourcery.com>
152 Nathan Sidwell <nathan@codesourcery.com>
153 Julian Brown <julian@codesourcery.com>
154 Cesar Philippidis <cesar@codesourcery.com>
155 Chung-Lin Tang <cltang@codesourcery.com>
156 Tom de Vries <tom@codesourcery.com>
157
158 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
159 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
160 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
161 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
162 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
163 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
164 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
165 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
166 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
167 XFAIL.
168 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
169 Incorporate...
170 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
171 file.
172 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
173 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
174 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
175 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
176 Likewise.
177 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
178 Likewise.
179 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
180 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
181 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
182 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
183 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
184 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
185 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
186 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
187 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
188 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
189 Likewise.
190 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
191 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
192 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
193 file...
194 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
195 file into...
196 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
197 file. Update.
198 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
199 file.
200 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
201 Likewise.
202 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
203 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
204 ... this new file. Update.
205 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
206 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
207 ... this new file. Update.
208 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
209 file. Incorporate...
210 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
211 file, and...
212 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
213 file, and...
214 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
215 file.
216 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
217
218 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
219
220 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
221 set-torture-options.
222
223 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
224
225 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
226 gcc-dg-runtest.
227 * testsuite/libgomp.oacc-c/c.exp: Likewise.
228 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
229 -fno-builtin-acc_on_device instead of -O0.
230 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
231 -O0.
232 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
233 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
234 Likewise.
235 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
236 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
237 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
238 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
239 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
240 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
241 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
242 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
243 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
244 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
245 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
246 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
247 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
248 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
249 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
250 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
251 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
252 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
253 Don't specify -O2.
254 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
255 Likewise.
256 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
257 Likewise.
258
259 2016-03-24 Martin Liska <mliska@suse.cz>
260
261 * plugin/plugin-hsa.c (packet_store_release): New function
262 that is taken from the HSA runtime manual.
263 (GOMP_OFFLOAD_run): Use the function.
264
265 2016-03-23 Jakub Jelinek <jakub@redhat.com>
266
267 PR c++/70376
268 * testsuite/libgomp.c++/pr70376.C: New test.
269
270 2016-03-23 Tom de Vries <tom@codesourcery.com>
271
272 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
273 initialization of lresult and lvresult.
274 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
275
276 2016-03-23 James Norris <jnorris@codesourcery.com>
277 Daichi Fukuoka <dc-fukuoka@sgi.com>
278
279 PR libgomp/69414
280 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
281 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
282 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
283 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
284
285 2016-03-23 Martin Liska <mliska@suse.cz>
286
287 PR hsa/70337
288 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
289 argument just in case a dispatched kernel uses that argument.
290
291 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
292
293 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
294 -ftree-parallelize-loops/-fopenacc changes.
295 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
296 Likewise.
297 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
298 Likewise.
299 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
300 Likewise.
301 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
302 Likewise.
303 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
304 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
305
306 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
307
308 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
309 always_ld_library_path the path to libgcc_s.
310
311 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
312
313 PR testsuite/70009
314 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
315
316 2016-03-09 Tom de Vries <tom@codesourcery.com>
317
318 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
319 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
320 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
321 Same.
322 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
323 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
324 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
325 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
326
327 2016-03-07 Martin Jambor <mjambor@suse.cz>
328
329 * testsuite/lib/libgomp.exp
330 (check_effective_target_hsa_offloading_selected_nocache): New.
331 (check_effective_target_hsa_offloading_selected): Likewise.
332 * testsuite/libgomp.hsa.c/c.exp: Likewise.
333 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
334 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
335 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
336 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
337 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
338 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
339 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
340 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
341 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
342 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
343 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
344 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
345 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
346 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
347 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
348 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
349
350 2016-03-07 Martin Jambor <mjambor@suse.cz>
351
352 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
353 non-shared memory accelerators.
354 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
355 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
356 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
357 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
358 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
359 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
360 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
361 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
362 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
363
364 2016-03-07 Martin Jambor <mjambor@suse.cz>
365
366 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
367 ALWAYS_CFLAGS.
368
369 2016-03-02 Jakub Jelinek <jakub@redhat.com>
370
371 PR libgomp/69555
372 * testsuite/libgomp.c++/pr69555-1.C: New test.
373 * testsuite/libgomp.c++/pr69555-2.C: New test.
374
375 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
376 Martin Jambor <mjambor@suse.cz>
377
378 * testsuite/lib/libgomp.exp
379 (check_effective_target_offload_device_shared_as): New proc.
380 * testsuite/libgomp.c++/declare_target-1.C: New test.
381
382 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
383
384 PR driver/68463
385 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
386
387 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
388
389 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
390 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
391 dims.
392 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
393 -ftree-parallelize-loops/-fopenacc changes.
394 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
395 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
396 Likewise.
397 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
398 Likewise.
399 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
400 Likewise.
401 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
402 Likewise.
403 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
404 Likewise.
405 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
406 Likewise.
407 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
408 Likewise.
409 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
410 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
411 Likewise.
412 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
413 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
414 Likewise.
415 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
416 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
417 Likewise.
418
419 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
420
421 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
422
423 2016-02-19 Jakub Jelinek <jakub@redhat.com>
424
425 PR driver/69805
426 * testsuite/libgomp.c/pr69805.c: New test.
427
428 2016-02-16 Tom de Vries <tom@codesourcery.com>
429
430 PR lto/67709
431 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
432
433 2016-02-09 Tom de Vries <tom@codesourcery.com>
434
435 PR tree-optimization/69599
436 * testsuite/libgomp.c/omp-nested-3.c: New test.
437 * testsuite/libgomp.c/pr46032-2.c: New test.
438 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
439 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
440
441 2016-02-09 Tom de Vries <tom@codesourcery.com>
442
443 PR lto/69707
444 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
445
446 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
447
448 * testsuite/libgomp.c/target-31.c: Fix testcase.
449
450 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
451
452 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
453 clause.
454 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
455 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
456 reduction and map clauses.
457 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
458
459 2016-02-02 James Norris <jnorris@codesourcery.com>
460
461 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
462
463 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
464
465 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
466 * oacc-parallel.c (GOACC_host_data): Remove function definition.
467
468 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
469 cases.
470
471 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
472 variables.
473 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
474 (hsa_kmt_lib): Set variables.
475 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
476 always_ld_library_path.
477 * Makefile.in: Regenerate.
478 * configure: Likewise.
479 * testsuite/Makefile.in: Likewise.
480
481 * plugin/configfrag.ac (offload_additional_options)
482 (offload_additional_lib_paths): Don't amend for hsa offloading.
483 * configure: Regenerate.
484
485 * plugin/configfrag.ac: Don't configure for offloading target if
486 we don't build the corresponding plugin.
487 * configure: Regenerate.
488
489 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
490
491 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
492 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
493
494 2016-01-26 Tom de Vries <tom@codesourcery.com>
495
496 PR tree-optimization/69110
497 * testsuite/libgomp.c/pr69110.c: New test.
498
499 2016-01-25 Richard Biener <rguenther@suse.de>
500
501 PR lto/69393
502 * testsuite/libgomp.c++/pr69393.C: New testcase.
503
504 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
505
506 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
507 function wasn't mapped to the device with non-shared memory.
508
509 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
510
511 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
512
513 2016-01-19 Martin Jambor <mjambor@suse.cz>
514 Martin Liska <mliska@suse.cz>
515
516 * plugin/Makefrag.am: Add HSA plugin requirements.
517 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
518 (HSA_RUNTIME_LIB): Likewise.
519 (HSA_RUNTIME_CPPFLAGS): Likewise.
520 (HSA_RUNTIME_INCLUDE): New substitution.
521 (HSA_RUNTIME_LIB): Likewise.
522 (HSA_RUNTIME_LDFLAGS): Likewise.
523 (hsa-runtime): New configure option.
524 (hsa-runtime-include): Likewise.
525 (hsa-runtime-lib): Likewise.
526 (PLUGIN_HSA): New substitution variable.
527 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
528 configure options.
529 (PLUGIN_HSA_CPPFLAGS): Likewise.
530 (PLUGIN_HSA_LDFLAGS): Likewise.
531 (PLUGIN_HSA_LIBS): Likewise.
532 Check that we have access to HSA run-time.
533 * libgomp-plugin.h (offload_target_type): New element
534 OFFLOAD_TARGET_TYPE_HSA.
535 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
536 args.
537 (bool gomp_create_target_task): Updated.
538 (gomp_device_descr): Extra parameter of run_func and async_run_func,
539 new field can_run_func.
540 * libgomp_g.h (GOMP_target_ext): Update prototype.
541 * oacc-host.c (host_run): Added a new parameter args.
542 * target.c (calculate_firstprivate_requirements): New function.
543 (copy_firstprivate_data): Likewise.
544 (gomp_target_fallback_firstprivate): Use them.
545 (gomp_target_unshare_firstprivate): New function.
546 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
547 devices.
548 (GOMP_target): Do host fallback for all shared memory devices. Do not
549 pass any args to plugins.
550 (GOMP_target_ext): Introduce device-specific argument parameter args.
551 Allow host fallback if device shares memory. Do not remap data if
552 device has shared memory.
553 (gomp_target_task_fn): Likewise. Also treat shared memory devices
554 like host fallback for mappings.
555 (GOMP_target_data): Treat shared memory devices like host fallback.
556 (GOMP_target_data_ext): Likewise.
557 (GOMP_target_update): Likewise.
558 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
559 gomp_create_target_task.
560 (GOMP_target_enter_exit_data): Likewise.
561 (omp_target_alloc): Treat shared memory devices like host fallback.
562 (omp_target_free): Likewise.
563 (omp_target_is_present): Likewise.
564 (omp_target_memcpy): Likewise.
565 (omp_target_memcpy_rect): Likewise.
566 (omp_target_associate_ptr): Likewise.
567 (gomp_load_plugin_for_device): Also load can_run.
568 * task.c (GOMP_PLUGIN_target_task_completion): Free
569 firstprivate_copies.
570 (gomp_create_target_task): Accept new argument args and store it to
571 ttask.
572 * plugin/plugin-hsa.c: New file.
573
574 2016-01-18 Tom de Vries <tom@codesourcery.com>
575
576 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
577 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
578 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
579 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
580 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
581 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
582 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
583 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
584 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
585 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
586 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
587 Same.
588 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
589 Same.
590 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
591 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
592 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
593 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
594 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
595 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
596 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
597 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
598 Same.
599 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
600
601 2016-01-15 Jakub Jelinek <jakub@redhat.com>
602
603 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
604
605 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
606
607 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
608
609 2016-01-12 James Norris <jnorris@codesourcery.com>
610
611 * libgomp.texi: Updates for OpenACC.
612
613 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
614
615 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
616
617 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
618
619 PR fortran/66680
620 * testsuite/libgomp.fortran/pr66680.f90: New test.
621
622 2016-01-07 Jakub Jelinek <jakub@redhat.com>
623
624 PR middle-end/68960
625 * testsuite/libgomp.c/pr68960.c: New test.
626
627 2016-01-06 Nathan Sidwell <nathan@acm.org>
628
629 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
630 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
631
632 2016-01-04 Jakub Jelinek <jakub@redhat.com>
633
634 Update copyright years.
635
636 * libgomp.texi: Bump @copying's copyright year.
637
638 2015-12-31 Nathan Sidwell <nathan@acm.org>
639
640 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
641 dg-additional-options syntax.
642 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
643 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
644 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
645 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
646 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
647 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
648 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
649 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
650 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
651 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
652 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
653 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
654 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
655 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
656 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
657 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
658 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
659 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
660
661 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
662
663 * libgomp.h (REFCOUNT_LINK): Define.
664 (struct splay_tree_key_s): Add link_key.
665 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
666 Replace target address of the pointer with target address of newly
667 mapped object in the splay tree. Set link pointer on target to the
668 device address of the mapped object.
669 (gomp_unmap_vars): Restore target address of the pointer in the splay
670 tree for REFCOUNT_LINK objects after unmapping.
671 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
672 declare target link" objects.
673 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
674 "omp declare target link" objects, which were mapped for the image.
675 (gomp_exit_data): Restore target address of the pointer in the splay
676 tree for REFCOUNT_LINK objects after unmapping.
677 * testsuite/libgomp.c/target-link-1.c: New file.
678
679 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
680
681 * libgomp.h (gomp_device_state): New enum.
682 (struct gomp_device_descr): Replace is_initialized with state.
683 (gomp_fini_device): Remove declaration.
684 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
685 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
686 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
687 (acc_set_device_type): Use state instead of is_initialized.
688 (acc_set_device_num): Likewise.
689 * target.c (resolve_device): Use state instead of is_initialized.
690 Do not initialize finalized device.
691 (gomp_map_vars): Do nothing if device is finalized.
692 (gomp_unmap_vars): Likewise.
693 (gomp_update): Likewise.
694 (GOMP_offload_register_ver): Use state instead of is_initialized.
695 (GOMP_offload_unregister_ver): Likewise.
696 (gomp_init_device): Likewise.
697 (gomp_unload_device): Likewise.
698 (gomp_fini_device): Remove.
699 (gomp_get_target_fn_addr): Do nothing if device is finalized.
700 (GOMP_target): Go to host fallback if device is finalized.
701 (GOMP_target_ext): Likewise.
702 (gomp_exit_data): Do nothing if device is finalized.
703 (gomp_target_task_fn): Go to host fallback if device is finalized.
704 (gomp_target_fini): New static function.
705 (gomp_target_init): Use state instead of is_initialized.
706 Call gomp_target_fini at exit.
707
708 2015-12-09 Tom de Vries <tom@codesourcery.com>
709
710 PR tree-optimization/68716
711 * testsuite/libgomp.c/omp-nested-2.c: New test.
712
713 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
714
715 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
716 target openacc_nvidia_accel_selected.
717 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
718 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
719 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
720 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
721
722 2015-12-01 Julian Brown <julian@codesourcery.com>
723 James Norris <James_Norris@mentor.com>
724
725 * oacc-parallel.c (GOACC_host_data): New function.
726 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
727 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
728 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
729 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
730 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
731 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
732 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
733
734 2015-11-30 James Norris <jnorris@codesourcery.com>
735 Cesar Philippidis <cesar@codesourcery.com>
736
737 libgomp/
738 * libgomp.oacc-fortran/routine-5.f90: New test.
739 * libgomp.oacc-fortran/routine-7.f90: New test.
740 * libgomp.oacc-fortran/routine-9.f90: New test.
741
742 2015-11-30 Tom de Vries <tom@codesourcery.com>
743
744 PR tree-optimization/46032
745 * testsuite/libgomp.c/pr46032.c: New test.
746
747 2015-11-27 Jakub Jelinek <jakub@redhat.com>
748
749 PR libgomp/68579
750 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
751 (gomp_create_target_task): Call it before freeing
752 GOMP_TARGET_TASK_DATA tasks.
753
754 PR c/63326
755 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
756 in between case label and OpenMP standalone directives.
757 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
758
759 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
760
761 * configure: Regenerate.
762
763 2015-11-26 Jakub Jelinek <jakub@redhat.com>
764
765 * testsuite/libgomp.c/target-35.c: New test.
766
767 2015-11-22 James Norris <jnorris@codesourcery.com>
768 Cesar Philippidis <cesar@codesourcery.com>
769
770 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
771 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
772 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
773 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
774 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
775
776 2015-11-20 Jakub Jelinek <jakub@redhat.com>
777
778 PR middle-end/68221
779 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
780 * testsuite/libgomp.c/reduction-12.c: Likewise.
781 * testsuite/libgomp.c++/reduction-11.C: Likewise.
782 * testsuite/libgomp.c++/reduction-12.C: Likewise.
783
784 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
785
786 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
787 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
788 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
789 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
790 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
791 and fix.
792 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
793 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
794
795 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
796
797 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
798 worker & gang cases.
799 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
800
801 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
802
803 * config/nvptx/priority_queue.c: New file.
804
805 2015-11-14 Jakub Jelinek <jakub@redhat.com>
806
807 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
808 sections.
809
810 2015-11-14 Jakub Jelinek <jakub@redhat.com>
811 Aldy Hernandez <aldyh@redhat.com>
812 Ilya Verbin <ilya.verbin@intel.com>
813
814 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
815 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
816 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
817 iterators or IV by chunk size.
818 * parallel.c (gomp_resolve_num_threads): Don't assume that
819 if thr->ts.team is non-NULL, then pool must be non-NULL.
820 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
821 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
822 GOMP_PLUGIN_target_task_completion.
823 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
824 * Makefile.in: Regenerate.
825 * libgomp.h: Shuffle prototypes and forward definitions around so
826 priority queues can be defined.
827 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
828 (enum gomp_target_task_state): New enum.
829 (struct gomp_target_task): Add state, tgt, task and team fields.
830 (gomp_create_target_task): Change return type to bool, add
831 state argument.
832 (gomp_target_task_fn): Change return type to bool.
833 (struct gomp_device_descr): Add async_run_func.
834 (struct gomp_task): Remove children, next_child, prev_child,
835 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
836 Add pnode field.
837 (struct gomp_taskgroup): Remove children.
838 Add taskgroup_queue.
839 (struct gomp_team): Change task_queue type to a priority queue.
840 (splay_compare): Define inline.
841 (priority_queue_offset): New.
842 (priority_node_to_task): New.
843 (task_to_priority_node): New.
844 * oacc-mem.c: Do not include splay-tree.h.
845 * priority_queue.c: New file.
846 * priority_queue.h: New file.
847 * splay-tree.c: Do not include splay-tree.h.
848 (splay_tree_foreach_internal): New.
849 (splay_tree_foreach): New.
850 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
851 (splay_tree_callback): Define typedef.
852 * target.c (splay_compare): Move to libgomp.h.
853 (GOMP_target): Don't adjust *thr in any way around running offloaded
854 task.
855 (GOMP_target_ext): Likewise. Handle target nowait.
856 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
857 return value from gomp_create_target_task, if false, fallthrough
858 as if no dependencies exist.
859 (gomp_target_task_fn): Change return type to bool, return true
860 if the task should have another part scheduled later. Handle
861 target nowait.
862 (gomp_load_plugin_for_device): Initialize async_run.
863 * task.c (gomp_init_task): Initialize children_queue.
864 (gomp_clear_parent_in_list): New.
865 (gomp_clear_parent_in_tree): New.
866 (gomp_clear_parent): Handle priorities.
867 (GOMP_task): Likewise.
868 (priority_queue_move_task_first,
869 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
870 New functions.
871 (gomp_create_target_task): Use priority queues. Change return type
872 to bool, add state argument, return false if for async
873 {{enter,exit} data,update} constructs no dependencies need to be
874 waited for, handle target nowait. Set task->fn to NULL instead of
875 gomp_target_task_fn.
876 (verify_children_queue): Remove.
877 (priority_list_upgrade_task): New.
878 (priority_queue_upgrade_task): New.
879 (verify_task_queue): Remove.
880 (priority_list_downgrade_task): New.
881 (priority_queue_downgrade_task): New.
882 (gomp_task_run_pre): Use priority queues.
883 Abstract code out to priority_queue_downgrade_task.
884 (gomp_task_run_post_handle_dependers): Use priority queues.
885 (gomp_task_run_post_remove_parent): Likewise.
886 (gomp_task_run_post_remove_taskgroup): Likewise.
887 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
888 tasks specially.
889 (GOMP_taskwait): Likewise.
890 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
891 priority-queue_upgrade_task.
892 (GOMP_taskgroup_start): Use priority queues.
893 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
894 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
895 barrier.
896 * taskloop.c (GOMP_taskloop): Handle priorities.
897 * team.c (gomp_new_team): Call priority_queue_init.
898 (free_team): Call priority_queue_free.
899 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
900 team created for target nowait in implicit parallel region.
901 (gomp_team_start): For nested check, test thr->ts.level instead of
902 thr->ts.team != NULL.
903 * testsuite/libgomp.c/doacross-3.c: New test.
904 * testsuite/libgomp.c/ordered-5.c: New test.
905 * testsuite/libgomp.c/priority.c: New test.
906 * testsuite/libgomp.c/target-31.c: New test.
907 * testsuite/libgomp.c/target-32.c: New test.
908 * testsuite/libgomp.c/target-33.c: New test.
909 * testsuite/libgomp.c/target-34.c: New test.
910
911 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
912
913 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
914
915 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
916 loop is sequential.
917
918 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
919
920 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
921 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
922
923 2015-11-12 James Norris <jnorris@codesourcery.com>
924 Joseph Myers <joseph@codesourcery.com>
925
926 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
927 * oacc-parallel.c (GOACC_declare): New function.
928 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
929 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
930 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
931 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
932 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
933
934 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
935
936 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
937
938 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
939
940 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
941 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
942
943 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
944
945 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
946 inadvertent commit.
947
948 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
949
950 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
951 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
952 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
953 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
954 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
955
956 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
957
958 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
959 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
960
961 2015-11-05 Jakub Jelinek <jakub@redhat.com>
962 Ilya Verbin <ilya.verbin@intel.com>
963
964 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
965 GOMP_loop_nonmonotonic_dynamic_start,
966 GOMP_loop_nonmonotonic_guided_next,
967 GOMP_loop_nonmonotonic_guided_start,
968 GOMP_loop_ull_nonmonotonic_dynamic_next,
969 GOMP_loop_ull_nonmonotonic_dynamic_start,
970 GOMP_loop_ull_nonmonotonic_guided_next,
971 GOMP_loop_ull_nonmonotonic_guided_start,
972 GOMP_parallel_loop_nonmonotonic_dynamic,
973 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
974 (GOMP_target_41): Renamed to ...
975 (GOMP_target_ext): ... this. Add num_teams and thread_limit
976 arguments.
977 (GOMP_target_data_41): Renamed to ...
978 (GOMP_target_data_ext): ... this.
979 (GOMP_target_update_41): Renamed to ...
980 (GOMP_target_update_ext): ... this.
981 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
982 GOMP_target_data_ext and GOMP_target_update_ext instead of
983 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
984 Export GOMP_loop_nonmonotonic_dynamic_next,
985 GOMP_loop_nonmonotonic_dynamic_start,
986 GOMP_loop_nonmonotonic_guided_next,
987 GOMP_loop_nonmonotonic_guided_start,
988 GOMP_loop_ull_nonmonotonic_dynamic_next,
989 GOMP_loop_ull_nonmonotonic_dynamic_start,
990 GOMP_loop_ull_nonmonotonic_guided_next,
991 GOMP_loop_ull_nonmonotonic_guided_start,
992 GOMP_parallel_loop_nonmonotonic_dynamic and
993 GOMP_parallel_loop_nonmonotonic_guided.
994 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
995 GOMP_parallel_loop_nonmonotonic_guided,
996 GOMP_loop_nonmonotonic_dynamic_start,
997 GOMP_loop_nonmonotonic_guided_start,
998 GOMP_loop_nonmonotonic_dynamic_next,
999 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
1000 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
1001 GOMP_loop_ull_nonmonotonic_guided_start,
1002 GOMP_loop_ull_nonmonotonic_dynamic_next,
1003 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
1004 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
1005 functions.
1006 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
1007 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
1008 Use gomp_map_val function.
1009 (gomp_target_fallback_firstprivate): New static function.
1010 (GOMP_target_41): Renamed to ...
1011 (GOMP_target_ext): ... this. Add num_teams and thread_limit
1012 arguments. Move firstprivate fallback handling into a new
1013 function.
1014 (GOMP_target_data_41): Renamed to ...
1015 (GOMP_target_data_ext): ... this.
1016 (GOMP_target_update_41): Renamed to ...
1017 (GOMP_target_update_ext): ... this.
1018 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
1019 gomp_map_0len_lookup instead of gomp_map_lookup.
1020 (omp_target_is_present): Use gomp_map_0len_lookup instead of
1021 gomp_map_lookup.
1022 * testsuite/libgomp.c/target-28.c: Likewise.
1023 * testsuite/libgomp.c/monotonic-1.c: New test.
1024 * testsuite/libgomp.c/monotonic-2.c: New test.
1025 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
1026 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
1027 * testsuite/libgomp.c/pr66199-5.c: New test.
1028 * testsuite/libgomp.c/pr66199-6.c: New test.
1029 * testsuite/libgomp.c/pr66199-7.c: New test.
1030 * testsuite/libgomp.c/pr66199-8.c: New test.
1031 * testsuite/libgomp.c/pr66199-9.c: New test.
1032 * testsuite/libgomp.c/reduction-11.c: New test.
1033 * testsuite/libgomp.c/reduction-12.c: New test.
1034 * testsuite/libgomp.c/reduction-13.c: New test.
1035 * testsuite/libgomp.c/reduction-14.c: New test.
1036 * testsuite/libgomp.c/reduction-15.c: New test.
1037 * testsuite/libgomp.c/target-12.c (main): Adjust for
1038 omp_target_is_present change for one-past-last element.
1039 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
1040 the same var is both mapped and privatized.
1041 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
1042 handling of zero-length array sections.
1043 * testsuite/libgomp.c/target-28.c: New test.
1044 * testsuite/libgomp.c/target-29.c: New test.
1045 * testsuite/libgomp.c/target-30.c: New test.
1046 * testsuite/libgomp.c/target-teams-1.c: New test.
1047 * testsuite/libgomp.c++/member-6.C: New test.
1048 * testsuite/libgomp.c++/member-7.C: New test.
1049 * testsuite/libgomp.c++/monotonic-1.C: New test.
1050 * testsuite/libgomp.c++/monotonic-2.C: New test.
1051 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
1052 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
1053 * testsuite/libgomp.c++/pr66199-3.C: New test.
1054 * testsuite/libgomp.c++/pr66199-4.C: New test.
1055 * testsuite/libgomp.c++/pr66199-5.C: New test.
1056 * testsuite/libgomp.c++/pr66199-6.C: New test.
1057 * testsuite/libgomp.c++/pr66199-7.C: New test.
1058 * testsuite/libgomp.c++/pr66199-8.C: New test.
1059 * testsuite/libgomp.c++/pr66199-9.C: New test.
1060 * testsuite/libgomp.c++/reduction-11.C: New test.
1061 * testsuite/libgomp.c++/reduction-12.C: New test.
1062 * testsuite/libgomp.c++/target-13.C: New test.
1063 * testsuite/libgomp.c++/target-14.C: New test.
1064 * testsuite/libgomp.c++/target-15.C: New test.
1065 * testsuite/libgomp.c++/target-16.C: New test.
1066 * testsuite/libgomp.c++/target-17.C: New test.
1067 * testsuite/libgomp.c++/target-18.C: New test.
1068 * testsuite/libgomp.c++/target-19.C: New test.
1069
1070 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1071
1072 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
1073 and reduction copy.
1074 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1075 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1076 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1077 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1078 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1079 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1080 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1081 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1082 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1083 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
1084 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
1085 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1086 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1087 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
1088
1089 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1090
1091 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
1092 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
1093 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
1094 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
1095 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
1096 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
1097 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
1098 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
1099
1100 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
1101
1102 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
1103 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
1104 (GOMP_OFFLOAD_openacc_parallel): Likewise.
1105 * oacc-host.c (host_openacc_exec): Likewise.
1106 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
1107
1108 2015-11-03 Julian Brown <julian@codesourcery.com>
1109 Thomas Schwinge <thomas@codesourcery.com>
1110
1111 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
1112 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1113 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
1114 Likewise.
1115 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
1116 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
1117
1118 2015-11-03 James Norris <jnorris@codesourcery.com>
1119
1120 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
1121 file.
1122 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
1123 Likewise.
1124 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
1125 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
1126 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
1127 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
1128 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
1129
1130 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
1131
1132 * openacc.h (enum acc_device_t): Reformat. Ensure layout
1133 compatibility.
1134 (enum acc_async_t): Reformat.
1135 (acc_on_device): Declare compatible with builtin and provide C++
1136 wrapper.
1137 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
1138
1139 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
1140 Cesar Philippidis <cesar@codesourcery.com>
1141
1142 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
1143 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
1144 ... this. Add a description of the test at the top of the file.
1145 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
1146 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
1147 ... this. Add a description of the test at the top of the file.
1148
1149 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
1150
1151 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
1152 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
1153 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
1154 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
1155 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
1156 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
1157
1158 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
1159
1160 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
1161 dimensions.
1162
1163 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1164
1165 PR testsuite/68063
1166 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
1167
1168 2015-10-27 James Norris <jnorris@codesourcery.com>
1169
1170 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
1171 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
1172
1173 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
1174
1175 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
1176 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1177
1178 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
1179 acc_device_nvidia usage.
1180 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
1181 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
1183
1184 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
1185 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
1186
1187 PR libgomp/66518
1188 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
1189
1190 PR libgomp/65437
1191 PR libgomp/66518
1192 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
1193 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
1194
1195 2015-10-23 Tom de Vries <tom@codesourcery.com>
1196
1197 PR testsuite/68063
1198 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
1199
1200 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
1201
1202 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
1203 vector_length.
1204 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1205
1206 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
1207 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
1208
1209 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
1210 to 0 when mapnum is 0.
1211
1212 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
1213
1214 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
1215 Cast to int from int32_t.
1216
1217 2015-10-13 Jakub Jelinek <jakub@redhat.com>
1218 Aldy Hernandez <aldyh@redhat.com>
1219 Ilya Verbin <ilya.verbin@intel.com>
1220
1221 * config/linux/affinity.c (omp_get_place_num_procs,
1222 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
1223 * config/linux/doacross.h: New file.
1224 * config/posix/affinity.c (omp_get_place_num_procs,
1225 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
1226 * config/posix/doacross.h: New file.
1227 * env.c: Include gomp-constants.h.
1228 (struct gomp_task_icv): Rename run_sched_modifier to
1229 run_sched_chunk_size.
1230 (gomp_max_task_priority_var): New variable.
1231 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
1232 (handle_omp_display_env): Change _OPENMP value from 201307 to
1233 201511. Print OMP_MAX_TASK_PRIORITY.
1234 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
1235 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
1236 chunk_size and run_sched_modifier to run_sched_chunk_size.
1237 (omp_get_max_task_priority, omp_get_initial_device,
1238 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
1239 omp_get_partition_place_nums): New functions.
1240 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
1241 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
1242 to chunk_size.
1243 (omp_get_num_places_, omp_get_place_num_procs_,
1244 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
1245 omp_get_place_proc_ids_8_, omp_get_place_num_,
1246 omp_get_partition_num_places_, omp_get_partition_place_nums_,
1247 omp_get_partition_place_nums_8_, omp_get_initial_device_,
1248 omp_get_max_task_priority_): New functions.
1249 * libgomp_g.h (GOMP_loop_doacross_static_start,
1250 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
1251 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
1252 GOMP_loop_ull_doacross_dynamic_start,
1253 GOMP_loop_ull_doacross_guided_start,
1254 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
1255 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
1256 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
1257 GOMP_target_data_41, GOMP_target_update_41,
1258 GOMP_target_enter_exit_data): New prototypes.
1259 (GOMP_task): Add prototype argument.
1260 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
1261 (struct gomp_doacross_work_share): New type.
1262 (struct gomp_work_share): Add doacross field.
1263 (struct gomp_task_icv): Rename run_sched_modifier to
1264 run_sched_chunk_size.
1265 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
1266 GOMP_TASK_UNDEFERRED. Add comments.
1267 (struct gomp_task_depend_entry): Add comments.
1268 (struct gomp_task): Likewise.
1269 (struct gomp_taskgroup): Likewise.
1270 (struct gomp_target_task): New type.
1271 (struct gomp_team): Add comment.
1272 (gomp_get_place_proc_ids_8, gomp_doacross_init,
1273 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
1274 gomp_create_target_task, gomp_target_task_fn): New prototypes.
1275 (struct target_var_desc): New type.
1276 (struct target_mem_desc): Adjust comment. Use struct
1277 target_var_desc instead of splay_tree_key for list.
1278 (REFCOUNT_INFINITY): Define.
1279 (struct splay_tree_key_s): Remove copy_from field.
1280 (struct gomp_device_descr): Add dev2dev_func field.
1281 (enum gomp_map_vars_kind): New enum.
1282 (gomp_map_vars): Add one argument.
1283 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
1284 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
1285 omp_get_place_num_procs, omp_get_place_num_procs_,
1286 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
1287 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
1288 omp_get_place_num_, omp_get_partition_num_places,
1289 omp_get_partition_num_places_, omp_get_partition_place_nums,
1290 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
1291 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
1292 omp_target_free, omp_target_is_present, omp_target_memcpy,
1293 omp_target_memcpy_rect, omp_target_associate_ptr and
1294 omp_target_disassociate_ptr.
1295 (GOMP_4.0.2): Renamed to ...
1296 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
1297 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
1298 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
1299 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
1300 GOMP_loop_doacross_static_start, GOMP_doacross_post,
1301 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
1302 GOMP_loop_ull_doacross_guided_start,
1303 GOMP_loop_ull_doacross_runtime_start,
1304 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
1305 GOMP_doacross_ull_wait.
1306 * libgomp.texi: Document omp_get_max_task_priority.
1307 Rename modifier argument to chunk_size for omp_set_schedule and
1308 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
1309 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
1310 to run_sched_chunk_size renaming.
1311 (GOMP_loop_ordered_runtime_start): Likewise.
1312 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1313 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
1314 GOMP_parallel_loop_runtime_start): New functions.
1315 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
1316 to run_sched_chunk_size renaming.
1317 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
1318 GOMP_loop_doacross_guided_start): New functions or aliases.
1319 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
1320 run_sched_modifier to run_sched_chunk_size renaming.
1321 (GOMP_loop_ull_ordered_runtime_start): Likewise.
1322 (gomp_loop_ull_doacross_static_start,
1323 gomp_loop_ull_doacross_dynamic_start,
1324 gomp_loop_ull_doacross_guided_start,
1325 GOMP_loop_ull_doacross_runtime_start): New functions.
1326 (GOMP_loop_ull_doacross_static_start,
1327 GOMP_loop_ull_doacross_dynamic_start,
1328 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
1329 * oacc-mem.c (acc_map_data, present_create_copy,
1330 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
1331 to gomp_map_vars.
1332 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
1333 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
1334 instead of false to gomp_map_vars.
1335 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
1336 * omp.h.in (omp_lock_hint_t): New type.
1337 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1338 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1339 omp_get_place_num, omp_get_partition_num_places,
1340 omp_get_partition_place_nums, omp_get_initial_device,
1341 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
1342 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
1343 omp_target_associate_ptr, omp_target_disassociate_ptr): New
1344 prototypes.
1345 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
1346 (omp_lock_hint_none, omp_lock_hint_uncontended,
1347 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
1348 omp_lock_hint_speculative): New parameters.
1349 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1350 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1351 omp_get_place_num, omp_get_partition_num_places,
1352 omp_get_partition_place_nums, omp_get_initial_device,
1353 omp_get_max_task_priority): New interfaces.
1354 (omp_set_schedule, omp_get_schedule): Rename modifier argument
1355 to chunk_size.
1356 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
1357 (omp_lock_hint_none, omp_lock_hint_uncontended,
1358 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
1359 omp_lock_hint_speculative): New parameters.
1360 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1361 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1362 omp_get_place_num, omp_get_partition_num_places,
1363 omp_get_partition_place_nums, omp_get_initial_device,
1364 omp_get_max_task_priority): New functions and subroutines.
1365 * ordered.c: Include stdarg.h and string.h.
1366 (MAX_COLLAPSED_BITS): Define.
1367 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
1368 gomp_doacross_ull_init, GOMP_doacross_ull_post,
1369 GOMP_doacross_ull_wait): New functions.
1370 * target.c: Include errno.h.
1371 (resolve_device): If device is not initialized, call
1372 gomp_init_device on it.
1373 (gomp_map_lookup): New function.
1374 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
1375 Don't bump refcount if REFCOUNT_INFINITY. Handle
1376 GOMP_MAP_ALWAYS_TO_P.
1377 (get_kind): Rename is_openacc argument to short_mapkind.
1378 (gomp_map_pointer): Use gomp_map_lookup.
1379 (gomp_map_fields_existing): New function.
1380 (gomp_map_vars): Rename is_openacc argument to short_mapkind
1381 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
1382 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
1383 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
1384 Adjust for tgt->list changed type and copy_from living in there.
1385 (gomp_copy_from_async): Adjust for tgt->list changed type and
1386 copy_from living in there.
1387 (gomp_unmap_vars): Likewise.
1388 (gomp_update): Likewise. Rename is_openacc argument to
1389 short_mapkind. Don't fail if object is not mapped.
1390 (gomp_load_image_to_device): Initialize refcount to
1391 REFCOUNT_INFINITY.
1392 (gomp_target_fallback): New function.
1393 (gomp_get_target_fn_addr): Likewise.
1394 (GOMP_target): Adjust gomp_map_vars caller, use
1395 gomp_get_target_fn_addr and gomp_target_fallback.
1396 (GOMP_target_41): New function.
1397 (gomp_target_data_fallback): New function.
1398 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
1399 (GOMP_target_data_41): New function.
1400 (GOMP_target_update): Adjust gomp_update caller.
1401 (GOMP_target_update_41): New function.
1402 (gomp_exit_data, GOMP_target_enter_exit_data,
1403 gomp_target_task_fn, omp_target_alloc, omp_target_free,
1404 omp_target_is_present, omp_target_memcpy,
1405 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
1406 omp_target_associate_ptr, omp_target_disassociate_ptr,
1407 gomp_load_plugin_for_device): New functions.
1408 * task.c: Include gomp-constants.h. Include taskloop.c
1409 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
1410 (gomp_task_handle_depend): New function.
1411 (GOMP_task): Use it. Add priority argument. Use
1412 gomp-constant.h constants instead of hardcoded numbers.
1413 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
1414 (gomp_create_target_task): New function.
1415 (verify_children_queue, verify_taskgroup_queue,
1416 verify_task_queue): New functions.
1417 (gomp_task_run_pre): Call verify_*_queue functions.
1418 If an upcoming tied task is about to leave the sibling or
1419 taskgroup queues in an invalid state, adjust appropriately.
1420 Remove taskgroup argument. Add comments.
1421 (gomp_task_run_post_handle_dependers): Add comments.
1422 (gomp_task_run_post_remove_parent): Likewise.
1423 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
1424 (GOMP_taskwait): Likewise. Add comments.
1425 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
1426 problem such that the first non parent_depends_on task does not
1427 end up at the end of the children queue.
1428 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
1429 GOMP_TASK_UNDEFERRED.
1430 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
1431 * taskloop.c: New file.
1432 * testsuite/lib/libgomp.exp
1433 (check_effective_target_offload_device_nonshared_as): New proc.
1434 * testsuite/libgomp.c/affinity-2.c: New test.
1435 * testsuite/libgomp.c/doacross-1.c: New test.
1436 * testsuite/libgomp.c/doacross-2.c: New test.
1437 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
1438 Add map clause to target.
1439 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
1440 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
1441 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
1442 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
1443 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
1444 Likewise.
1445 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
1446 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
1447 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
1448 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
1449 not defined. Use those where needed.
1450 * testsuite/libgomp.c/for-4.c: New test.
1451 * testsuite/libgomp.c/for-5.c: New test.
1452 * testsuite/libgomp.c/for-6.c: New test.
1453 * testsuite/libgomp.c/linear-1.c: New test.
1454 * testsuite/libgomp.c/ordered-4.c: New test.
1455 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
1456 only allowed on the loop iterator.
1457 * testsuite/libgomp.c/pr66199-3.c: New test.
1458 * testsuite/libgomp.c/pr66199-4.c: New test.
1459 * testsuite/libgomp.c/reduction-7.c: New test.
1460 * testsuite/libgomp.c/reduction-8.c: New test.
1461 * testsuite/libgomp.c/reduction-9.c: New test.
1462 * testsuite/libgomp.c/reduction-10.c: New test.
1463 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
1464 map(tofrom:s).
1465 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
1466 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
1467 * testsuite/libgomp.c/target-11.c: New test.
1468 * testsuite/libgomp.c/target-12.c: New test.
1469 * testsuite/libgomp.c/target-13.c: New test.
1470 * testsuite/libgomp.c/target-14.c: New test.
1471 * testsuite/libgomp.c/target-15.c: New test.
1472 * testsuite/libgomp.c/target-16.c: New test.
1473 * testsuite/libgomp.c/target-17.c: New test.
1474 * testsuite/libgomp.c/target-18.c: New test.
1475 * testsuite/libgomp.c/target-19.c: New test.
1476 * testsuite/libgomp.c/target-20.c: New test.
1477 * testsuite/libgomp.c/target-21.c: New test.
1478 * testsuite/libgomp.c/target-22.c: New test.
1479 * testsuite/libgomp.c/target-23.c: New test.
1480 * testsuite/libgomp.c/target-24.c: New test.
1481 * testsuite/libgomp.c/target-25.c: New test.
1482 * testsuite/libgomp.c/target-26.c: New test.
1483 * testsuite/libgomp.c/target-27.c: New test.
1484 * testsuite/libgomp.c/taskloop-1.c: New test.
1485 * testsuite/libgomp.c/taskloop-2.c: New test.
1486 * testsuite/libgomp.c/taskloop-3.c: New test.
1487 * testsuite/libgomp.c/taskloop-4.c: New test.
1488 * testsuite/libgomp.c++/ctor-13.C: New test.
1489 * testsuite/libgomp.c++/doacross-1.C: New test.
1490 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
1491 Replace offload_device with offload_device_nonshared_as.
1492 * testsuite/libgomp.c++/for-12.C: New test.
1493 * testsuite/libgomp.c++/for-13.C: New test.
1494 * testsuite/libgomp.c++/for-14.C: New test.
1495 * testsuite/libgomp.c++/linear-1.C: New test.
1496 * testsuite/libgomp.c++/member-1.C: New test.
1497 * testsuite/libgomp.c++/member-2.C: New test.
1498 * testsuite/libgomp.c++/member-3.C: New test.
1499 * testsuite/libgomp.c++/member-4.C: New test.
1500 * testsuite/libgomp.c++/member-5.C: New test.
1501 * testsuite/libgomp.c++/ordered-1.C: New test.
1502 * testsuite/libgomp.c++/reduction-5.C: New test.
1503 * testsuite/libgomp.c++/reduction-6.C: New test.
1504 * testsuite/libgomp.c++/reduction-7.C: New test.
1505 * testsuite/libgomp.c++/reduction-8.C: New test.
1506 * testsuite/libgomp.c++/reduction-9.C: New test.
1507 * testsuite/libgomp.c++/reduction-10.C: New test.
1508 * testsuite/libgomp.c++/reference-1.C: New test.
1509 * testsuite/libgomp.c++/simd14.C: New test.
1510 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
1511 * testsuite/libgomp.c++/target-5.C: New test.
1512 * testsuite/libgomp.c++/target-6.C: New test.
1513 * testsuite/libgomp.c++/target-7.C: New test.
1514 * testsuite/libgomp.c++/target-8.C: New test.
1515 * testsuite/libgomp.c++/target-9.C: New test.
1516 * testsuite/libgomp.c++/target-10.C: New test.
1517 * testsuite/libgomp.c++/target-11.C: New test.
1518 * testsuite/libgomp.c++/target-12.C: New test.
1519 * testsuite/libgomp.c++/taskloop-1.C: New test.
1520 * testsuite/libgomp.c++/taskloop-2.C: New test.
1521 * testsuite/libgomp.c++/taskloop-3.C: New test.
1522 * testsuite/libgomp.c++/taskloop-4.C: New test.
1523 * testsuite/libgomp.c++/taskloop-5.C: New test.
1524 * testsuite/libgomp.c++/taskloop-6.C: New test.
1525 * testsuite/libgomp.c++/taskloop-7.C: New test.
1526 * testsuite/libgomp.c++/taskloop-8.C: New test.
1527 * testsuite/libgomp.c++/taskloop-9.C: New test.
1528 * testsuite/libgomp.fortran/affinity1.f90: New test.
1529 * testsuite/libgomp.fortran/affinity2.f90: New test.
1530
1531 2015-10-13 Tom de Vries <tom@codesourcery.com>
1532
1533 PR tree-optimization/67476
1534 * testsuite/libgomp.c/autopar-3.c: New test.
1535 * testsuite/libgomp.c/autopar-4.c: New test.
1536 * testsuite/libgomp.c/autopar-5.c: New test.
1537 * testsuite/libgomp.c/autopar-6.c: New test.
1538 * testsuite/libgomp.c/autopar-7.c: New test.
1539 * testsuite/libgomp.c/autopar-8.c: New test.
1540
1541 2015-10-12 James Norris <jnorris@codesourcery.com>
1542
1543 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
1544 initializer.
1545
1546 2015-10-09 David Malcolm <dmalcolm@redhat.com>
1547
1548 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
1549 using load_gcc_lib.
1550
1551 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
1552
1553 * oacc-ptx.h: Remove file, moving its content into...
1554 * config/nvptx/fortran.c: ... here...
1555 * config/nvptx/oacc-init.c: ..., here...
1556 * config/nvptx/oacc-parallel.c: ..., and here.
1557 * config/nvptx/openacc.f90: New file.
1558 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
1559 (link_ptx): Don't link in predefined bits of PTX code.
1560
1561 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
1562 Bernd Schmidt <bernds@codesourcery.com>
1563
1564 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
1565 (struct targ_ptx_obj): New.
1566 (nvptx_tdata): Move earlier, change data format.
1567 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
1568 objects.
1569 (GOMP_OFFLOAD_load_image): Adjust.
1570
1571 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
1572
1573 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
1574 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1575 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
1576 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
1577 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1578 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1579 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1580 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1581 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1582 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1583 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1584 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1585 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1586 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1587 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1588 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1589 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1590 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1591 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1592 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1593 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1594 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1595 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1596 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1597 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1598 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1599 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1600 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1601 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1602 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1603 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1604 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1605 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1606 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1607 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1608 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1609 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1610 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1611 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1612 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1613 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1614 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1615 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1616 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1617 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
1618 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1619 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1620 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1621 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1622 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1623 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
1624 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1625 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1626 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1627 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1628 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1629 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1630 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1631 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1632 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1633 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1634 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1635 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1636
1637 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
1638
1639 * oacc-init.c (acc_on_device): Force optimization level.
1640
1641 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
1642
1643 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
1644 (cuda_errlist): Delete.
1645 (cuda_error): Reimplement.
1646
1647 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1648
1649 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
1650 array.
1651 * libgomp.map (GOACC_parallel_keyed): New.
1652 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
1653 all callers.
1654 (GOACC_parallel_keyed): New interface. Lose geometry arguments
1655 and take keyed varargs list. Adjust call to exec_func.
1656 (GOACC_parallel): Force host fallback.
1657 * libgomp_g.h (GOACC_parallel): Remove.
1658 (GOACC_parallel_keyed): Declare.
1659 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
1660 (stuct targ_gn_descriptor): Replace name field with launch field.
1661 (nvptx_exec): Lose separate geometry args, take array. Process
1662 dynamic dimensions and adjust.
1663 (struct nvptx_tdata): Replace fn_names field with fn_descs.
1664 (GOMP_OFFLOAD_load_image): Adjust for change in function table
1665 data.
1666 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
1667 passing.
1668 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
1669 passing.
1670
1671 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
1672
1673 PR libgomp/67141
1674 * oacc-int.h (goacc_host_init): Add declaration.
1675 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
1676 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
1677
1678 2015-09-08 Aditya Kumar <hiraditya@msn.com>
1679 Sebastian Pop <s.pop@samsung.com>
1680
1681 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
1682 match o/p.
1683 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
1684 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
1685 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
1686 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
1687 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1688
1689 2015-09-03 Jakub Jelinek <jakub@redhat.com>
1690
1691 * configure.tgt: Add missing ;; in between nvptx and rtems
1692 snippets.
1693
1694 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1695
1696 * config/posix/pool.h (gomp_adjust_thread_attr): New.
1697 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
1698 (gomp_thread_pool_reservoir): Add priority member.
1699 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
1700 priority.
1701 (parse_thread_pools): Likewise.
1702 * team.c (gomp_team_start): Call configuration provided
1703 gomp_adjust_thread_attr(). Destroy thread attributes if
1704 necessary.
1705 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
1706
1707 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1708
1709 * config/posix/pool.h: New.
1710 * config/rtems/pool.h: Likewise.
1711 * config/rtems/proc.c: Likewise.
1712 * libgomp.h (gomp_thread_destructor): Declare.
1713 * team.c: Include configuration provided "pool.h".
1714 (gomp_get_thread_pool): Define in configuration.
1715 (gomp_team_end): Call configuration defined
1716 gomp_release_thread_pool().
1717
1718 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1719
1720 * config/rtems/bar.c: New.
1721 * config/rtems/bar.h: Likewise.
1722 * config/rtems/mutex.c: Likewise.
1723 * config/rtems/mutex.h: Likewise.
1724 * config/rtems/sem.c: Likewise.
1725 * config/rtems/sem.h: Likewise.
1726 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
1727 <sys/lock.h> header file.
1728 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
1729 supported by Newlib.
1730 * configure: Regenerate.
1731
1732 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1733
1734 * team.c (gomp_new_thread_pool): Delete and move content to ...
1735 (gomp_get_thread_pool): ... new function. Allocate and
1736 initialize thread pool on demand.
1737 (get_last_team): Use gomp_get_thread_pool().
1738 (gomp_team_start): Delete thread pool initialization.
1739
1740 2015-09-03 Tom de Vries <tom@codesourcery.com>
1741
1742 PR tree-optimization/65637
1743 * testsuite/libgomp.c/autopar-2.c: New test.
1744
1745 2015-08-29 Tom de Vries <tom@codesourcery.com>
1746
1747 PR tree-optimization/46193
1748 * testsuite/libgomp.c/pr46193.c: New test.
1749
1750 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
1751
1752 libgomp/
1753 * libgomp.map: Add 4.0.2 version.
1754 * target.c (offload_image_descr): Add version field.
1755 (gomp_load_image_to_device): Add version argument. Adjust plugin
1756 call. Improve load mismatch diagnostic.
1757 (gomp_unload_image_from_device): Add version argument. Adjust plugin
1758 call.
1759 (GOMP_offload_regster): Make stub function, move bulk to ...
1760 (GOMP_offload_register_ver): ... here. Process version argument.
1761 (GOMP_offload_unregister): Make stub function, move bulk to ...
1762 (GOMP_offload_unregister_ver): ... here. Process version argument.
1763 (gomp_init_device): Process version field.
1764 (gomp_unload_device): Process version field.
1765 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
1766 macros. Check plugin version.
1767 * libgomp.h (gomp_device_descr): Add version function field. Adjust
1768 loader and unloader types.
1769 * oacc-host.c: Include gomp-constants.h.
1770 (host_version): New.
1771 (host_load_image, host_unload_image): Adjust.
1772 (host_dispatch): Add host_version.
1773 * plugin/plugin-nvptx.c: Include gomp-constants.h.
1774 (GOMP_OFFLOAD_version): New.
1775 (GOMP_OFFLOAD_load_image): Add version arg and check it.
1776 (GOMP_OFFLOAD_unload_image): Likewise.
1777 * plugin/plugin-host.c: Include gomp-constants.h.
1778 (GOMP_OFFLOAD_version): New.
1779 (GOMP_OFFLOAD_load_image): Add version arg.
1780 (GOMP_OFFLOAD_unload_image): Likewise.
1781
1782 2015-08-24 Tom de Vries <tom@codesourcery.com>
1783
1784 PR tree-optimization/65468
1785 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
1786
1787 2015-08-24 Tom de Vries <tom@codesourcery.com>
1788
1789 PR tree-optimization/65468
1790 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
1791
1792 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
1793
1794 PR libgomp/66761
1795 PR libgomp/67303
1796 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
1797 (gomp_iter_guided_next): Idem.
1798 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
1799 (gomp_iter_ull_guided_next): Idem.
1800 * config/linux/wait.h (do_spin): Idem.
1801
1802 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
1803
1804 * libgomp-plugin.h (enum offload_target_type): Remove
1805 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
1806 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
1807 * openacc.h (enum acc_device_t): Likewise.
1808 * openacc_lib.h: Likewise.
1809 * oacc-init.c (name_of_acc_device_t): Don't handle it.
1810 (acc_on_device): Just use __builtin_acc_on_device.
1811 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
1812 of acc_on_device builtin.
1813 * plugin/plugin-host.h: Remove file.
1814 * plugin/plugin-host.c: Likewise, but salvage some content into...
1815 * oacc-host.c: ... this file.
1816 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
1817 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
1818 * Makefile.in: Regenerate.
1819 * configure: Likewise.
1820 * testsuite/lib/libgomp.exp
1821 (check_effective_target_openacc_host_nonshm_selected): Remove.
1822 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
1823 ACC_DEVICE_TYPE=host_nonshm.
1824 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1825 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1826 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
1827 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1828 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1829 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1830
1831 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
1832 Jakub Jelinek <jakub@redhat.com>
1833
1834 * config/nvptx/affinity.c: New file.
1835 * config/nvptx/alloc.c: Likewise.
1836 * config/nvptx/bar.c: Likewise.
1837 * config/nvptx/barrier.c: Likewise.
1838 * config/nvptx/critical.c: Likewise.
1839 * config/nvptx/env.c: Likewise.
1840 * config/nvptx/error.c: Likewise.
1841 * config/nvptx/fortran.c: Likewise.
1842 * config/nvptx/iter.c: Likewise.
1843 * config/nvptx/iter_ull.c: Likewise.
1844 * config/nvptx/libgomp-plugin.c: Likewise.
1845 * config/nvptx/lock.c: Likewise.
1846 * config/nvptx/loop.c: Likewise.
1847 * config/nvptx/loop_ull.c: Likewise.
1848 * config/nvptx/mutex.c: Likewise.
1849 * config/nvptx/oacc-async.c: Likewise.
1850 * config/nvptx/oacc-cuda.c: Likewise.
1851 * config/nvptx/oacc-host.c: Likewise.
1852 * config/nvptx/oacc-init.c: Likewise.
1853 * config/nvptx/oacc-mem.c: Likewise.
1854 * config/nvptx/oacc-parallel.c: Likewise.
1855 * config/nvptx/oacc-plugin.c: Likewise.
1856 * config/nvptx/omp-lock.h: Likewise.
1857 * config/nvptx/ordered.c: Likewise.
1858 * config/nvptx/parallel.c: Likewise.
1859 * config/nvptx/proc.c: Likewise.
1860 * config/nvptx/ptrlock.c: Likewise.
1861 * config/nvptx/sections.c: Likewise.
1862 * config/nvptx/sem.c: Likewise.
1863 * config/nvptx/single.c: Likewise.
1864 * config/nvptx/splay-tree.c: Likewise.
1865 * config/nvptx/target.c: Likewise.
1866 * config/nvptx/task.c: Likewise.
1867 * config/nvptx/team.c: Likewise.
1868 * config/nvptx/time.c: Likewise.
1869 * config/nvptx/work.c: Likewise.
1870 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
1871 * configure: Regenerate.
1872 * configure.tgt (config_path): Set to "nvptx" for target
1873 nvptx*-*-*.
1874
1875 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
1876
1877 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
1878
1879 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
1880
1881 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
1882 (cuda_errlist): Constify.
1883 (errmsg): Move into ...
1884 (cuda_error): ... here. Make smaller.
1885 (_XSTR, _STR): Delete.
1886 (cuda_synames): Delete.
1887 (verify_device_library): Delete.
1888 (nvptx_init): Don't call it.
1889
1890 2015-07-28 Tom de Vries <tom@codesourcery.com>
1891
1892 * testsuite/libgomp.c/uns-outer-4.c: New test.
1893
1894 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
1895
1896 * testsuite/libgomp.c/pr66714.c: New test.
1897
1898 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
1899
1900 PR libgomp/66950
1901 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
1902 (fib_ref): New function.
1903 (fib): Correct corner cases in the recursion.
1904 (main): Replace the non-simd loop with fib_ref call.
1905 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
1906 subroutine.
1907 (fibonacci): Lower the parameter N to 30. Correct accordingly check
1908 for the last array element value. Replace the non-simd loop with
1909 fib_ref call. Remove redundant b_ref array. Remove the comparison
1910 of the last array element with according Fibonacci sequence element.
1911 (fib): Correct corner cases in the recursion.
1912
1913 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
1914
1915 * target.c (gomp_offload_image_to_device): Rename to ...
1916 (gomp_load_image_to_device): ... here.
1917 (GOMP_offload_register): Adjust call.
1918 (gomp_init_device): Likewise.
1919 (gomp_unload_image_from_device): New. Broken out of ...
1920 (GOMP_offload_unregister): ... here. Call it.
1921 (gomp_unload_device): New.
1922 * libgomp.h (gomp_unload_device): Declare.
1923 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
1924 mem maps.
1925
1926 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
1927
1928 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
1929 wait=-specific if.
1930 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
1931 !=0 condition.
1932 (goacc_waits): Move !num_waits handling to ...
1933 (GOACC_wait): ... here, the only caller that might have zero waits.
1934
1935 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
1936 (struct ptx_image_data): Move earlier, add fns field.
1937 (struct ptx_device): Add images and image_lock fields.
1938 (ptx_images, ptx_image_lock): Delete.
1939 (nvptx_open_device): Initialize images and image_lock fields.
1940 (nvptx_close_device): Destroy image_lock.
1941 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
1942 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
1943 fields.
1944
1945 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
1946
1947 * target.c (GOMP_offload_register): Use int for device type arg.
1948 (GOMP_offload_unregister): Likewise.
1949
1950 * target.c (struct_offload_image_descr): Constify host_table.
1951 (gomp_offload_image_to_device): Likewise.
1952 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
1953
1954 * libgomp.h (gomp_device_descr): Constify target data arguments.
1955 * target.c (struct offload_image_descr): Constify target_data.
1956 (gomp_offload_image_to_device): Likewise.
1957 (GOMP_offload_register): Likewise.
1958 (GOMP_offload_unrefister): Likewise.
1959 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
1960 GOMP_OFFLOAD_unload_image): Constify target data.
1961 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
1962 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
1963
1964 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
1965
1966 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
1967 Workaround driver library const error.
1968 (struct nvptx_tdata, nvptx_tdata_t): New.
1969 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
1970 type.
1971
1972 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
1973
1974 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
1975 of EPS parameter from integer to real.
1976 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
1977 type of EPS parameter from integer to real.
1978
1979 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
1980
1981 * team.c (get_last_team): New.
1982 (gomp_new_team): Recycle last non-nested team if possible.
1983 (gomp_team_end): Move team work share list free lock destruction
1984 to ...
1985 (free_team): ... here.
1986
1987 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
1988
1989 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
1990 and ref from int to double. Replaced their comparison with
1991 an inequality of their difference and EPS.
1992 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
1993 comparison of pri and a reference number with an inequality of their
1994 difference and EPS.
1995 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
1996 the comparison of sum and sum_ref with an inequality of their
1997 difference and EPS.
1998 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
1999 the comparison of pri and a reference number with an inequality of
2000 their difference and EPS.
2001
2002 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
2003
2004 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
2005 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
2006 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
2007 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
2008 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
2009 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
2010 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
2011 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
2012 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
2013 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
2014 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
2015 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
2016 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
2017 variables.
2018 (vec_mult): Likewise. Add #pragma omp taskwait.
2019 (main): Adjust caller.
2020 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
2021 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
2022 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
2023 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
2024 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
2025 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
2026 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
2027 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
2028 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
2029 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
2030 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
2031 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
2032 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
2033 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
2034 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
2035 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
2036 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
2037 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
2038 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
2039 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
2040 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
2041 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
2042 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
2043 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
2044 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
2045 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
2046 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
2047 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
2048 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
2049 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
2050 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
2051 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
2052 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
2053 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
2054 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
2055 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
2056 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
2057 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
2058 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
2059 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
2060 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
2061 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
2062 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
2063 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
2064 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
2065 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
2066 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
2067 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
2068 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
2069 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
2070 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
2071 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
2072 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
2073 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
2074 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
2075 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
2076 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
2077 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
2078 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
2079 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
2080 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
2081 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
2082 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
2083 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
2084 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
2085 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
2086 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
2087 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
2088 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
2089 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
2090 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
2091 (vec_mult): Add !$omp taskwait.
2092 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
2093 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
2094 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
2095 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
2096 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
2097 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
2098 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
2099 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
2100 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
2101 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
2102 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
2103 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
2104 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
2105 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
2106 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
2107 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
2108 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
2109 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
2110 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
2111 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
2112 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
2113 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
2114 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
2115 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
2116 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
2117 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
2118 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
2119 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
2120 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
2121 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
2122 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
2123 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
2124 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
2125 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
2126 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
2127 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
2128 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
2129 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
2130 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
2131 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
2132 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
2133 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
2134 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
2135 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
2136 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
2137 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
2138 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
2139 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
2140 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
2141 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
2142 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
2143 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
2144 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
2145 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
2146 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
2147 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
2148 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
2149 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
2150 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
2151 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
2152 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
2153 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
2154 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
2155 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
2156 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
2157 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
2158 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
2159
2160 2015-07-10 Tom de Vries <tom@codesourcery.com>
2161
2162 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
2163 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
2164
2165 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
2166
2167 PR libgomp/65099
2168 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
2169 in a 64-bit configuration.
2170 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
2171 offloading testing if no such device is available.
2172 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2173 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2174
2175 2015-07-08 Tom de Vries <tom@codesourcery.com>
2176
2177 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
2178 second call to f.
2179 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2180
2181 2015-07-07 Tom de Vries <tom@codesourcery.com>
2182
2183 PR tree-optimization/66642
2184 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
2185 iteration count case.
2186 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
2187 function, factor out of ...
2188 (main): ... here. Test low iteration count case.
2189
2190 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
2191
2192 * libgomp.h (gomp_thread_pool): Comment last_team field.
2193
2194 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
2195
2196 * testsuite/libgomp.c++/pr66702-1.C: Require
2197 vect_simd_clones effective target.
2198 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
2199
2200 2015-06-30 Tom de Vries <tom@codesourcery.com>
2201
2202 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
2203 already set. Use DEFAULT_CFLAGS in dg-runtest.
2204 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
2205 "-O2".
2206
2207 2015-06-30 Tom de Vries <tom@codesourcery.com>
2208
2209 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
2210 already set. Use DEFAULT_CFLAGS in dg-runtest.
2211 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
2212 * testsuite/libgomp.c++/pr64824.C: Same.
2213 * testsuite/libgomp.c++/pr64868.C: Same.
2214 * testsuite/libgomp.c++/pr66199-1.C: Same.
2215 * testsuite/libgomp.c++/pr66199-2.C: Same.
2216 * testsuite/libgomp.c++/target-2.C: Same.
2217 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
2218 -std=<standard> option.
2219 * testsuite/libgomp.c++/udr-11.C: Same.
2220 * testsuite/libgomp.c++/udr-12.C: Same.
2221 * testsuite/libgomp.c++/udr-13.C: Same.
2222 * testsuite/libgomp.c++/udr-14.C: Same.
2223 * testsuite/libgomp.c++/udr-15.C: Same.
2224 * testsuite/libgomp.c++/udr-16.C: Same.
2225 * testsuite/libgomp.c++/udr-17.C: Same.
2226 * testsuite/libgomp.c++/udr-18.C: Same.
2227 * testsuite/libgomp.c++/udr-19.C: Same.
2228 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
2229 * testsuite/libgomp.c++/simd-1.C: Same.
2230 * testsuite/libgomp.c++/simd-2.C: Same.
2231 * testsuite/libgomp.c++/simd-3.C: Same.
2232 * testsuite/libgomp.c++/simd-4.C: Same.
2233 * testsuite/libgomp.c++/simd-5.C: Same.
2234 * testsuite/libgomp.c++/simd-6.C: Same.
2235 * testsuite/libgomp.c++/simd-7.C: Same.
2236 * testsuite/libgomp.c++/simd-8.C: Same.
2237 * testsuite/libgomp.c++/simd-9.C: Same.
2238 * testsuite/libgomp.c++/simd10.C: Same.
2239 * testsuite/libgomp.c++/simd11.C: Same.
2240 * testsuite/libgomp.c++/simd12.C: Same.
2241 * testsuite/libgomp.c++/simd13.C: Same.
2242
2243 2015-06-30 Jakub Jelinek <jakub@redhat.com>
2244
2245 PR middle-end/66702
2246 * testsuite/libgomp.c++/pr66702-1.C: New test.
2247 * testsuite/libgomp.c++/pr66702-2.C: New test.
2248
2249 2015-06-30 Tom de Vries <tom@codesourcery.com>
2250
2251 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
2252 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
2253 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
2254 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
2255
2256 2015-06-30 Tom de Vries <tom@codesourcery.com>
2257
2258 PR tree-optimization/66652
2259 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
2260 using restrict pointers.
2261 (main): Add arguments to calls to f.
2262 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2263
2264 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
2265
2266 * configure.ac: Fix check for header <sys/sysctl.h>.
2267 * configure: Regenerate.
2268 * config.h.in: Likewise.
2269
2270 2015-06-23 Tom de Vries <tom@codesourcery.com>
2271
2272 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
2273 abort.
2274 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
2275
2276 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
2277
2278 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
2279 acc_device_nvidia.
2280
2281 PR libgomp/66518
2282 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
2283 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2284
2285 2015-06-15 Tom de Vries <tom@codesourcery.com>
2286
2287 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
2288 dg-additional-options for any remaining options.
2289 * testsuite/libgomp.c/atomic-2.c: Same.
2290 * testsuite/libgomp.c/atomic-4.c: Same.
2291 * testsuite/libgomp.c/atomic-5.c: Same.
2292 * testsuite/libgomp.c/atomic-6.c: Same.
2293 * testsuite/libgomp.c/autopar-1.c: Same.
2294 * testsuite/libgomp.c/copyin-1.c: Same.
2295 * testsuite/libgomp.c/copyin-2.c: Same.
2296 * testsuite/libgomp.c/copyin-3.c: Same.
2297 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
2298 * testsuite/libgomp.c/nestedfn-5.c: Same.
2299 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
2300 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
2301 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
2302 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2303 * testsuite/libgomp.c/pr32362-1.c: Same.
2304 * testsuite/libgomp.c/pr32362-2.c: Same.
2305 * testsuite/libgomp.c/pr32362-3.c: Same.
2306 * testsuite/libgomp.c/pr39591-1.c: Same.
2307 * testsuite/libgomp.c/pr39591-2.c: Same.
2308 * testsuite/libgomp.c/pr39591-3.c: Same.
2309 * testsuite/libgomp.c/pr58392.c: Same.
2310 * testsuite/libgomp.c/pr58756.c: Same.
2311 * testsuite/libgomp.c/simd-1.c: Same.
2312 * testsuite/libgomp.c/simd-10.c: Same.
2313 * testsuite/libgomp.c/simd-11.c: Same.
2314 * testsuite/libgomp.c/simd-12.c: Same.
2315 * testsuite/libgomp.c/simd-13.c: Same.
2316 * testsuite/libgomp.c/simd-14.c: Same.
2317 * testsuite/libgomp.c/simd-15.c: Same.
2318 * testsuite/libgomp.c/simd-2.c: Same.
2319 * testsuite/libgomp.c/simd-3.c: Same.
2320 * testsuite/libgomp.c/simd-4.c: Same.
2321 * testsuite/libgomp.c/simd-5.c: Same.
2322 * testsuite/libgomp.c/simd-6.c: Same.
2323 * testsuite/libgomp.c/simd-7.c: Same.
2324 * testsuite/libgomp.c/simd-8.c: Same.
2325 * testsuite/libgomp.c/simd-9.c: Same.
2326
2327 2015-06-15 Tom de Vries <tom@codesourcery.com>
2328
2329 * testsuite/libgomp.c/pr35625.c: Fix typo.
2330
2331 2015-06-15 Tom de Vries <tom@codesourcery.com>
2332
2333 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
2334 in dg-options.
2335 * testsuite/libgomp.c/atomic-3.c: Same.
2336 * testsuite/libgomp.c/debug-1.c: Same.
2337 * testsuite/libgomp.c/nqueens-1.c: Same.
2338 * testsuite/libgomp.c/pr26171.c: Same.
2339 * testsuite/libgomp.c/pr48591.c: Same.
2340 * testsuite/libgomp.c/pr64824.c: Same.
2341 * testsuite/libgomp.c/pr64868.c: Same.
2342 * testsuite/libgomp.c/pr66133.c: Same.
2343 * testsuite/libgomp.c/pr66199-1.c: Same.
2344 * testsuite/libgomp.c/pr66199-2.c: Same.
2345 * testsuite/libgomp.c/target-8.c: Same.
2346
2347 2015-06-15 Tom de Vries <tom@codesourcery.com>
2348
2349 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
2350 -std={gnu99,c99}.
2351 * testsuite/libgomp.c/for-1.c: Same.
2352 * testsuite/libgomp.c/for-2.c: Same.
2353 * testsuite/libgomp.c/for-3.c: Same.
2354 * testsuite/libgomp.c/pr35625.c: Same.
2355 * testsuite/libgomp.c/pr39154.c: Same.
2356 * testsuite/libgomp.c/simd-16.c: Same.
2357 * testsuite/libgomp.c/simd-17.c: Same.
2358
2359 2015-06-13 Tom de Vries <tom@codesourcery.com>
2360
2361 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
2362
2363 2015-06-13 Tom de Vries <tom@codesourcery.com>
2364
2365 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
2366 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2367 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
2368 (N): Define.
2369 (main): Use N instead of hardcoded constants.
2370
2371 2015-06-05 Tom de Vries <tom@codesourcery.com>
2372
2373 merge from gomp4 branch:
2374 2015-05-28 Tom de Vries <tom@codesourcery.com>
2375
2376 PR tree-optimization/65443
2377 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
2378 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
2379 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
2380
2381 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2382
2383 * testsuite/libgomp.graphite/bounds.c: Adjust for
2384 cleanup-tree-dump removal.
2385 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
2386 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2387 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2388 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
2389 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2390 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2391 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2392 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2393 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2394 * testsuite/libgomp.graphite/pr41118.c: Likewise.
2395
2396 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
2397
2398 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
2399 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
2400 (futex_wake) [!__x86_64__]: Ditto.
2401
2402 2015-05-28 Julian Brown <julian@codesourcery.com>
2403
2404 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
2405 function comment. Only call gomp_fatal if new argument is true.
2406 (acc_dev_num_out_of_range): New function.
2407 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
2408 acc_dev_num_out_of_range as appropriate.
2409 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
2410 (acc_get_device_num, acc_set_device_num): Update calls to
2411 resolve_device.
2412 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
2413 output.
2414
2415 2015-05-28 Julian Brown <julian@codesourcery.com>
2416
2417 PR libgomp/65742
2418 * oacc-init.c (plugin/plugin-host.h): Include.
2419 (acc_on_device): Check whether we're in an offloaded region for
2420 host_nonshm
2421 plugin. Don't use __builtin_acc_on_device.
2422 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
2423 nonshm_exec flag in thread-local data.
2424 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
2425 data for host_nonshm plugin.
2426 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
2427 for host_nonshm plugin.
2428 * plugin/plugin-host.h: New.
2429
2430 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
2431
2432 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
2433
2434 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
2435
2436 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
2437 Declare as int.
2438 (FUTEX_PRIVATE_FLAG): Remove L suffix.
2439 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
2440 Declare as int.
2441
2442 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
2443
2444 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
2445
2446 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
2447
2448 * target.c (gomp_map_pointer): New function abstracting out
2449 GOMP_MAP_POINTER handling.
2450 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
2451 gomp_map_pointer().
2452
2453 2015-05-19 Jakub Jelinek <jakub@redhat.com>
2454
2455 PR middle-end/66199
2456 * testsuite/libgomp.c/pr66199-1.c: New test.
2457 * testsuite/libgomp.c/pr66199-2.c: New test.
2458 * testsuite/libgomp.c++/pr66199-1.C: New test.
2459 * testsuite/libgomp.c++/pr66199-2.C: New test.
2460 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
2461 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
2462
2463 2015-05-19 Julian Brown <julian@codesourcery.com>
2464
2465 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
2466 on cuInit failure.
2467
2468 2015-05-13 Jakub Jelinek <jakub@redhat.com>
2469
2470 PR middle-end/66133
2471 * testsuite/libgomp.c/pr66133.c: New test.
2472
2473 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
2474
2475 * Makefile.in: Regenerated with automake-1.11.6.
2476 * aclocal.m4: Likewise.
2477 * config.h.in: Likewise.
2478 * configure: Likewise.
2479 * testsuite/Makefile.in: Likewise.
2480
2481 2015-05-08 Jason Merrill <jason@redhat.com>
2482
2483 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
2484 _Complex.
2485
2486 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
2487
2488 2015-05-06 Julian Brown <julian@codesourcery.com>
2489
2490 * oacc-init.c (acc_device_lock): Add explanatory comment.
2491 (resolve_device): Add comment about locking requirement.
2492 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
2493 gomp_init_device and gomp_fini_device calls.
2494 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
2495 (acc_get_device_num, acc_set_device_num): Add locking around
2496 resolve_device and gomp_init_device calls.
2497
2498 2015-05-06 Julian Brown <julian@codesourcery.com>
2499
2500 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
2501 goacc_thread_lock on error paths.
2502 * oacc-mem.c (lookup_host): Remove locking from function. Note
2503 locking requirement for caller in function comment.
2504 (lookup_dev): Likewise.
2505 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
2506 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
2507 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
2508 Add locking.
2509
2510 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
2511
2512 PR testsuite/65205
2513 PR libgomp/65993
2514 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
2515 don't expect "0x" prefix for "%p" format specifier, don't expect
2516 "(nil)" for NULL pointer.
2517 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2518 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2519 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2520 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2521 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2522 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2523 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2524 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2525 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2526 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2527 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2528 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2529 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2530 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2531 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2532 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2533 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2534 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2535 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2536 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2537 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2538 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2539 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2540 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2541 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2542 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2543 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2544 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2545 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
2546 accurately specify what we're looking for.
2547 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2548 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2549 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2550 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2551 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2552
2553 2015-04-30 James Norris <jnorris@codesourcery.com>
2554
2555 PR testsuite/65205
2556 * testsuite/lib/libgomp.exp
2557 (check_effective_target_openacc_host_selected)
2558 (check_effective_target_openacc_host_nonshm_selected): New
2559 procedures.
2560 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
2561 dg-shouldfail.
2562 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2563 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2564 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2565 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2566 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2567 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2568 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2569 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2570 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2571 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2572 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2573 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2574 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2575 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2576 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2577 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2578 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2579 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2580 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2581 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2582 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2583 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2584 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2585 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2586 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2587 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2588 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2589 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2590 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2591 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2592 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2593 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2594 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2595 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2596 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2597 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2598 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2599 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2600 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2601 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2602 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2603 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2604 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2605
2606 2015-04-08 Julian Brown <julian@codesourcery.com>
2607
2608 * libgomp.h (target_mem_desc: Remove mem_map field.
2609 (acc_dispatch_t): Remove open_device_func, close_device_func,
2610 get_device_num_func, set_device_num_func, target_data members.
2611 Change create_thread_data_func argument to device number instead of
2612 generic pointer.
2613 * oacc-async.c (assert.h): Include.
2614 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
2615 (acc_wait_all, acc_wait_all_async): Use current host thread's
2616 active device, not base_dev.
2617 * oacc-cuda.c (acc_get_current_cuda_device)
2618 (acc_get_current_cuda_context, acc_get_cuda_stream)
2619 (acc_set_cuda_stream): Likewise.
2620 * oacc-host.c (host_dispatch): Don't set open_device_func,
2621 close_device_func, get_device_num_func or set_device_num_func.
2622 * oacc-init.c (base_dev, init_key): Remove.
2623 (cached_base_dev): New.
2624 (name_of_acc_device_t): New.
2625 (acc_init_1): Initialise default-numbered device, not zeroth.
2626 (acc_shutdown_1): Close all devices of a given type.
2627 (goacc_destroy_thread): Don't use base_dev.
2628 (lazy_open, lazy_init, lazy_init_and_open): Remove.
2629 (goacc_attach_host_thread_to_device): New.
2630 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
2631 (acc_get_num_devices): Don't use base_dev.
2632 (acc_set_device_type): Reimplement.
2633 (acc_get_device_type): Don't use base_dev.
2634 (acc_get_device_num): Tweak logic.
2635 (acc_set_device_num): Likewise.
2636 (acc_on_device): Use acc_get_device_type.
2637 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
2638 (goacc_lazy_initialize): Reimplement with acc_init and
2639 goacc_attach_host_thread_to_device.
2640 * oacc-int.h (goacc_thread): Add base_dev field.
2641 (base_dev): Remove extern declaration.
2642 (goacc_attach_host_thread_to_device): Add prototype.
2643 * oacc-mem.c (acc_malloc): Use current thread's device instead of
2644 base_dev.
2645 (acc_free): Likewise.
2646 (acc_memcpy_to_device): Likewise.
2647 (acc_memcpy_from_device): Likewise.
2648 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
2649 goacc_lazy_initialize (throughout).
2650 (GOACC_parallel): Use tgt_offset to locate target functions.
2651 * target.c (gomp_map_vars): Don't set tgt->mem_map.
2652 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
2653 (gomp_load_plugin_for_device): Remove open_device, close_device,
2654 get_device_num, set_device_num openacc hook initialisation. Don't set
2655 openacc.target_data.
2656 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
2657 (GOMP_OFFLOAD_openacc_close_device)
2658 (GOMP_OFFLOAD_openacc_get_device_num)
2659 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
2660 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
2661 to int.
2662 * plugin/plugin-nvptx.c (ptx_inited): Remove.
2663 (instantiated_devices, ptx_dev_lock): New.
2664 (struct ptx_image_data): New.
2665 (ptx_devices, ptx_images, ptx_image_lock): New.
2666 (fini_streams_for_device): Reorder cuStreamDestroy call.
2667 (nvptx_get_num_devices): Remove forward declaration.
2668 (nvptx_init): Change return type to bool.
2669 (nvptx_fini): Remove.
2670 (nvptx_attach_host_thread_to_device): New.
2671 (nvptx_open_device): Return struct ptx_device* instead of void*.
2672 (nvptx_close_device): Change argument type to struct ptx_device*,
2673 return type to void.
2674 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
2675 (kernel_target_data, kernel_host_table): Remove static globals.
2676 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
2677 (GOMP_OFFLOAD_init_device): Reimplement.
2678 (GOMP_OFFLOAD_fini_device): Likewise.
2679 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
2680 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
2681 (GOMP_OFFLOAD_host2dev): Use ORD argument.
2682 (GOMP_OFFLOAD_openacc_open_device)
2683 (GOMP_OFFLOAD_openacc_close_device)
2684 (GOMP_OFFLOAD_openacc_set_device_num)
2685 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
2686 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
2687 (device number).
2688
2689 testsuite/
2690 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
2691
2692 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
2693
2694 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
2695 * libgomp.h (struct gomp_memory_mapping): Remove.
2696 (struct target_mem_desc): Change type of mem_map from
2697 gomp_memory_mapping * to splay_tree_s *.
2698 (struct gomp_device_descr): Remove register_image_func, get_table_func.
2699 Add load_image_func, unload_image_func.
2700 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
2701 Remove offload_regions_registered.
2702 (gomp_init_tables): Remove.
2703 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
2704 to splay_tree_s *.
2705 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
2706 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
2707 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
2708 offload_regions_registered.
2709 Initialize load_image_func, unload_image_func, mem_map.root.
2710 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
2711 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
2712 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
2713 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
2714 gomp_memory_mapping *. Use dev's lock and splay_tree.
2715 (lookup_dev): Use dev's lock.
2716 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
2717 (acc_is_present): Likewise.
2718 (acc_map_data): Likewise.
2719 (acc_unmap_data): Likewise. Use dev's lock.
2720 (present_create_copy): Likewise.
2721 (delete_copyout): Pass dev to lookup_host instead of mem_map.
2722 (update_dev_host): Likewise.
2723 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
2724 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
2725 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
2726 (GOMP_OFFLOAD_get_table): Remove
2727 (GOMP_OFFLOAD_load_image): New function.
2728 (GOMP_OFFLOAD_unload_image): New function.
2729 * target.c (register_lock): New mutex for offload image registration.
2730 (num_devices): Do not guard with PLUGIN_SUPPORT.
2731 (gomp_realloc_unlock): New static function.
2732 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
2733 before gomp_fatal.
2734 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
2735 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
2736 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
2737 mem_map's.
2738 (gomp_unmap_vars): Likewise.
2739 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
2740 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
2741 (gomp_offload_image_to_device): New static function.
2742 (GOMP_offload_register): Add mutex lock.
2743 Call gomp_offload_image_to_device for all initialized devices.
2744 Replace gomp_realloc with gomp_realloc_unlock.
2745 (GOMP_offload_unregister): New function.
2746 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
2747 get_table_func from the plugin with calls to init_device_func and
2748 gomp_offload_image_to_device.
2749 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
2750 to splay_tree_s *.
2751 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
2752 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
2753 (GOMP_target_data): Do not call gomp_init_tables.
2754 (GOMP_target_update): Likewise. Remove argument from gomp_update.
2755 (gomp_load_plugin_for_device): Replace register_image and get_table
2756 with load_image and unload_image in DLSYM ().
2757 (gomp_register_images_for_device): Remove function.
2758 (gomp_target_init): Do not initialize current_device.mem_map.*,
2759 current_device.offload_regions_registered.
2760 Remove call to gomp_register_images_for_device.
2761 Do not free offload_images and num_offload_images.
2762
2763 2015-03-30 Jakub Jelinek <jakub@redhat.com>
2764
2765 PR fortran/65597
2766 * testsuite/libgomp.fortran/pr65597.f90: New test.
2767
2768 2015-03-27 Tom de Vries <tom@codesourcery.com>
2769
2770 PR testsuite/65594
2771 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
2772 (init, check): New function.
2773 (foo): Change return type to void.
2774 (main): Call init and check.
2775
2776 2015-03-27 Tom de Vries <tom@codesourcery.com>
2777
2778 PR testsuite/65594
2779 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
2780 (foo): Use M for non-inner loops to scale down test-case.
2781
2782 2015-03-25 Kai Tietz <ktietz@redhat.com>
2783
2784 PR libgomp/64972
2785 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
2786 (GOACC_data_start): Likewise.
2787 * target.c (gomp_map_vars): Likewise.
2788
2789 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
2790
2791 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
2792 hppa*-*-hpux*.
2793
2794 2015-03-19 Jakub Jelinek <jakub@redhat.com>
2795
2796 * testsuite/libgomp.c/target-10.c: New test.
2797 * testsuite/libgomp.c++/target-4.C: New test.
2798
2799 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
2800
2801 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
2802 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
2803
2804 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
2805
2806 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
2807 * configure.ac (*-*-rtems*): Assume Pthread is supported.
2808 (pthread.h): Check for this header file.
2809 * configure: Regenerate.
2810
2811 2015-02-25 Tom de Vries <tom@codesourcery.com>
2812
2813 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
2814 (check_reduction_op, check_reduction_macro, max, min):
2815 Declare.
2816 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
2817 function.
2818 (main): Use new functions.
2819
2820 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
2821
2822 * target.c (gomp_load_plugin_for_device): Use const char * instead of
2823 char * for variables holding dlerror return values.
2824 (DLSYM_OPT): Ditto.
2825
2826 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
2827
2828 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
2829
2830 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
2831 Cesar Philippidis <cesar@codesourcery.com>
2832
2833 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
2834 GOACC_ctaid, and GOACC_nctaid routines.
2835
2836 2015-02-11 Jakub Jelinek <jakub@redhat.com>
2837
2838 PR c/64824
2839 * testsuite/libgomp.c/atomic-18.c: New test.
2840 * testsuite/libgomp.c++/atomic-16.C: New test.
2841
2842 2015-02-04 Jakub Jelinek <jakub@redhat.com>
2843
2844 PR c/64824
2845 PR c/64868
2846 * testsuite/libgomp.c/pr64824.c: New test.
2847 * testsuite/libgomp.c/pr64868.c: New test.
2848 * testsuite/libgomp.c++/pr64824.C: New test.
2849 * testsuite/libgomp.c++/pr64868.C: New test.
2850
2851 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
2852
2853 PR libgomp/64635
2854 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
2855 Link with -lpthread.
2856 * config/aix/plugin-suffix.h: Delete.
2857
2858 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
2859
2860 PR libgomp/64635
2861 * configure.tgt (*-*-aix*): Use config_path "aix posix".
2862 (*-*-darwin*): Use config_path "bsd darwin posix".
2863 (*-*-hpux*): Use config_path "hpux posix".
2864 * target.c: Add include of plugin-suffix.h and use
2865 SONAME_SUFFIX macro.
2866 * config/aix/plugin-suffix.h: New file.
2867 * config/darwin/plugin-suffix.h: New file.
2868 * config/hpux/plugin-suffix.h: New file.
2869 * config/posix/plugin-suffix.h: New file.
2870
2871 2015-01-23 Jakub Jelinek <jakub@redhat.com>
2872
2873 PR middle-end/64734
2874 * libgomp.c/pr64734.c: New test.
2875
2876 2015-01-23 Tom de Vries <tom@codesourcery.com>
2877
2878 PR libgomp/64672
2879 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
2880
2881 2015-01-23 Tom de Vries <tom@codesourcery.com>
2882
2883 PR libgomp/64707
2884 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
2885 dg-options.
2886
2887 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
2888
2889 PR libgomp/64625
2890 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
2891 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
2892 formal parameter. Update all users.
2893 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
2894 Document unused formal parameter.
2895
2896 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
2897
2898 * oacc-parallel.c: Don't include <alloca.h>.
2899 (GOACC_parallel): Use gomp_alloca instead of alloca.
2900
2901 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
2902
2903 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
2904
2905 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2906 James Norris <jnorris@codesourcery.com>
2907 Tom de Vries <tom@codesourcery.com>
2908 Julian Brown <julian@codesourcery.com>
2909 Cesar Philippidis <cesar@codesourcery.com>
2910 Nathan Sidwell <nathan@codesourcery.com>
2911 Tobias Burnus <burnus@net-b.de>
2912
2913 * Makefile.am (search_path): Add $(top_srcdir)/../include.
2914 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
2915 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
2916 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
2917 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
2918 Include $(top_srcdir)/plugin/Makefrag.am.
2919 (nodist_libsubinclude_HEADERS): Add openacc.h.
2920 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
2921 openacc.f90, openacc.mod, openacc_kinds.mod.
2922 (omp_lib.mod): Generalize into...
2923 (%.mod): ... this new rule.
2924 (openacc_kinds.mod, openacc.mod): New rules.
2925 * plugin/configfrag.ac: New file.
2926 * configure.ac: Move plugin/offloading support into it. Include
2927 it. Instantiate testsuite/libgomp-test-support.pt.exp.
2928 * plugin/Makefrag.am: New file.
2929 * testsuite/Makefile.am (OFFLOAD_TARGETS)
2930 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
2931 export.
2932 (libgomp-test-support.exp): New rule.
2933 (all-local): Depend on it.
2934 * Makefile.in: Regenerate.
2935 * testsuite/Makefile.in: Regenerate.
2936 * config.h.in: Likewise.
2937 * configure: Likewise.
2938 * configure.tgt: Harden shell syntax.
2939 * env.c: Include "oacc-int.h".
2940 (parse_acc_device_type): New function.
2941 (gomp_debug_var, goacc_device_type, goacc_device_num): New
2942 variables.
2943 (initialize_env): Initialize those. Call
2944 goacc_runtime_initialize.
2945 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
2946 (gomp_fatal): Call gomp_vfatal.
2947 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
2948 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
2949 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
2950 (splay_tree_node, splay_tree, splay_tree_key)
2951 (struct target_mem_desc, struct splay_tree_key_s)
2952 (struct gomp_memory_mapping, struct acc_dispatch_t)
2953 (struct gomp_device_descr, gomp_acc_insert_pointer)
2954 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
2955 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
2956 (gomp_free_memmap, gomp_fini_device): New declarations.
2957 (gomp_vdebug, gomp_debug): New macros.
2958 Include "splay-tree.h".
2959 * libgomp.map (OACC_2.0): New symbol version. Use for
2960 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
2961 acc_set_device_type_h_, acc_get_device_type,
2962 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
2963 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
2964 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
2965 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
2966 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
2967 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
2968 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
2969 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
2970 acc_copyin_array_h_, acc_present_or_copyin,
2971 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
2972 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
2973 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
2974 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
2975 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
2976 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
2977 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
2978 acc_update_device, acc_update_device_32_h_,
2979 acc_update_device_64_h_, acc_update_device_array_h_,
2980 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
2981 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
2982 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
2983 acc_is_present_64_h_, acc_is_present_array_h_,
2984 acc_memcpy_to_device, acc_memcpy_from_device,
2985 acc_get_current_cuda_device, acc_get_current_cuda_context,
2986 acc_get_cuda_stream, acc_set_cuda_stream.
2987 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
2988 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
2989 GOACC_update, GOACC_wait, GOACC_get_thread_num,
2990 GOACC_get_num_threads.
2991 (GOMP_PLUGIN_1.0): New symbol version. Use for
2992 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
2993 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
2994 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
2995 GOMP_PLUGIN_acc_thread.
2996 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
2997 environment variable.
2998 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
2999 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
3000 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
3001 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
3002 (splay_tree_remove): New declarations.
3003 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
3004 (splay_tree_remove, splay_tree_lookup): Move into...
3005 * splay-tree.c: ... this new file.
3006 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
3007 (splay_tree_node, splay_tree, splay_tree_key)
3008 (struct target_mem_desc, struct splay_tree_key_s)
3009 (struct gomp_device_descr): Don't declare.
3010 (num_devices_openmp): New variable.
3011 (gomp_get_num_devices ): Use it.
3012 (gomp_init_targets_once): New function.
3013 (gomp_get_num_devices ): Use it.
3014 (get_kind, gomp_copy_from_async, gomp_free_memmap)
3015 (gomp_fini_device, gomp_register_image_for_device): New functions.
3016 (gomp_map_vars): Add devaddrs parameter.
3017 (gomp_update): Add mm parameter.
3018 (gomp_init_device): Move most of it into...
3019 (gomp_init_tables): ... this new function.
3020 (gomp_register_images_for_device): Remove function.
3021 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
3022 Make them hidden instead of static.
3023 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
3024 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
3025 (GOMP_target_end_data, GOMP_target_update)
3026 (gomp_load_plugin_for_device, gomp_target_init): Update for
3027 OpenACC changes.
3028 * oacc-async.c: New file.
3029 * oacc-cuda.c: Likewise.
3030 * oacc-host.c: Likewise.
3031 * oacc-init.c: Likewise.
3032 * oacc-int.h: Likewise.
3033 * oacc-mem.c: Likewise.
3034 * oacc-parallel.c: Likewise.
3035 * oacc-plugin.c: Likewise.
3036 * oacc-plugin.h: Likewise.
3037 * oacc-ptx.h: Likewise.
3038 * openacc.f90: Likewise.
3039 * openacc.h: Likewise.
3040 * openacc_lib.h: Likewise.
3041 * plugin/plugin-host.c: Likewise.
3042 * plugin/plugin-nvptx.c: Likewise.
3043 * libgomp-plugin.c: Likewise.
3044 * libgomp-plugin.h: Likewise.
3045 * libgomp_target.h: Remove file after merging content into the
3046 former file. Update all users.
3047 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
3048 (offload_targets_s, offload_targets_s_openacc): New variables.
3049 (check_effective_target_openacc_nvidia_accel_present)
3050 (check_effective_target_openacc_nvidia_accel_selected): New
3051 procedures.
3052 (libgomp_init): Update for OpenACC changes.
3053 * testsuite/libgomp-test-support.exp.in: New file.
3054 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3055 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3056 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3057 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
3058 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
3059 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3060 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
3061 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3062 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3063 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
3064 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
3065 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3066 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
3067 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3068 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
3069 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3070 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
3071 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
3072 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
3073 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
3074 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
3075 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3076 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3077 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
3078 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3079 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3080 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3081 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3082 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3083 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3084 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3085 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3086 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3087 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
3088 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
3089 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3090 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
3091 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3092 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
3093 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
3094 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3095 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3096 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3097 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3098 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3099 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
3100 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3101 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3102 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3103 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3104 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3105 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3106 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3107 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3108 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3109 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3110 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3111 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3112 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3113 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
3114 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3115 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
3116 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3117 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3118 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3119 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
3120 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
3121 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3122 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3123 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3124 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
3125 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3126 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3127 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3128 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
3129 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
3130 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3131 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3132 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
3133 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
3134 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
3135 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
3136 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3137 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3138 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3139 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
3140 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
3141 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3142 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3143 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
3144 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
3145 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
3146 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
3147 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3148 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3149 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3150 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3151 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
3152 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3153 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3154 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
3155 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
3156 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
3157 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3158 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
3159 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
3160 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
3161 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
3162 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
3163 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3164 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
3165 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3166 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3167 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
3168 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3169 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3170 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
3171 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3172 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
3173 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
3174 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
3175 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
3176 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
3177 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
3178 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
3179 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
3180 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3181 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
3182 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
3183 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
3184 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
3185 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
3186 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3187 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
3188 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
3189 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3190 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3191 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3192 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3193 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
3194 Likewise.
3195 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
3196 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
3197 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
3198 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3199 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
3200 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3201 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3202 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3203 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3204 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3205 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3206 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3207 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3208 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3209 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3210 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3211 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3212 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3213 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3214 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3215 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3216 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3217 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3218 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3219 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3220 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3221 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3222 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3223 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3224 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3225 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3226 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3227 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3228 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3229 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3230 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3231 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3232 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3233 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3234 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3235 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3236 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3237 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3238 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3239 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3240 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3241 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3242 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3243 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3244 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3245 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3246 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3247 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3248 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3249 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3250 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3251 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3252 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3253 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3254 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3255
3256 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
3257 Julian Brown <julian@codesourcery.com>
3258 David Malcolm <dmalcolm@redhat.com>
3259
3260 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
3261 to "GNU Offloading and Multi Processing Runtime Library". Change
3262 all users.
3263 * configure: Regenerate.
3264 * libgomp.texi: Update.
3265
3266 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
3267
3268 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
3269 "$tgt_dir/lib32".
3270 * configure: Regenerate.
3271
3272 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
3273 "intelmic" in $offload_targets.
3274
3275 2015-01-05 Jakub Jelinek <jakub@redhat.com>
3276
3277 Update copyright years.
3278
3279 * libgomp.texi: Bump @copying's copyright year.
3280
3281 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3282
3283 * testsuite/lib/libgomp.exp: Load target-utils.exp.
3284 Move load of target-supportes.exp earlier.
3285
3286 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
3287
3288 * testsuite/libgomp.c/target-9.c: New test.
3289
3290 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
3291
3292 * config.h.in: Regenerate.
3293 * configure: Regenerate.
3294 * configure.ac: Add GCC_CHECK_EMUTLS.
3295 * libgomp.h: Add check for USE_EMUTLS: this case
3296 is equal to HAVE_TLS.
3297 * team.c: Likewise.
3298
3299 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
3300
3301 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
3302
3303 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
3304 Ilya Verbin <ilya.verbin@intel.com>
3305
3306 * testsuite/libgomp.c/target-critical-1.c: New test.
3307
3308 2014-11-26 Jakub Jelinek <jakub@redhat.com>
3309
3310 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
3311 to dg-options unless expensive testing is on.
3312 (TESTITERS): Define to N if not defined.
3313 (main): Use TESTITERS instead of N.
3314 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
3315 dg-additional-options depending on whether expensive testing is on.
3316 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
3317 Decrease N to 100000 and CHUNKSZ to 10000.
3318
3319 2014-11-24 Jakub Jelinek <jakub@redhat.com>
3320
3321 PR fortran/63938
3322 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
3323 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3324
3325 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
3326
3327 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
3328
3329 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
3330
3331 PR bootstrap/63784
3332 * configure: Regenerated.
3333
3334 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
3335
3336 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
3337 vect_simd_clones effective target.
3338 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
3339
3340 2014-11-14 Jakub Jelinek <jakub@redhat.com>
3341
3342 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
3343 of 32 as block_size.
3344 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
3345 instead of 32 as block_size.
3346
3347 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
3348 Ilya Verbin <ilya.verbin@intel.com>
3349
3350 * Makefile.in: Regenerate.
3351 * configure: Regenerate.
3352 * configure.ac: Set up offload_additional_options,
3353 offload_additional_lib_paths and offload_targets.
3354 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
3355 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
3356 * testsuite/Makefile.in: Regenerate.
3357 * testsuite/lib/libgomp.exp (libgomp_init): Append
3358 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
3359 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
3360 build directory to LD_LIBRARY_PATH for intelmic offload targets.
3361
3362 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
3363 Ilya Verbin <ilya.verbin@intel.com>
3364 Kirill Yukhin <kirill.yukhin@intel.com>
3365 Ilya Tocar <ilya.tocar@intel.com>
3366
3367 * testsuite/lib/libgomp.exp
3368 (check_effective_target_offload_device): New.
3369 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
3370 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
3371 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
3372 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
3373 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
3374 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
3375 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
3376 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
3377 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
3378 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
3379 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
3380 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
3381 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
3382 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
3383 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
3384 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
3385 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
3386 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
3387 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
3388 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
3389 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
3390 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
3391 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
3392 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
3393 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
3394 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
3395 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
3396 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
3397 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
3398 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
3399 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
3400 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
3401 * testsuite/libgomp.c/target-7.c: Fix test.
3402 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
3403 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
3404 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
3405 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
3406 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
3407 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
3408 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
3409 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
3410 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
3411 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
3412 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
3413 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
3414 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
3415 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
3416 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
3417 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
3418 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
3419 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
3420 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
3421 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
3422 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
3423 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
3424 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
3425 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
3426 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
3427 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
3428 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
3429 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
3430 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
3431 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
3432 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
3433
3434 2014-11-13 Jakub Jelinek <jakub@redhat.com>
3435 Ilya Verbin <ilya.verbin@intel.com>
3436 Thomas Schwinge <thomas@codesourcery.com>
3437 Andrey Turetskiy <andrey.turetskiy@intel.com>
3438
3439 * libgomp.map (GOMP_4.0.1): New symbol version.
3440 Add GOMP_offload_register.
3441 * libgomp_target.h: New file.
3442 * splay-tree.h: New file.
3443 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
3444 (gomp_target_init): New forward declaration.
3445 (gomp_is_initialized): New static variable.
3446 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
3447 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
3448 New structures.
3449 (offload_images, num_offload_images, devices, num_devices): New static
3450 variables.
3451 (splay_compare): New static function.
3452 (struct gomp_device_descr): New structure.
3453 (gomp_get_num_devices): Call gomp_target_init.
3454 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
3455 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
3456 (GOMP_offload_register): New function.
3457 (GOMP_target): Arrange for host callback to be performed in a separate
3458 initial thread and contention group, inheriting ICVs from
3459 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
3460 Add device initialization and lookup for target function in splay tree.
3461 (GOMP_target_data): Add device initialization and call gomp_map_vars.
3462 (GOMP_target_end_data): Call gomp_unmap_vars.
3463 (GOMP_target_update): Add device initialization and call gomp_update.
3464 (gomp_load_plugin_for_device, gomp_register_images_for_device)
3465 (gomp_target_init): New static functions.
3466
3467 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
3468 Thomas Schwinge <thomas@codesourcery.com>
3469 Ilya Verbin <ilya.verbin@intel.com>
3470 Andrey Turetskiy <andrey.turetskiy@intel.com>
3471
3472 * config.h.in: Regenerate.
3473 * configure: Regenerate.
3474 * configure.ac: Check for libdl, required for plugin support.
3475 (PLUGIN_SUPPORT): Define if plugins are supported.
3476 (enable_offload_targets): Support Intel MIC targets.
3477 (OFFLOAD_TARGETS): List of target names suitable for offloading.
3478
3479 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3480
3481 PR target/63610
3482 * configure: Regenerate.
3483
3484 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3485
3486 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
3487
3488 2014-10-06 Marek Polacek <polacek@redhat.com>
3489
3490 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
3491 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
3492 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
3493 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3494
3495 2014-10-06 Marek Polacek <polacek@redhat.com>
3496
3497 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
3498 * testsuite/libgomp.c/nqueens-1.c: Likewise.
3499 * testsuite/libgomp.c/pr26943-3.c: Likewise.
3500 * testsuite/libgomp.c/pr26943-4.c: Likewise.
3501 * testsuite/libgomp.c/pr36802-2.c: Likewise.
3502 * testsuite/libgomp.c/pr36802-3.c: Likewise.
3503 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3504 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3505 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
3506 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
3507 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
3508 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
3509 * testsuite/libgomp.c/omp-single-1.c: Likewise.
3510 * testsuite/libgomp.c/omp-single-2.c: Likewise.
3511 * testsuite/libgomp.c/omp_matvec.c: Likewise.
3512 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
3513 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
3514 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
3515 declarations.
3516
3517 2014-10-03 Jakub Jelinek <jakub@redhat.com>
3518
3519 PR libgomp/61200
3520 * testsuite/libgomp.c/pr61200.c: New test.
3521
3522 2014-09-18 Jakub Jelinek <jakub@redhat.com>
3523
3524 PR c++/63248
3525 * testsuite/libgomp.c++/pr63248.C: New test.
3526
3527 2014-08-04 Jakub Jelinek <jakub@redhat.com>
3528
3529 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
3530 is not zero, but taskgroup->children is NULL and there are
3531 any task->children, schedule those instead of waiting.
3532 * testsuite/libgomp.c/depend-6.c: New test.
3533 * testsuite/libgomp.c/depend-7.c: New test.
3534 * testsuite/libgomp.c/depend-8.c: New test.
3535 * testsuite/libgomp.c/depend-9.c: New test.
3536 * testsuite/libgomp.c/depend-10.c: New test.
3537
3538 2014-08-01 Jakub Jelinek <jakub@redhat.com>
3539
3540 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
3541 (struct gomp_taskwait): New type.
3542 (struct gomp_task): Add taskwait and parent_depends_on, remove
3543 in_taskwait and taskwait_sem fields.
3544 (gomp_finish_task): Don't destroy taskwait_sem.
3545 * task.c (gomp_init_task): Don't init in_taskwait, instead init
3546 taskwait and parent_depends_on.
3547 (GOMP_task): For if (0) tasks with depend clause that depend on
3548 earlier tasks don't defer them, instead call
3549 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
3550 Initialize redundant_out field, for redundant out entries just
3551 move them at the end of linked list instead of removing them
3552 completely, and set redundant_out flag instead of redundant.
3553 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
3554 that task.
3555 (gomp_task_run_post_handle_dependers): If parent is in
3556 gomp_task_maybe_wait_for_dependencies and newly runnable task
3557 is not parent_depends_on, queue it in parent->children linked
3558 list after all runnable tasks with parent_depends_on set.
3559 Adjust for addition of taskwait indirection.
3560 (gomp_task_run_post_remove_parent): If parent is in
3561 gomp_task_maybe_wait_for_dependencies and task to be removed
3562 is parent_depends_on, decrement n_depend and if needed awake
3563 parent. Adjust for addition of taskwait indirection.
3564 (GOMP_taskwait): Adjust for addition of taskwait indirection.
3565 (gomp_task_maybe_wait_for_dependencies): New function.
3566 * testsuite/libgomp.c/depend-5.c: New test.
3567
3568 2014-07-13 Tobias Burnus <burnus@net-b.de>
3569
3570 * testsuite/libgomp.fortran/pr34020.f90: Make compile
3571 with TS 18508/Fortran 2015.
3572
3573 2014-07-06 Marek Polacek <polacek@redhat.com>
3574
3575 PR c/6940
3576 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
3577
3578 2014-07-03 Jakub Jelinek <jakub@redhat.com>
3579
3580 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
3581 matches regex $lang_source_re, add $lang_include_flags to options.
3582 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
3583 * testsuite/libgomp.c++/c++.exp: Likewise.
3584 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
3585 and lang_include_flags instead of adding -fintrinsic-modules-path= to
3586 ALWAYS_CFLAGS.
3587 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
3588
3589 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
3590
3591 * testsuite/libgomp.fortran/fortran.exp: Explain
3592 gfortran-dg-runtest usage.
3593
3594 2014-06-25 Jakub Jelinek <jakub@redhat.com>
3595
3596 * testsuite/libgomp.fortran/simd5.f90: New test.
3597 * testsuite/libgomp.fortran/simd6.f90: New test.
3598 * testsuite/libgomp.fortran/simd7.f90: New test.
3599
3600 2014-06-24 Jakub Jelinek <jakub@redhat.com>
3601
3602 * testsuite/libgomp.c/for-2.c: Define SC to static for
3603 #pragma omp for simd testing.
3604 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
3605 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
3606 SC macro.
3607 * testsuite/libgomp.c/simd-14.c: New test.
3608 * testsuite/libgomp.c/simd-15.c: New test.
3609 * testsuite/libgomp.c/simd-16.c: New test.
3610 * testsuite/libgomp.c/simd-17.c: New test.
3611 * testsuite/libgomp.c++/for-10.C: Define SC to static for
3612 #pragma omp for simd testing.
3613 * testsuite/libgomp.c++/simd10.C: New test.
3614 * testsuite/libgomp.c++/simd11.C: New test.
3615 * testsuite/libgomp.c++/simd12.C: New test.
3616 * testsuite/libgomp.c++/simd13.C: New test.
3617
3618 * testsuite/libgomp.fortran/aligned1.f03: New test.
3619 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
3620 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
3621 tasks with !$omp parallel !$omp single.
3622 * testsuite/libgomp.fortran/target8.f90: New test.
3623 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
3624 not to use trim in the combiner, instead call elemental function.
3625 (fn): New elemental function.
3626 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
3627 Make elemental.
3628 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
3629 omp_in): Likewise.
3630 * testsuite/libgomp.fortran/udr12.f90: New test.
3631 * testsuite/libgomp.fortran/udr13.f90: New test.
3632 * testsuite/libgomp.fortran/udr14.f90: New test.
3633 * testsuite/libgomp.fortran/udr15.f90: New test.
3634
3635 2014-06-18 Jakub Jelinek <jakub@redhat.com>
3636
3637 * omp_lib.f90.in (openmp_version): Set to 201307.
3638 * omp_lib.h.in (openmp_version): Likewise.
3639 * testsuite/libgomp.c/target-8.c: New test.
3640 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
3641 and inbranch clauses.
3642 * testsuite/libgomp.fortran/depend-3.f90: New test.
3643 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
3644 openmp_version.
3645 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3646 * testsuite/libgomp.fortran/target1.f90: New test.
3647 * testsuite/libgomp.fortran/target2.f90: New test.
3648 * testsuite/libgomp.fortran/target3.f90: New test.
3649 * testsuite/libgomp.fortran/target4.f90: New test.
3650 * testsuite/libgomp.fortran/target5.f90: New test.
3651 * testsuite/libgomp.fortran/target6.f90: New test.
3652 * testsuite/libgomp.fortran/target7.f90: New test.
3653
3654 2014-06-10 Jakub Jelinek <jakub@redhat.com>
3655
3656 PR fortran/60928
3657 * testsuite/libgomp.fortran/allocatable9.f90: New test.
3658 * testsuite/libgomp.fortran/allocatable10.f90: New test.
3659 * testsuite/libgomp.fortran/allocatable11.f90: New test.
3660 * testsuite/libgomp.fortran/allocatable12.f90: New test.
3661 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
3662 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
3663 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
3664 * testsuite/libgomp.fortran/associate1.f90: New test.
3665 * testsuite/libgomp.fortran/associate2.f90: New test.
3666 * testsuite/libgomp.fortran/procptr1.f90: New test.
3667
3668 2014-06-06 Jakub Jelinek <jakub@redhat.com>
3669
3670 * testsuite/libgomp.fortran/simd1.f90: New test.
3671 * testsuite/libgomp.fortran/udr1.f90: New test.
3672 * testsuite/libgomp.fortran/udr2.f90: New test.
3673 * testsuite/libgomp.fortran/udr3.f90: New test.
3674 * testsuite/libgomp.fortran/udr4.f90: New test.
3675 * testsuite/libgomp.fortran/udr5.f90: New test.
3676 * testsuite/libgomp.fortran/udr6.f90: New test.
3677 * testsuite/libgomp.fortran/udr7.f90: New test.
3678 * testsuite/libgomp.fortran/udr8.f90: New test.
3679 * testsuite/libgomp.fortran/udr9.f90: New test.
3680 * testsuite/libgomp.fortran/udr10.f90: New test.
3681 * testsuite/libgomp.fortran/udr11.f90: New test.
3682
3683 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
3684
3685 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
3686 vect_simd_clones effective target.
3687 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
3688
3689 2014-05-21 Jakub Jelinek <jakub@redhat.com>
3690
3691 PR middle-end/61252
3692 * testsuite/libgomp.c++/simd-9.C: New test.
3693
3694 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
3695
3696 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
3697 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
3698 texts according to their @menu entry positions.
3699
3700 2014-05-11 Jakub Jelinek <jakub@redhat.com>
3701
3702 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
3703 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
3704 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
3705 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
3706 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
3707 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
3708 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
3709 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
3710 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
3711 * testsuite/libgomp.fortran/depend-1.f90: New test.
3712 * testsuite/libgomp.fortran/depend-2.f90: New test.
3713 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
3714 * testsuite/libgomp.fortran/simd1.f90: New test.
3715 * testsuite/libgomp.fortran/simd2.f90: New test.
3716 * testsuite/libgomp.fortran/simd3.f90: New test.
3717 * testsuite/libgomp.fortran/simd4.f90: New test.
3718 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
3719
3720 2014-05-02 Jakub Jelinek <jakub@redhat.com>
3721
3722 * testsuite/libgomp.c/simd-10.c: New test.
3723 * testsuite/libgomp.c/simd-11.c: New test.
3724 * testsuite/libgomp.c/simd-12.c: New test.
3725 * testsuite/libgomp.c/simd-13.c: New test.
3726
3727 2014-04-24 Jakub Jelinek <jakub@redhat.com>
3728
3729 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
3730 atomic type clauses in any order and optional comma in between.
3731 * testsuite/libgomp.c++/atomic-15.C: Likewise.
3732 * testsuite/libgomp.c/atomic-17.c: Likewise.
3733
3734 * testsuite/libgomp.c/simd-7.c: New test.
3735 * testsuite/libgomp.c/simd-8.c: New test.
3736 * testsuite/libgomp.c/simd-9.c: New test.
3737 * testsuite/libgomp.c/loop-16.c: New test.
3738
3739 2014-04-02 Richard Henderson <rth@redhat.com>
3740
3741 * config/linux/futex.h (futex_wait): Get error value from errno.
3742 (futex_wake): Likewise.
3743
3744 2014-03-25 Jakub Jelinek <jakub@redhat.com>
3745
3746 PR c++/60331
3747 * testsuite/libgomp.c++/udr-11.C: New test.
3748 * testsuite/libgomp.c++/udr-12.C: New test.
3749 * testsuite/libgomp.c++/udr-13.C: New test.
3750 * testsuite/libgomp.c++/udr-14.C: New test.
3751 * testsuite/libgomp.c++/udr-15.C: New test.
3752 * testsuite/libgomp.c++/udr-16.C: New test.
3753 * testsuite/libgomp.c++/udr-17.C: New test.
3754 * testsuite/libgomp.c++/udr-18.C: New test.
3755 * testsuite/libgomp.c++/udr-19.C: New test.
3756
3757 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3758
3759 Update copyright years
3760
3761 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3762
3763 * hashtab.h: Use the standard form for the copyright notice.
3764
3765 2014-01-02 Tobias Burnus <burnus@net-b.de>
3766
3767 * libgomp.texi: Bump @copying's copyright year.
3768
3769 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
3770
3771 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
3772 alloca () with __builtin_alloca ().
3773 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
3774 * testsuite/libgomp.c/lock-3.c: Likewise.
3775 * testsuite/libgomp.c/pr48591.c: Likewise.
3776
3777 2013-12-17 Jakub Jelinek <jakub@redhat.com>
3778
3779 PR testsuite/59534
3780 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
3781 comparisons.
3782
3783 2013-12-16 Jakub Jelinek <jakub@redhat.com>
3784
3785 PR libgomp/58756
3786 * testsuite/libgomp.c/pr58756.c: New test.
3787
3788 2013-12-12 Jakub Jelinek <jakub@redhat.com>
3789
3790 PR libgomp/59467
3791 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
3792 !$omp parallel.
3793
3794 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
3795
3796 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
3797 ALWAYS_CFLAGS.
3798 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
3799 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
3800 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
3801 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
3802 Likewise.
3803
3804 * libgomp_g.h: Include <stddef.h> for size_t.
3805
3806 * libgomp.spec.in: Update comment about libgomp's dependencies.
3807 * configure.ac: Likewise.
3808 * configure: Regenerate.
3809
3810 2013-10-16 Tobias Burnus <burnus@net-b.de>
3811
3812 * libgomp.texi: (Runtime Library Routines): Update references for
3813 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
3814 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
3815 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
3816 (Environment Variables): Update references for OpenMP 4.0. Add
3817 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
3818 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
3819 order.
3820
3821 2013-10-14 Jakub Jelinek <jakub@redhat.com>
3822
3823 * env.c (parse_bind_var): Initialize value to avoid
3824 (false positive) warning.
3825
3826 2013-10-12 Jakub Jelinek <jakub@redhat.com>
3827
3828 PR libgomp/58691
3829 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
3830 to check variable.
3831 (gomp_init_num_threads): Move i variable declaration into
3832 #ifdef CPU_ALLOC_SIZE block.
3833 * config/linux/affinity.c (gomp_affinity_init_level): Test
3834 gomp_places_list_len == 0 rather than gomp_places_list == 0
3835 when checking for topology reading error.
3836 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
3837 * env.c (parse_affinity): Add ignore argument, if true, don't populate
3838 gomp_places_list, only parse env var and always return false.
3839 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
3840 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
3841 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
3842 and either of these variables were parsed correctly into a places
3843 list.
3844
3845 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
3846 Jakub Jelinek <jakub@redhat.com>
3847
3848 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
3849 of 5 loopfn matches.
3850 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3851 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3852 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
3853 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3854 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3855 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3856 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3857 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3858
3859 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
3860
3861 * Makefile.am (omp_lib.mod): Streamline rule.
3862 * Makefile.in: Regenerate.
3863
3864 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
3865 exceptions.
3866
3867 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
3868 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3869 * testsuite/libgomp.fortran/lib2.f: Likewise.
3870 * testsuite/libgomp.fortran/lib3.f: Likewise.
3871
3872 * configure.ac: Typo fix.
3873 * configure: Regenerate.
3874
3875 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
3876 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3877
3878 * omp.h.in: Don't touch the user's namespace.
3879
3880 2013-10-11 Jakub Jelinek <jakub@redhat.com>
3881 Tobias Burnus <burnus@net-b.de>
3882 Richard Henderson <rth@redhat.com>
3883
3884 * target.c: New file.
3885 * Makefile.am (libgomp_la_SOURCES): Add target.c.
3886 * Makefile.in: Regenerated.
3887 * libgomp_g.h (GOMP_task): Add depend argument.
3888 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
3889 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
3890 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
3891 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
3892 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
3893 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
3894 GOMP_taskgroup_start, GOMP_taskgroup_end,
3895 GOMP_parallel_sections): New prototypes.
3896 * fortran.c (omp_is_initial_device): Add ialias_redirect.
3897 (omp_is_initial_device_): New function.
3898 (ULP, STR1, STR2, ialias_redirect): Removed.
3899 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
3900 omp_set_default_device_8_, omp_get_default_device_,
3901 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
3902 functions.
3903 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
3904 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
3905 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
3906 @@GOMP_4.0.
3907 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
3908 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
3909 omp_set_default_device, omp_set_default_device_,
3910 omp_set_default_device_8_, omp_get_default_device,
3911 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
3912 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
3913 omp_get_team_num_): Export @@OMP_4.0.
3914 * team.c (struct gomp_thread_start_data): Add place field.
3915 (gomp_thread_start): Clear thr->thread_pool and
3916 thr->task before returning. Use gomp_team_barrier_wait_final
3917 instead of gomp_team_barrier_wait. Initialize thr->place.
3918 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
3919 team_cancelled and task_queued_count fields.
3920 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
3921 before calling pthread_exit.
3922 (gomp_free_thread): No longer static. Use
3923 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
3924 (gomp_team_start): Add flags argument. Set
3925 thr->thread_pool->threads_busy to nthreads immediately after creating
3926 new pool. Use gomp_managed_threads_lock instead of
3927 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
3928 (gomp_team_end): Use gomp_managed_threads_lock instead of
3929 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
3930 of gomp_team_barrier_wait. If team->team_cancelled, call
3931 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
3932 rather than thr->ts.work_share.
3933 (initialize_team): Don't call gomp_sem_init here.
3934 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
3935 caller.
3936 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
3937 * env.c (gomp_global_icv): Add default_device_var, target_data and
3938 bind_var initializers.
3939 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
3940 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
3941 gomp_places_list_len): New variables.
3942 (parse_bind_var, parse_one_place, parse_places_var): New functions.
3943 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
3944 sized places.
3945 (gomp_cancel_var): New global variable.
3946 (parse_int): New function.
3947 (handle_omp_display_env): New function.
3948 (initialize_env): Use it. Initialize default_device_var.
3949 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
3950 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
3951 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
3952 been successfully parsed (and call gomp_init_affinity in that case).
3953 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
3954 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
3955 omp_get_team_num, omp_is_initial_device): New functions.
3956 * libgomp.h: Include stdlib.h.
3957 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
3958 Define.
3959 (struct target_mem_desc): Forward declare.
3960 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
3961 and thread_limit_var fields.
3962 (gomp_get_num_devices): New prototype.
3963 (gomp_cancel_var): New extern decl.
3964 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
3965 team_cancelled and task_queued_count fields. Add comments about
3966 task_{,queued_,running_}count.
3967 (gomp_cancel_kind): New enum.
3968 (gomp_work_share_end_cancel): New prototype.
3969 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
3970 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
3971 and depend fields.
3972 (struct gomp_taskgroup): New type.
3973 (struct gomp_task_depend_entry,
3974 struct gomp_dependers_vec): New types.
3975 (gomp_finish_task): Free depend_hash if non-NULL.
3976 (struct gomp_team_state): Add place_partition_off
3977 and place_partition_len fields.
3978 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
3979 gomp_places_list_len): New extern decls.
3980 (struct gomp_thread): Add place field.
3981 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
3982 (gomp_init_thread_affinity): Add place argument.
3983 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
3984 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
3985 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
3986 gomp_affinity_init_level, gomp_affinity_print_place): New
3987 prototypes.
3988 (gomp_team_start): Add flags argument.
3989 (gomp_thread_limit_var, gomp_remaining_threads_count,
3990 gomp_remaining_threads_lock): Remove.
3991 (gomp_managed_threads_lock): New variable.
3992 (struct gomp_thread_pool): Add threads_busy field.
3993 (gomp_free_thread): New prototype.
3994 * task.c: Include hashtab.h.
3995 (hash_entry_type): New typedef.
3996 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
3997 (gomp_init_task): Clear dependers, depend_hash, depend_count,
3998 copy_ctors_done and taskgroup fields.
3999 (GOMP_task): Add depend argument, handle depend clauses. If
4000 gomp_team_barrier_cancelled or if it's taskgroup has been
4001 cancelled, don't queue or start new tasks. Set copy_ctors_done
4002 field if needed. Initialize taskgroup field. If copy_ctors_done
4003 and already cancelled, don't discard the task. If taskgroup is
4004 non-NULL, enqueue the task into taskgroup queue. Increment
4005 num_children field in taskgroup. Increment task_queued_count.
4006 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
4007 gomp_task_run_post_remove_taskgroup): New inline functions.
4008 (gomp_task_run_post_handle_depend_hash,
4009 gomp_task_run_post_handle_dependers,
4010 gomp_task_run_post_handle_depend): New functions.
4011 (GOMP_taskwait): Use them. If more than one new tasks
4012 have been queued, wake other threads if needed.
4013 (gomp_barrier_handle_tasks): Likewise. If
4014 gomp_team_barrier_cancelled, don't start any new tasks, just free
4015 all tasks.
4016 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
4017 * omp_lib.f90.in
4018 (omp_proc_bind_kind, omp_proc_bind_false,
4019 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
4020 omp_proc_bind_spread): New params.
4021 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4022 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4023 omp_get_team_num, omp_is_initial_device): New interfaces.
4024 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
4025 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
4026 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
4027 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
4028 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
4029 useless use omp_lib_kinds.
4030 * omp.h.in (omp_proc_bind_t): New typedef.
4031 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4032 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4033 omp_get_team_num, omp_is_initial_device): New prototypes.
4034 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
4035 through to gomp_team_start.
4036 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
4037 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
4038 Adjust gomp_parallel_loop_start callers.
4039 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4040 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4041 GOMP_loop_end_cancel): New functions.
4042 (GOMP_parallel_end): Add ialias_redirect.
4043 * hashtab.h: New file.
4044 * libgomp.texi (Environment Variables): Minor cleanup,
4045 update section refs to OpenMP 4.0rc2.
4046 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
4047 environment variables.
4048 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
4049 team->work_shares_to_free to thr->ts.work_share before calling
4050 free_work_share.
4051 (gomp_work_share_end_cancel): New function.
4052 * config/linux/proc.c: Include errno.h.
4053 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
4054 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
4055 sizeof (cpu_set_t) to determine number of iterations. Fix up check
4056 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
4057 gomp_cpuset_size is sizeof (cpu_set_t).
4058 (gomp_init_num_threads): Initialize gomp_cpuset_size,
4059 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
4060 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
4061 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
4062 contain any logical CPUs.
4063 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
4064 is NULL. Use gomp_cpusetp instead of &cpuset and pass
4065 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
4066 pthread_getaffinity_np. Check gomp_places_list instead of
4067 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
4068 * config/linux/bar.c (gomp_barrier_wait_end,
4069 gomp_barrier_wait_last): Use BAR_* defines.
4070 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
4071 from state where needed. Set work_share_cancelled to 0 on last
4072 thread.
4073 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
4074 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
4075 functions.
4076 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
4077 Add cpusetsize argument.
4078 (gomp_cpuset_size, gomp_cpusetp): Declare.
4079 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
4080 (affinity_counter): Remove.
4081 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
4082 if CPU_ALLOC_SIZE isn't defined.
4083 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
4084 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
4085 bind current thread to the first place.
4086 (gomp_init_thread_affinity): Rewritten. Add place argument, just
4087 pthread_setaffinity_np to gomp_places_list[place].
4088 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4089 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4090 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4091 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
4092 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
4093 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
4094 (gomp_barrier_t): Add awaited_final field.
4095 (gomp_barrier_init): Initialize awaited_final field.
4096 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
4097 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
4098 prototypes.
4099 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
4100 defines.
4101 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
4102 gomp_team_barrier_cancelled): New inline functions.
4103 (gomp_barrier_last_thread,
4104 gomp_team_barrier_set_task_pending,
4105 gomp_team_barrier_clear_task_pending,
4106 gomp_team_barrier_set_waiting_for_tasks,
4107 gomp_team_barrier_waiting_for_tasks,
4108 gomp_team_barrier_done): Use BAR_* defines.
4109 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
4110 (gomp_barrier_wait_end): Use BAR_* defines.
4111 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
4112 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
4113 Use BAR_* defines.
4114 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
4115 gomp_team_barrier_cancel): New functions.
4116 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
4117 argument.
4118 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4119 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4120 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4121 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
4122 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
4123 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
4124 (gomp_barrier_t): Add cancellable field.
4125 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
4126 gomp_team_barrier_cancel): New prototypes.
4127 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
4128 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
4129 gomp_team_barrier_cancelled): New inline functions.
4130 (gomp_barrier_wait_start, gomp_barrier_last_thread,
4131 gomp_team_barrier_set_task_pending,
4132 gomp_team_barrier_clear_task_pending,
4133 gomp_team_barrier_set_waiting_for_tasks,
4134 gomp_team_barrier_waiting_for_tasks,
4135 gomp_team_barrier_done): Use BAR_* defines.
4136 * barrier.c (GOMP_barrier_cancel): New function.
4137 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
4138 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
4139 omp_proc_bind_spread): New params.
4140 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4141 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4142 omp_get_team_num, omp_is_initial_device): New externals.
4143 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
4144 New functions.
4145 (gomp_resolve_num_threads): Adjust for thread_limit now being in
4146 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
4147 infinity. If not nested, just return minimum of max_num_threads
4148 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
4149 to the returned value. Otherwise, don't update atomically
4150 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
4151 (GOMP_parallel_end): Adjust for thread_limit now being in
4152 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
4153 infinity. Adjust threads_busy in the pool rather than
4154 gomp_remaining_threads_count. Remember team->nthreads and call
4155 gomp_team_end before adjusting threads_busy, if not nested
4156 afterwards, just set it to 1 non-atomically. Add ialias.
4157 (GOMP_parallel_start): Adjust gomp_team_start caller.
4158 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
4159 * testsuite/libgomp.c/affinity-1.c: New test.
4160 * testsuite/libgomp.c/atomic-15.c: New test.
4161 * testsuite/libgomp.c/atomic-16.c: New test.
4162 * testsuite/libgomp.c/atomic-17.c: New test.
4163 * testsuite/libgomp.c/cancel-for-1.c: New test.
4164 * testsuite/libgomp.c/cancel-for-2.c: New test.
4165 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
4166 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
4167 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
4168 * testsuite/libgomp.c/cancel-sections-1.c: New test.
4169 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
4170 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
4171 * testsuite/libgomp.c/depend-1.c: New test.
4172 * testsuite/libgomp.c/depend-2.c: New test.
4173 * testsuite/libgomp.c/depend-3.c: New test.
4174 * testsuite/libgomp.c/depend-4.c: New test.
4175 * testsuite/libgomp.c/for-1.c: New test.
4176 * testsuite/libgomp.c/for-1.h: New file.
4177 * testsuite/libgomp.c/for-2.c: New test.
4178 * testsuite/libgomp.c/for-2.h: New file.
4179 * testsuite/libgomp.c/for-3.c: New test.
4180 * testsuite/libgomp.c/pr58392.c: New test.
4181 * testsuite/libgomp.c/simd-1.c: New test.
4182 * testsuite/libgomp.c/simd-2.c: New test.
4183 * testsuite/libgomp.c/simd-3.c: New test.
4184 * testsuite/libgomp.c/simd-4.c: New test.
4185 * testsuite/libgomp.c/simd-5.c: New test.
4186 * testsuite/libgomp.c/simd-6.c: New test.
4187 * testsuite/libgomp.c/target-1.c: New test.
4188 * testsuite/libgomp.c/target-2.c: New test.
4189 * testsuite/libgomp.c/target-3.c: New test.
4190 * testsuite/libgomp.c/target-4.c: New test.
4191 * testsuite/libgomp.c/target-5.c: New test.
4192 * testsuite/libgomp.c/target-6.c: New test.
4193 * testsuite/libgomp.c/target-7.c: New test.
4194 * testsuite/libgomp.c/taskgroup-1.c: New test.
4195 * testsuite/libgomp.c/thread-limit-1.c: New test.
4196 * testsuite/libgomp.c/thread-limit-2.c: New test.
4197 * testsuite/libgomp.c/thread-limit-3.c: New test.
4198 * testsuite/libgomp.c/udr-1.c: New test.
4199 * testsuite/libgomp.c/udr-2.c: New test.
4200 * testsuite/libgomp.c/udr-3.c: New test.
4201 * testsuite/libgomp.c++/affinity-1.C: New test.
4202 * testsuite/libgomp.c++/atomic-10.C: New test.
4203 * testsuite/libgomp.c++/atomic-11.C: New test.
4204 * testsuite/libgomp.c++/atomic-12.C: New test.
4205 * testsuite/libgomp.c++/atomic-13.C: New test.
4206 * testsuite/libgomp.c++/atomic-14.C: New test.
4207 * testsuite/libgomp.c++/atomic-15.C: New test.
4208 * testsuite/libgomp.c++/cancel-for-1.C: New test.
4209 * testsuite/libgomp.c++/cancel-for-2.C: New test.
4210 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
4211 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
4212 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
4213 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
4214 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
4215 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
4216 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
4217 * testsuite/libgomp.c++/cancel-test.h: New file.
4218 * testsuite/libgomp.c++/for-9.C: New test.
4219 * testsuite/libgomp.c++/for-10.C: New test.
4220 * testsuite/libgomp.c++/for-11.C: New test.
4221 * testsuite/libgomp.c++/simd-1.C: New test.
4222 * testsuite/libgomp.c++/simd-2.C: New test.
4223 * testsuite/libgomp.c++/simd-3.C: New test.
4224 * testsuite/libgomp.c++/simd-4.C: New test.
4225 * testsuite/libgomp.c++/simd-5.C: New test.
4226 * testsuite/libgomp.c++/simd-6.C: New test.
4227 * testsuite/libgomp.c++/simd-7.C: New test.
4228 * testsuite/libgomp.c++/simd-8.C: New test.
4229 * testsuite/libgomp.c++/target-1.C: New test.
4230 * testsuite/libgomp.c++/target-2.C: New test.
4231 * testsuite/libgomp.c++/target-2-aux.cc: New file.
4232 * testsuite/libgomp.c++/target-3.C: New test.
4233 * testsuite/libgomp.c++/taskgroup-1.C: New test.
4234 * testsuite/libgomp.c++/udr-1.C: New test.
4235 * testsuite/libgomp.c++/udr-2.C: New test.
4236 * testsuite/libgomp.c++/udr-3.C: New test.
4237 * testsuite/libgomp.c++/udr-4.C: New test.
4238 * testsuite/libgomp.c++/udr-5.C: New test.
4239 * testsuite/libgomp.c++/udr-6.C: New test.
4240 * testsuite/libgomp.c++/udr-7.C: New test.
4241 * testsuite/libgomp.c++/udr-8.C: New test.
4242 * testsuite/libgomp.c++/udr-9.C: New test.
4243
4244 2013-09-20 Jakub Jelinek <jakub@redhat.com>
4245
4246 PR testsuite/57605
4247 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
4248 ALWAYS_CFLAGS.
4249
4250 2013-09-20 Alan Modra <amodra@gmail.com>
4251
4252 * configure: Regenerate.
4253
4254 2013-09-19 Jakub Jelinek <jakub@redhat.com>
4255
4256 * testsuite/libgomp.c/sections-2.c: New test.
4257
4258 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
4259
4260 * testsuite/libgomp.fortran/strassen.f90:
4261 Add dg-skip-if aarch64_tiny.
4262
4263 2013-06-20 Iain Sandoe <iain@codesourcery.com>
4264 Cesar Philippidis <cesar@codesourcery.com>
4265
4266 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
4267 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
4268 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
4269 * testsuite/libgomp.fortran/fortran.exp: Likewise.
4270 * testsuite/libgomp.graphite/graphite.exp: Likewise.
4271 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
4272 Use dg-runtest rather than gfortran-dg-runtest.
4273
4274 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
4275
4276 * testsuite/libgomp.c/icv-2.c: Extend current handling of
4277 Linux-based x86 systems to cover all GNU systems.
4278 * testsuite/libgomp.c/lock-3.c: Likewise.
4279 * testsuite/libgomp.c/pr48591.c: Likewise.
4280
4281 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
4282
4283 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
4284 GNU/Hurd, as done for Linux-based systems.
4285
4286 * config/posix/ptrlock.h: Fix comment.
4287
4288 2013-05-27 Tobias Burnus <burnus@net-b.de>
4289
4290 PR fortran/57423
4291 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
4292 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
4293 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
4294 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
4295 omp_destroy_nest_lock): Correct arguments to match the one in
4296 the OpenMP spec.
4297 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
4298 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
4299 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
4300 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
4301
4302 2013-05-16 Jakub Jelinek <jakub@redhat.com>
4303
4304 * testsuite/libgomp.c/loop-13.c: New test.
4305 * testsuite/libgomp.c/loop-14.c: New test.
4306 * testsuite/libgomp.c/loop-15.c: New test.
4307 * testsuite/libgomp.c++/loop-13.C: New test.
4308 * testsuite/libgomp.c++/loop-14.C: New test.
4309 * testsuite/libgomp.c++/loop-15.C: New test.
4310
4311 2013-02-06 Jakub Jelinek <jakub@redhat.com>
4312
4313 PR middle-end/56217
4314 * testsuite/libgomp.c++/pr56217.C: New test.
4315
4316 2013-02-01 Alan Modra <amodra@gmail.com>
4317
4318 * task.c (GOMP_task, GOMP_taskwait): Comment.
4319
4320 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
4321 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
4322
4323 PR libgomp/55561
4324 * config/linux/wait.h (do_spin): Use atomic load for addr.
4325 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
4326 for intptr and ptrlock.
4327 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
4328 for ptrlock.
4329
4330 2013-01-22 Alan Modra <amodra@gmail.com>
4331
4332 PR libgomp/51376
4333 PR libgomp/56073
4334 * task.c (GOMP_task): Revert 2011-12-09 change.
4335 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
4336 barrier to read task->children..
4337 (gomp_barrier_handle_tasks): ..and matching atomic store with
4338 release barrier here when setting parent->children to NULL.
4339
4340 2013-01-16 Jakub Jelinek <jakub@redhat.com>
4341 Tobias Burnus <burnus@net-b.de>
4342
4343 PR driver/55884
4344 * testsuite/libgomp.fortran/fortran.exp: Use
4345 -fintrinsic-modules-path= instead of
4346 -fintrinsic-modules-path.
4347
4348 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
4349
4350 Update copyright years.
4351
4352 2012-12-19 Tobias Burnus <burnus@net-b.de>
4353
4354 * testsuite/libgomp.fortran/fortran.exp: Set
4355 -fintrinsic-modules-path.
4356
4357 2012-12-19 Tobias Burnus <burnus@net-b.de>
4358
4359 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
4360 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
4361
4362 2012-11-21 Jakub Jelinek <jakub@redhat.com>
4363
4364 PR libgomp/55411
4365 * team.c (gomp_free_thread): Decrease gomp_managed_threads
4366 if pool had any threads_used.
4367
4368 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
4369
4370 * testsuite/libgomp.c++/pr24455.C: Use
4371 -Wl,-undefined,dynamic_lookup on darwin.
4372
4373 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
4374
4375 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
4376
4377 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
4378
4379 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
4380
4381 2012-10-23 Ian Bolton <ian.bolton@arm.com>
4382 Jim MacArthur <jim.macarthur@arm.com>
4383 Marcus Shawcroft <marcus.shawcroft@arm.com>
4384 Nigel Stephens <nigel.stephens@arm.com>
4385 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4386 Richard Earnshaw <rearnsha@arm.com>
4387 Sofiane Naci <sofiane.naci@arm.com>
4388 Stephen Thomas <stephen.thomas@arm.com>
4389 Tejas Belagod <tejas.belagod@arm.com>
4390 Yufeng Zhang <yufeng.zhang@arm.com>
4391
4392 * configure.tgt: Add AArch64.
4393
4394 2012-10-04 Jason Merrill <jason@redhat.com>
4395
4396 * testsuite/libgomp.c++/tls-init1.C: New.
4397
4398 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
4399
4400 * configure: Regenerated.
4401
4402 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
4403
4404 * config/linux/mips/futex.h (sys_futex0): Change to static
4405 function with noinline, nomips16 attributes under MIPS16. Adjust
4406 asm statement to place 'li v0,SYS_futex' immediately before
4407 syscall insn.
4408
4409 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
4410
4411 * libgomp.texi (Library Index): Renamed from "Index" to prevent
4412 conflict with index.html on case-insensitive file systems.
4413
4414 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
4415
4416 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
4417 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
4418
4419 2012-07-02 Richard Guenther <rguenther@suse.de>
4420 Michael Matz <matz@suse.de>
4421 Tobias Grosser <tobias@grosser.es>
4422 Sebastian Pop <sebpop@gmail.com>
4423
4424 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4425 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4426 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4427 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4428
4429 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
4430
4431 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
4432
4433 2012-06-22 Richard Guenther <rguenther@suse.de>
4434
4435 Merge from graphite branch
4436 2012-01-13 Tobias Grosser <tobias@grosser.es>
4437
4438 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
4439 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4440
4441 2012-06-07 Jakub Jelinek <jakub@redhat.com>
4442
4443 PR middle-end/53580
4444 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
4445 use GOMP_barrier () call instead.
4446 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4447 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4448 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
4449 call GOMP_barrier instead.
4450 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4451
4452 2012-06-06 Jakub Jelinek <jakub@redhat.com>
4453
4454 PR libgomp/52993
4455 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
4456 argument to memset call.
4457
4458 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
4459
4460 * configure: Regenerated.
4461
4462 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4463
4464 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
4465
4466 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
4467
4468 PR bootstrap/52812
4469 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
4470
4471 2012-03-22 Jakub Jelinek <jakub@redhat.com>
4472
4473 PR middle-end/52547
4474 * testsuite/libgomp.c/pr52547.c: New test.
4475
4476 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4477
4478 * testsuite/lib/libgomp.exp: load fortran-modules.exp
4479
4480 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4481
4482 * configure.tgt (mips-sgi-irix6*): Remove.
4483
4484 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4485
4486 * configure.tgt (alpha*-dec-osf*): Remove.
4487
4488 * config/osf/sem.h: Remove.
4489 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
4490
4491 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
4492
4493 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
4494
4495 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4496
4497 PR libstdc++/52188
4498 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
4499 Remove ENABLE_SYMVERS_SOL2.
4500 * configure: Regenerate.
4501 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
4502 (PREPROCESS): New variable.
4503 (libgomp.ver): New target.
4504 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
4505 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
4506 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
4507 Use libgomp.ver.
4508 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
4509 * Makefile.in: Regenerate.
4510
4511 2012-02-14 Walter Lee <walt@tilera.com>
4512
4513 * configure.tgt: Handle tilegx and tilepro.
4514 * config/linux/tile/futex.h: New file.
4515
4516 2012-02-08 Richard Guenther <rguenther@suse.de>
4517
4518 PR tree-optimization/46886
4519 * testsuite/libgomp.c/pr46886.c: New testcase.
4520
4521 2012-01-25 Matthias Klose <doko@ubuntu.com>
4522
4523 * config/linux/arm: Remove empty directory.
4524 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
4525
4526 2011-12-09 Alan Modra <amodra@gmail.com>
4527
4528 PR libgomp/51376
4529 * task.c (GOMP_taskwait): Don't access task->children outside of
4530 task_lock mutex region.
4531 (GOMP_task): Likewise.
4532
4533 2011-12-06 Jakub Jelinek <jakub@redhat.com>
4534
4535 PR libgomp/51132
4536 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
4537 to file scope.
4538 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4539 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4540 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4541 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4542 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4543
4544 2011-12-02 Alan Modra <amodra@gmail.com>
4545
4546 * config/linux/affinity.c: Use atomic rather than sync builtin.
4547 * config/linux/lock.c: Likewise.
4548 * config/linux/ptrlock.h: Likewise.
4549 * config/linux/ptrlock.c: Likewise.
4550 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
4551 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
4552 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
4553 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
4554 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
4555 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
4556 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
4557 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
4558 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
4559 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
4560
4561 2011-11-30 Alan Modra <amodra@gmail.com>
4562
4563 PR libgomp/51298
4564 * config/linux/bar.h: Use atomic rather than sync builtins.
4565 * config/linux/bar.c: Likewise. Add missing acquire
4566 synchronisation on generation field.
4567 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
4568 double unlock.
4569
4570 2011-11-30 Alan Modra <amodra@gmail.com>
4571
4572 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
4573 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
4574 * config/linux/mutex.h: Use atomic rather than sync builtins.
4575 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
4576 * config/linux/omp-lock.h: Comment fix.
4577 * config/linux/arm/mutex.h: Delete.
4578 * config/linux/powerpc/mutex.h: Delete.
4579 * config/linux/ia64/mutex.h: Delete.
4580 * config/linux/mips/mutex.h: Delete.
4581
4582 2011-11-30 Alan Modra <amodra@gmail.com>
4583
4584 PR libgomp/51249
4585 * config/linux/sem.h: Rewrite.
4586 * config/linux/sem.c: Rewrite.
4587
4588 2011-11-28 Richard Henderson <rth@redhat.com>
4589
4590 * libgomp.h (enum memmodel): New.
4591
4592 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
4593
4594 * configure: Regenerate.
4595
4596 2011-10-10 Matthias Klose <doko@ubuntu.com>
4597
4598 * config/posix95: Remove empty directory.
4599
4600 2011-08-26 Jakub Jelinek <jakub@redhat.com>
4601
4602 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
4603
4604 2011-08-19 Jakub Jelinek <jakub@redhat.com>
4605
4606 PR fortran/49792
4607 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
4608 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
4609
4610 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4611
4612 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
4613
4614 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4615
4616 PR libgomp/49965
4617 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
4618
4619 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
4620
4621 * config/linux/proc.h: New.
4622 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
4623 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
4624 (gomp_init_num_threads): Update call to cpuset_popcount.
4625 (get_num_procs): Ditto.
4626 * config/linux/affinity.c (gomp_init_affinity): Call
4627 gomp_cpuset_popcount.
4628
4629 2011-08-02 Jakub Jelinek <jakub@redhat.com>
4630
4631 PR fortran/42041
4632 PR fortran/46752
4633 * omp.h.in (omp_in_final): New prototype.
4634 * omp_lib.f90.in (omp_in_final): New interface.
4635 (omp_integer_kind, omp_logical_kind): Remove
4636 and replace all its uses in the module with 4.
4637 (openmp_version): Change to 201107.
4638 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
4639 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
4640 kind for the parameters.
4641 (omp_in_final): New external.
4642 (openmp_version): Change to 201107.
4643 * task.c (omp_in_final): New function.
4644 (gomp_init_task): Initialize final_task.
4645 (GOMP_task): Remove unused attribute from flags. Handle final
4646 tasks.
4647 (GOMP_taskyield): New function.
4648 (omp_in_final): Return true if if (false) or final (true) task
4649 or descendant of final (true).
4650 * fortran.c (omp_in_final_): New function.
4651 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
4652 (GOMP_3.0): Export GOMP_taskyield.
4653 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
4654 variables.
4655 (parse_unsigned_long_list): New function.
4656 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
4657 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
4658 even if parse_affinity returned false.
4659 * config/linux/affinity.c (gomp_init_affinity): Handle
4660 gomp_cpu_affinity_len == 0.
4661 * libgomp_g.h (GOMP_taskyield): New prototype.
4662 * libgomp.h (struct gomp_task): Add final_task field.
4663 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
4664 * team.c (gomp_team_start): Override new task's nthreads_var icv
4665 if list form OMP_NUM_THREADS has been used and it has value for
4666 the new nesting level.
4667
4668 * testsuite/libgomp.c/atomic-11.c: New test.
4669 * testsuite/libgomp.c/atomic-12.c: New test.
4670 * testsuite/libgomp.c/atomic-13.c: New test.
4671 * testsuite/libgomp.c/atomic-14.c: New test.
4672 * testsuite/libgomp.c/reduction-6.c: New test.
4673 * testsuite/libgomp.c/task-5.c: New test.
4674 * testsuite/libgomp.c++/atomic-2.C: New test.
4675 * testsuite/libgomp.c++/atomic-3.C: New test.
4676 * testsuite/libgomp.c++/atomic-4.C: New test.
4677 * testsuite/libgomp.c++/atomic-5.C: New test.
4678 * testsuite/libgomp.c++/atomic-6.C: New test.
4679 * testsuite/libgomp.c++/atomic-7.C: New test.
4680 * testsuite/libgomp.c++/atomic-8.C: New test.
4681 * testsuite/libgomp.c++/atomic-9.C: New test.
4682 * testsuite/libgomp.c++/task-8.C: New test.
4683 * testsuite/libgomp.c++/reduction-4.C: New test.
4684 * testsuite/libgomp.fortran/allocatable7.f90: New test.
4685 * testsuite/libgomp.fortran/allocatable8.f90: New test.
4686 * testsuite/libgomp.fortran/crayptr3.f90: New test.
4687 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
4688 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
4689 * testsuite/libgomp.fortran/pointer1.f90: New test.
4690 * testsuite/libgomp.fortran/pointer2.f90: New test.
4691 * testsuite/libgomp.fortran/task4.f90: New test.
4692
4693 2011-08-02 Tobias Burnus <burnus@net-b.de>
4694
4695 * libgomp.texi: Update OpenMP spec references to 3.1.
4696 (omp_in_final,OMP_PROC_BIND): New sections.
4697 (OMP_NUM_THREADS): Document that the value can be now a list.
4698 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
4699
4700 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
4701
4702 * config/linux/x86/futex.h: Check __x86_64__ instead of
4703 __LP64__.
4704
4705 2011-07-29 Jakub Jelinek <jakub@redhat.com>
4706
4707 PR middle-end/49897
4708 PR middle-end/49898
4709 * testsuite/libgomp.c/pr49897-1.c: New test.
4710 * testsuite/libgomp.c/pr49897-2.c: New test.
4711 * testsuite/libgomp.c/pr49898-1.c: New test.
4712 * testsuite/libgomp.c/pr49898-2.c: New test.
4713
4714 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
4715
4716 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
4717 for ia32 instead of ilp32.
4718
4719 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
4720 * testsuite/libgomp.c/atomic-6.c: Likewise.
4721
4722 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
4723
4724 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
4725 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
4726
4727 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4728
4729 PR libgomp/45351
4730 * config/osf/sem.h: New file.
4731 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
4732
4733 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4734
4735 PR target/49541
4736 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
4737 ldflags.
4738
4739 2011-07-15 Jakub Jelinek <jakub@redhat.com>
4740
4741 * config/linux/wait.h (do_spin): New inline, largely copied
4742 from do_wait, just don't do futex_wait here, instead return true if
4743 it should be done.
4744 (do_wait): Implement using do_spin.
4745 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
4746 to prototype.
4747 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
4748 __sync_bool_compare_and_swap, pass the oldval to
4749 gomp_mutex_lock_slow.
4750 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
4751 If all mutex contenders are just spinning and not sleeping, don't
4752 change state to 2 unnecessarily. Optimize the loop when state has
4753 already become 2 to use just one atomic operation per loop instead
4754 of two.
4755 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
4756 to prototype.
4757 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
4758 __sync_bool_compare_and_swap, pass the oldval to
4759 gomp_mutex_lock_slow.
4760
4761 2011-06-22 Jakub Jelinek <jakub@redhat.com>
4762
4763 PR libgomp/49490
4764 * iter.c (gomp_iter_static_next): For chunk size 0
4765 only use n ceil/ nthreads size for the first
4766 n % nthreads threads in the team instead of
4767 all threads except for the last few ones which
4768 get less work or none at all.
4769 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
4770 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
4771 chunk argument, set run_sched_modifier to 0 for static
4772 resp. 1 for other kinds. If chunk argument is 0
4773 and not static, set value to 1.
4774
4775 2011-05-19 Jakub Jelinek <jakub@redhat.com>
4776
4777 PR c++/49043
4778 * testsuite/libgomp.c++/pr49043.C: New test.
4779
4780 PR c++/48869
4781 * testsuite/libgomp.c++/pr48869.C: New test.
4782
4783 2011-05-06 Jakub Jelinek <jakub@redhat.com>
4784
4785 PR fortran/48894
4786 * fortran.c: Include limits.h.
4787 (TO_INT): Define.
4788 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
4789 *set.
4790 (omp_set_num_threads_8_, omp_set_schedule_8_,
4791 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
4792 omp_get_team_size_8_): Use TO_INT macro.
4793 * testsuite/libgomp.fortran/pr48894.f90: New test.
4794
4795 2011-04-13 Jakub Jelinek <jakub@redhat.com>
4796
4797 PR middle-end/48591
4798 * testsuite/libgomp.c/pr48591.c: New test.
4799
4800 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4801
4802 PR bootstrap/48135
4803 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
4804 * configure: Regenerate.
4805
4806 2011-02-27 Jakub Jelinek <jakub@redhat.com>
4807
4808 PR fortran/47886
4809 * testsuite/libgomp.fortran/task3.f90: New test.
4810
4811 2011-02-24 Tobias Burnus <burnus@net-b.de>
4812
4813 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
4814
4815 2011-02-23 Jakub Jelinek <jakub@redhat.com>
4816
4817 PR libgomp/47854
4818 * libgomp.texi (omp_get_wtime): Don't say time in the past
4819 must be Unix Epoch.
4820
4821 2011-02-18 Jakub Jelinek <jakub@redhat.com>
4822
4823 PR libgomp/47804
4824 * testsuite/libgomp.fortran/fortran.exp: Check for both
4825 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
4826 but $blddir != "", still append ${blddir}/${lang_library_path}
4827 to ld_library_path.
4828
4829 2011-02-16 Tobias Burnus <burnus@net-b.de>
4830
4831 PR libgomp/47758
4832 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
4833 of libquadmath.a before adding its libpath to ldflags.
4834
4835 2011-02-14 Jakub Jelinek <jakub@redhat.com>
4836
4837 PR libgomp/47731
4838 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
4839 to FUTEX_WAIT futex syscall.
4840 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
4841
4842 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4843
4844 * configure: Regenerate.
4845
4846 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
4847
4848 PR libstdc++/36104
4849 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
4850
4851 2011-01-16 Gerald Pfeifer
4852
4853 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
4854
4855 2010-12-14 Jakub Jelinek <jakub@redhat.com>
4856
4857 PR fortran/46874
4858 * libgomp.fortran/allocatable6.f90: New test.
4859
4860 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4861
4862 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
4863 * configure: Regenerate.
4864
4865 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
4866
4867 PR target/40125
4868 PR lto/46695
4869 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
4870 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
4871 * aclocal.m4: Regenerate.
4872 * configure: Regenerate.
4873 * Makefile.in: Regenerate.
4874 * testsuite/Makefile.in: Regenerate.
4875
4876 2010-12-02 Jakub Jelinek <jakub@redhat.com>
4877
4878 PR fortran/46753
4879 * libgomp.fortran/pr46753.f90: New test.
4880
4881 PR libgomp/43706
4882 * env.c (initialize_env): Default to spin count 300000
4883 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
4884 is specified.
4885
4886 PR libgomp/45240
4887 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
4888 at the end if sync builtins aren't supported.
4889
4890 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4891
4892 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
4893
4894 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4895
4896 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
4897
4898 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
4899
4900 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
4901
4902 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4903 Tobias Burnus <burnus@net-b.de>
4904
4905 PR fortran/32049
4906 * configure.ac:
4907 * configure: Regenerate.
4908
4909 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
4910
4911 * config/linux/futex.h: New.
4912 * config/linux/arm/mutex.h: New.
4913 * configure.tgt (arm*-*-linux*): Add config path.
4914
4915 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
4916
4917 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
4918
4919 2010-09-23 Tobias Burnus <burnus@net-b.de>
4920
4921 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
4922 Change Fortran datatype to LOGICAL.
4923 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
4924 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
4925
4926 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4927
4928 * configure: Regenerate.
4929
4930 2010-07-26 Jakub Jelinek <jakub@redhat.com>
4931
4932 * libgomp.texi: Add function keyword to a couple of Fortran
4933 interfaces, use integer instead of int for Fortran.
4934
4935 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
4936
4937 * libgomp.texi: Fix spelling and pasto problems throughout.
4938 Adjust prototypes to match code.
4939
4940 2010-07-24 Tobias Burnus <burnus@net-b.de>
4941
4942 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
4943 silence -fwhole-file warning.
4944
4945 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4946
4947 * configure.tgt (*-*-solaris2.[56]*): Removed.
4948
4949 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4950
4951 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
4952 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
4953 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
4954 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
4955 targetting solaris2*.
4956 * configure: Regenerate.
4957 * config.h.in: Regenerate.
4958
4959 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
4960 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
4961 Add libgomp_version_dep.
4962 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
4963 versioning.
4964 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
4965 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
4966 * Makefile.in: Regenerate.
4967
4968 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
4969 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
4970 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
4971 to common block, protected by
4972 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
4973
4974 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
4975
4976 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
4977
4978 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
4979
4980 PR bootstrap/43170
4981 * configure: Regenerate.
4982
4983 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4984
4985 PR other/43620
4986 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
4987 * configure: Regenerate.
4988 * Makefile.in: Regenerate.
4989 * testsuite/Makefile.in: Regenerate.
4990
4991 2010-04-26 Jakub Jelinek <jakub@redhat.com>
4992
4993 PR c/43893
4994 * testsuite/libgomp.c/pr43893.c: New test.
4995 * testsuite/libgomp.c++/pr43893.C: New test.
4996
4997 2010-04-21 Jakub Jelinek <jakub@redhat.com>
4998
4999 PR middle-end/43570
5000 * testsuite/libgomp.fortran/vla8.f90: New test.
5001
5002 2010-04-20 Jakub Jelinek <jakub@redhat.com>
5003
5004 PR libgomp/43706
5005 * config/linux/affinity.c (gomp_init_affinity): Decrease
5006 gomp_available_cpus if affinity mask confines the process to fewer
5007 CPUs.
5008 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
5009 non-NULL, just return gomp_available_cpus.
5010
5011 PR libgomp/43569
5012 * sections.c (gomp_sections_init): Initialize ws->mode.
5013
5014 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
5015
5016 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
5017 not unused bar variable.
5018 * configure: Regenerate.
5019
5020 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5021
5022 * Makefile.in: Regenerate.
5023 * aclocal.m4: Regenerate.
5024 * testsuite/Makefile.in: Regenerate.
5025
5026 2010-03-22 Jakub Jelinek <jakub@redhat.com>
5027
5028 PR libgomp/42942
5029 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
5030 (initialize_env): Adjust callers.
5031 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
5032 when the argument is 0.
5033
5034 * testsuite/libgomp.c/pr42942.c: New test.
5035
5036 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
5037
5038 PR middle-end/42644
5039 PR middle-end/42130
5040 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5041 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
5042
5043 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5044
5045 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
5046 * testsuite/libgomp.c++/task-6.C: Likewise.
5047
5048 2010-01-28 Steve Ellcey <sje@cup.hp.com>
5049
5050 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
5051
5052 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
5053
5054 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
5055 * configure: Regenerate.
5056
5057 2010-01-26 Jakub Jelinek <jakub@redhat.com>
5058
5059 PR fortran/42866
5060 * testsuite/libgomp.fortran/allocatable5.f90: New test.
5061
5062 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
5063
5064 * configure.ac: Test for executability of GFORTRAN.
5065 * configure: Regenerate.
5066
5067 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5068
5069 * configure: Regenerate.
5070
5071 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
5072
5073 PR libgomp/42602
5074 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
5075
5076 2010-01-03 Richard Guenther <rguenther@suse.de>
5077
5078 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
5079
5080 2009-12-23 Sebastian Pop <sebpop@gmail.com>
5081
5082 * testsuite/libgomp.graphite/pr4118.c: New.
5083
5084 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
5085
5086 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
5087 for darwin, protect the test with require-effective-target tls_runtime.
5088 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5089
5090 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
5091
5092 PR target/41605
5093 * testsuite/lib/libgomp.exp: Provide -B options to allow for
5094 link spec %s substitutions for static libraries.
5095
5096 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
5097
5098 PR testsuite/42135
5099 * libgomp.graphite/force-parallel-2.c: Reduce array size.
5100
5101 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5102
5103 * Makefile.in: Regenerate.
5104 * configure: Regenerate.
5105 * testsuite/Makefile.in: Regenerate.
5106
5107 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
5108
5109 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
5110 settings for LC_ALL and LANG.
5111
5112 2009-11-25 Jakub Jelinek <jakub@redhat.com>
5113
5114 PR fortran/42162
5115 * testsuite/libgomp.fortran/pr42162.f90: New test.
5116
5117 2009-11-13 Jakub Jelinek <jakub@redhat.com>
5118
5119 PR middle-end/42029
5120 * testsuite/libgomp.c/pr42029.c: New test.
5121
5122 2009-10-26 Jakub Jelinek <jakub@redhat.com>
5123
5124 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
5125 *s. Accept ld version without text in ()s.
5126 * configure: Regenerated.
5127
5128 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
5129
5130 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
5131
5132 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5133
5134 PR libgomp/41418
5135 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
5136 or a hyphen (happens with fortran language disabled).
5137 * configure: Regenerate.
5138
5139 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5140
5141 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
5142 use sed script portable to Solaris /bin/sed for extracting ld
5143 version.
5144 * configure: Regenerate.
5145
5146 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
5147
5148 * testsuite/libgomp.graphite/bounds.c: New test.
5149
5150 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5151
5152 * Makefile.am (libgomp_la_LINK): New.
5153 * Makefile.in: Regenerate.
5154
5155 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5156
5157 * configure.ac (AC_PREREQ): Bump to 2.64.
5158
5159 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5160
5161 * Makefile.am (install-html, install-pdf): Remove.
5162 * Makefile.in: Regenerate.
5163
5164 * Makefile.in: Regenerate.
5165 * aclocal.m4: Regenerate.
5166 * config.h.in: Regenerate.
5167 * configure: Regenerate.
5168 * testsuite/Makefile.in: Regenerate.
5169
5170 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5171
5172 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
5173 * Makefile.in: Regenerate.
5174
5175 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
5176
5177 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
5178 * Makefile.in: Regenerate.
5179
5180 2009-08-19 Tobias Burnus <burnus@net-b.de>
5181
5182 PR fortran/41102
5183 omp_lib.h.in: Fix -std=f95 errors.
5184
5185 2009-08-14 David Edelsohn <edelsohn@gnu.org>
5186
5187 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
5188 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
5189 * testsuite/libgomp.graphite/graphite.exp: New.
5190
5191 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
5192
5193 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
5194 only build.
5195
5196 2009-08-04 David Daney <ddaney@caviumnetworks.com>
5197
5198 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
5199 needed memory barrier semantics.
5200 * config/linux/mips/mutex.h: New file.
5201
5202 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5203
5204 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
5205
5206 2009-07-16 Joseph Myers <joseph@codesourcery.com>
5207
5208 * configure: Regenerate.
5209
5210 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
5211
5212 PR testsuite/40699
5213 PR testsuite/40707
5214 PR testsuite/40709
5215 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
5216 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
5217 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
5218
5219 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
5220
5221 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
5222 options when choosing a multilib.
5223
5224 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
5225
5226 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
5227 ld_library_path. Use add_path. Add just find_libgcc_s to
5228 ld_library_path, not every libgcc multilib directory.
5229 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
5230 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
5231 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
5232 Use add_path.
5233 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
5234
5235 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
5236
5237 * Makefile.am (LTLDFLAGS): Define.
5238 (LINK): Define.
5239 * Makefile.in: Regenerate.
5240
5241 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
5242
5243 PR fortran/39718
5244 * testsuite/libgomp.fortran/fortran.exp: Don't link with
5245 libgfortranbegin, check existence of libgfortran.a instead of
5246 libgfortranbegin.a.
5247
5248 2009-05-20 Jakub Jelinek <jakub@redhat.com>
5249
5250 PR libgomp/40174
5251 * team.c (gomp_thread_start): Destroy thr->release semaphore.
5252 (gomp_free_pool_helper): Likewise.
5253
5254 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
5255 Jakub Jelinek <jakub@redhat.com>
5256
5257 PR fortran/35423
5258 * testsuite/libgomp.fortran/workshare2.f90: New test.
5259
5260 2009-04-09 Nick Clifton <nickc@redhat.com>
5261
5262 * iter.c: Change copyright header to refer to version 3 of the
5263 GNU General Public License with version 3.1 of the GCC Runtime
5264 Library Exception and to point readers at the COPYING3 and
5265 COPYING3.RUNTIME files and the FSF's license web page.
5266 * alloc.c: Likewise.
5267 * barrier.c: Likewise.
5268 * config/bsd/proc.c: Likewise.
5269 * config/linux/affinity.c: Likewise.
5270 * config/linux/alpha/futex.h: Likewise.
5271 * config/linux/bar.c: Likewise.
5272 * config/linux/bar.h: Likewise.
5273 * config/linux/ia64/futex.h: Likewise.
5274 * config/linux/ia64/mutex.h: Likewise.
5275 * config/linux/lock.c: Likewise.
5276 * config/linux/mips/futex.h: Likewise.
5277 * config/linux/mutex.c: Likewise.
5278 * config/linux/mutex.h: Likewise.
5279 * config/linux/powerpc/futex.h: Likewise.
5280 * config/linux/proc.c: Likewise.
5281 * config/linux/ptrlock.c: Likewise.
5282 * config/linux/ptrlock.h: Likewise.
5283 * config/linux/s390/futex.h: Likewise.
5284 * config/linux/sem.c: Likewise.
5285 * config/linux/sem.h: Likewise.
5286 * config/linux/sparc/futex.h: Likewise.
5287 * config/linux/wait.h: Likewise.
5288 * config/linux/x86/futex.h: Likewise.
5289 * config/mingw32/proc.c: Likewise.
5290 * config/mingw32/time.c: Likewise.
5291 * config/posix/affinity.c: Likewise.
5292 * config/posix/bar.c: Likewise.
5293 * config/posix/bar.h: Likewise.
5294 * config/posix/lock.c: Likewise.
5295 * config/posix/mutex.h: Likewise.
5296 * config/posix/proc.c: Likewise.
5297 * config/posix/ptrlock.h: Likewise.
5298 * config/posix/sem.c: Likewise.
5299 * config/posix/sem.h: Likewise.
5300 * config/posix/time.c: Likewise.
5301 * config/posix95/lock.c: Likewise.
5302 * critical.c: Likewise.
5303 * env.c: Likewise.
5304 * error.c: Likewise.
5305 * fortran.c: Likewise.
5306 * iter_ull.c: Likewise.
5307 * libgomp.h: Likewise.
5308 * libgomp_f.h.in: Likewise.
5309 * libgomp_g.h: Likewise.
5310 * loop.c: Likewise.
5311 * loop_ull.c: Likewise.
5312 * omp.h.in: Likewise.
5313 * omp_lib.f90.in: Likewise.
5314 * omp_lib.h.in: Likewise.
5315 * ordered.c: Likewise.
5316 * parallel.c: Likewise.
5317 * sections.c: Likewise.
5318 * single.c: Likewise.
5319 * task.c: Likewise.
5320 * team.c: Likewise.
5321 * work.c: Likewise.
5322
5323 2009-04-09 Jakub Jelinek <jakub@redhat.com>
5324
5325 * testsuite/config/default.exp: Change copyright header to refer to
5326 version 3 of the GNU General Public License and to point readers
5327 at the COPYING3 file and the FSF's license web page.
5328
5329 2009-04-08 Jakub Jelinek <jakub@redhat.com>
5330
5331 PR middle-end/39573
5332 * libgomp.c++/pr39573.C: New test.
5333
5334 2009-04-01 Jakub Jelinek <jakub@redhat.com>
5335
5336 PR other/39591
5337 * testsuite/libgomp.c/pr39591-1.c: New test.
5338 * testsuite/libgomp.c/pr39591-2.c: New test.
5339 * testsuite/libgomp.c/pr39591-3.c: New test.
5340
5341 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
5342
5343 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
5344 * testsuite/libgomp.c/atomic-6.c: Ditto.
5345
5346 2009-03-23 Jakub Jelinek <jakub@redhat.com>
5347
5348 PR c/39495
5349 * testsuite/libgomp.c/loop-12.c: New test.
5350 * testsuite/libgomp.c/loop-11.c: New test.
5351 * testsuite/libgomp.c++/loop-11.C: New test.
5352 * testsuite/libgomp.c++/loop-12.C: New test.
5353 * testsuite/libgomp.c++/for-8.C: New test.
5354
5355 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5356
5357 * configure: Regenerate.
5358
5359 2009-02-11 Jakub Jelinek <jakub@redhat.com>
5360
5361 PR middle-end/39154
5362 * testsuite/libgomp.c/pr39154.c: New test.
5363
5364 2009-01-30 Ian Lance Taylor <iant@google.com>
5365
5366 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
5367 libgomp_ld_is_gold. Get gold version number.
5368 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
5369 * configure: Rebuild.
5370
5371 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
5372
5373 * testsuite/lib/libgomp.exp: Add -B option for targets that
5374 use libgfortran.a%s in their specs.
5375
5376 2009-01-07 Jakub Jelinek <jakub@redhat.com>
5377
5378 PR libgomp/38086
5379 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
5380 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
5381 HAVE_AS_SYMVER_DIRECTIVE is not defined.
5382 * configure: Regenerated.
5383 * config.h.in: Likewise.
5384
5385 2008-12-28 Jakub Jelinek <jakub@redhat.com>
5386
5387 PR c++/38650
5388 * testsuite/libgomp.c/pr38650.c: New test.
5389 * testsuite/libgomp.c++/pr38650.C: New test.
5390
5391 2008-12-27 Jakub Jelinek <jakub@redhat.com>
5392
5393 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
5394
5395 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
5396
5397 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
5398
5399 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5400
5401 * configure: Regenerate.
5402
5403 2008-12-08 Jakub Jelinek <jakub@redhat.com>
5404
5405 PR middle-end/36802
5406 * testsuite/libgomp.c/pr36802-1.c: New test.
5407 * testsuite/libgomp.c/pr36802-2.c: New test.
5408 * testsuite/libgomp.c/pr36802-3.c: New test.
5409
5410 2008-12-01 Janis Johnson <janis187@us.ibm.com>
5411
5412 PR libgomp/38270
5413 * config/linux/powerpc/mutex.h: New.
5414
5415 2008-12-01 Jakub Jelinek <jakub@redhat.com>
5416
5417 PR c++/38257
5418 * testsuite/libgomp.c++/for-7.C: New test.
5419
5420 PR c++/38348
5421 * testsuite/libgomp.c++/for-6.C: New test.
5422
5423 2008-11-26 Janis Johnson <janis187@us.ibm.com>
5424
5425 PR testsuite/28870
5426 * testsuite/lib/libgomp.exp: Include new timeout library files.
5427 (libgomp_target_compile): Set timeout value from new proc.
5428
5429 2008-11-13 Steve Ellcey <sje@cup.hp.com>
5430
5431 PR libgomp/37938
5432 * config/linux/ia64/mutex.h: New.
5433
5434 2008-11-04 Tobias Burnus <burnus@net-b.de>
5435
5436 PR libgomp/37935
5437 * libgomp.texi (Runtime library routines, environment variables):
5438 Update for OpenMP version 3.0.
5439
5440 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
5441 Steve Ellcey <sje@cup.hp.com>
5442
5443 * configure: Regenerate for new libtool.
5444 * Makefile.in: Ditto.
5445 * testsuite/Makefile.in: Ditto.
5446
5447 2008-09-19 Jakub Jelinek <jakub@redhat.com>
5448 Andreas Tobler <a.tobler@schweiz.org>
5449
5450 * config/bsd/proc.c: New file.
5451 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
5452 * configure.ac: Check for header <sys/sysctl.h>
5453 * configure: Regenerate.
5454 * config.h.in: Likewise.
5455
5456 2008-09-05 Janis Johnson <janis187@us.ibm.com>
5457
5458 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
5459
5460 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5461
5462 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
5463 * Makefile.in: Regenerated.
5464 * testsuite/Makefile.in: Regenerated.
5465
5466 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
5467
5468 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
5469 depend on blddir if blddir exists.
5470 (libgomp_target_compile): Likewise.
5471 * testsuite/libgomp.c++/c++.exp: Likewise.
5472 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5473
5474 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5475
5476 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
5477 Do not list GPL as Invariant Section.
5478
5479 2008-07-28 Ilie Garbacea <ilie@mips.com>
5480 Chao-ying Fu <fu@mips.com>
5481
5482 * configure.tgt: Enable futex for MIPS.
5483 * config/linux/mips/futex.h: New file.
5484
5485 2008-07-16 Jakub Jelinek <jakub@redhat.com>
5486
5487 * team.c (gomp_team_end): Free team immediately if it has
5488 just one thread.
5489
5490 2008-07-08 David Edelsohn <edelsohn@gnu.org>
5491
5492 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
5493 * testsuite/libgomp.fortran/fortran.exp: Same.
5494 * testsuite/libgomp.c/c.exp: Same.
5495 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
5496 directory to library path first.
5497
5498 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
5499
5500 * env.c (parse_stacksize): Add cast to avoid warning.
5501 (parse_spincount): Likewise.
5502
5503 2008-06-27 Jakub Jelinek <jakub@redhat.com>
5504
5505 * testsuite/libgomp.c/loop-10.c: New test.
5506 * libgomp.c/loop-3.c (main): Add lastprivate clause.
5507 * libgomp.c++/loop-6.C (main): Likewise.
5508
5509 PR debug/36617
5510 * testsuite/libgomp.c/debug-1.c: New test.
5511
5512 2008-06-19 Jakub Jelinek <jakub@redhat.com>
5513
5514 * testsuite/libgomp.c/nqueens-1.c: New test.
5515
5516 PR c++/36523
5517 * testsuite/libgomp.c++/task-7.C: New function.
5518
5519 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5520
5521 * configure: Regenerate.
5522
5523 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5524
5525 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
5526 mutex when HAVE_SYNC_BUILTINS isn't defined.
5527
5528 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5529
5530 * libgomp.texi (omp_test_lock): Fix typo.
5531
5532 2008-06-12 Tobias Burnus <burnus@net-b.de>
5533
5534 * omp_lib.f90.in: Add "implicit none".
5535
5536 2008-06-12 Jakub Jelinek <jakub@redhat.com>
5537
5538 PR middle-end/36506
5539 * testsuite/libgomp.c/reduction-5.c: New test.
5540
5541 2008-06-11 Jakub Jelinek <jakub@redhat.com>
5542
5543 * libgomp.h (struct gomp_task): Add in_tied_task field.
5544 * task.c (gomp_init_task): Initialize it.
5545 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
5546 unconditionally. Don't call gomp_team_barrier_wake if
5547 current task is implicit or if(0) from implicit and number of
5548 running tasks is equal to nthreads - 1.
5549
5550 PR libgomp/36471
5551 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
5552 omp_get_team_size_8): Fix pastos.
5553
5554 PR libgomp/36469
5555 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
5556 * configure: Regenerated.
5557 * config.h.in: Regenerated.
5558 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
5559 defined.
5560
5561 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
5562
5563 PR bootstrap/36452
5564 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
5565 (GOMP_loop_ull_dynamic_start): Likewise.
5566 (GOMP_loop_ull_guided_start): Likewise.
5567 (GOMP_loop_ull_ordered_static_start): Likewise.
5568 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
5569 (GOMP_loop_ull_ordered_guided_start): Likewise.
5570
5571 2008-06-06 Jakub Jelinek <jakub@redhat.com>
5572 Richard Henderson <rth@redhat.com>
5573 Ulrich Drepper <drepper@redhat.com>
5574 Jakob Blomer <jakob.blomer@ira.uka.de>
5575
5576 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
5577 Substitute also OMP_*LOCK_25*.
5578 * configure: Regenerated.
5579 * config.h.in: Regenerated.
5580 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
5581 ptrlock.c and task.c.
5582 * Makefile.in: Regenerated.
5583 * testsuite/Makefile.in: Regenerated.
5584 * task.c: New file.
5585 * loop_ull.c: New file.
5586 * iter_ull.c: New file.
5587 * libgomp.h: Include ptrlock.h.
5588 (enum gomp_task_kind): New type.
5589 (struct gomp_team): Add task_lock, task_queue, task_count,
5590 task_running_count, single_count fields. Add
5591 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
5592 Remove work_share_lock, generation_mask,
5593 oldest_live_gen, num_live_gen and init_work_shares fields, add
5594 work work_share_list_alloc, work_share_list_free and work_share_chunk
5595 fields. Change work_shares from pointer to pointers into an array.
5596 Change ordered_release field into gomp_sem_t ** from flexible array
5597 member. Add implicit_task and initial_work_shares fields.
5598 Move close to the end of the struct.
5599 (struct gomp_team_state): Add single_count, last_work_share,
5600 active_level and level fields, remove work_share_generation.
5601 (gomp_barrier_handle_tasks): New prototype.
5602 (gomp_finish_task): New inline function.
5603 (struct gomp_work_share): Move chunk_size, end, incr into
5604 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
5605 next_ll fields. Reshuffle fields. Add next_alloc,
5606 next_ws, next_free and inline_ordered_team_ids fields, change
5607 ordered_team_ids into pointer from flexible array member.
5608 Add mode field. Put lock and next into a different cache line
5609 from most of the write-once fields.
5610 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
5611 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
5612 gomp_iter_ull_guided_next): New prototypes.
5613 (gomp_new_icv): New prototype.
5614 (struct gomp_thread): Add thread_pool and task fields.
5615 (struct gomp_thread_pool): New type.
5616 (gomp_new_team): New prototype.
5617 (gomp_team_start): Change type of last argument.
5618 (gomp_new_work_share): Removed.
5619 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
5620 (gomp_work_share_init_done): New static inline.
5621 (gomp_throttled_spin_count_var, gomp_available_cpus,
5622 gomp_managed_threads): New extern decls.
5623 (gomp_init_task): New prototype.
5624 (gomp_spin_count_var): New extern var decl.
5625 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
5626 or no alias support, or if not PIC.
5627 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
5628 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
5629 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
5630 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
5631 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
5632 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
5633 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
5634 gomp_test_nest_lock_25): New prototypes.
5635 (omp_lock_symver, strong_alias): Define.
5636 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
5637 decls.
5638 (gomp_end_task): New.
5639 (struct gomp_task_icv, gomp_global_icv): New.
5640 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
5641 (struct gomp_task): New.
5642 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
5643 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
5644 (gomp_icv): New.
5645 (gomp_schedule_type): Reorder enum to match
5646 omp_sched_t.
5647 * team.c (struct gomp_thread_start_data): Add thread_pool and task
5648 fields.
5649 (gomp_thread_start): Add gomp_team_barrier_wait call.
5650 For non-nested case remove clearing of docked thread thr fields.
5651 Use pool fields instead of global gomp_* variables. Use
5652 gomp_barrier_wait_last when needed. Initialize ts.active_level.
5653 Create tasks for each member thread.
5654 (free_team): Only destroy team barrier, task_lock here and free it.
5655 (gomp_free_thread): Free last_team if non-NULL.
5656 (gomp_team_end): Call gomp_team_barrier_wait instead of
5657 gomp_barrier_wait. For nested case call one extra
5658 gomp_barrier_wait. Move here some destruction from free_team.
5659 Call free_team on pool->last_team if any, rather than freeing
5660 current team. Destroy work_share_list_free_lock ifndef
5661 HAVE_SYNC_BUILTINS.
5662 (gomp_new_icv): New function.
5663 (gomp_threads, gomp_threads_size, gomp_threads_used,
5664 gomp_threads_dock): Removed.
5665 (gomp_thread_destructor): New variable.
5666 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
5667 functions.
5668 (gomp_team_start): Create new pool if current thread doesn't have
5669 one. Use pool fields instead of global gomp_* variables.
5670 Initialize thread_pool field for new threads. Clear single_count.
5671 Change last argument from ws to team, don't create
5672 new team, set ts.work_share to &team->work_shares[0] and clear
5673 ts.last_work_share. Don't clear ts.work_share_generation.
5674 If number of threads changed, adjust atomically gomp_managed_threads.
5675 Use gomp_init_task instead of gomp_new_task,
5676 set thr->task to the corresponding implicit_task array entry.
5677 Create tasks for each member thread. Initialize ts.level.
5678 (initialize_team): Call pthread_key_create on
5679 gomp_thread_destructor.
5680 (team_destructor): New function.
5681 (new_team): Removed.
5682 (gomp_new_team): New function.
5683 (free_team): Free gomp_work_share blocks chained through next_alloc,
5684 instead of freeing work_shares and destroying work_share_lock.
5685 (gomp_team_end): Call gomp_fini_work_share. If number of threads
5686 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
5687 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
5688 of gomp_barrier_wait.
5689 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
5690 instead of gomp_barrier_wait. Call gomp_work_share_init_done
5691 if gomp_work_share_start returned true. Don't unlock ws->lock.
5692 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
5693 of gomp_barrier_wait.
5694 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
5695 gomp_work_share_init_done if gomp_work_share_start returned true.
5696 Don't unlock ws->lock.
5697 * work.c: Include stddef.h.
5698 (free_work_share): Use work_share_list_free_lock instead
5699 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
5700 Call gomp_fini_work_share and then either free ws if orphaned, or
5701 put it into work_share_list_free list of the current team.
5702 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
5703 functions.
5704 (gomp_work_share_start, gomp_work_share_end,
5705 gomp_work_share_end_nowait): Rewritten.
5706 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
5707 (openmp_version): Set to 200805.
5708 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5709 omp_sched_guided, omp_sched_auto): New parameters.
5710 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5711 omp_set_max_active_levels, omp_get_max_active_levels,
5712 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5713 omp_get_active_level): New interfaces.
5714 * omp_lib.h.in (openmp_version): Set to 200805.
5715 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5716 omp_sched_guided, omp_sched_auto): New parameters.
5717 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5718 omp_set_max_active_levels, omp_get_max_active_levels,
5719 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5720 omp_get_active_level): New externals.
5721 * loop.c: Include limits.h.
5722 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
5723 GFS_AUTO.
5724 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
5725 Likewise. Use gomp_icv.
5726 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
5727 ts.static_trip here.
5728 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
5729 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
5730 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
5731 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
5732 don't unlock ws->lock, otherwise lock it.
5733 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
5734 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
5735 (gomp_parallel_loop_start): Call gomp_new_team instead of
5736 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
5737 Adjust gomp_team_start caller. Pass 0 as second argument to
5738 gomp_resolve_num_threads.
5739 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
5740 If adding ws->chunk_size nthreads + 1 times after end won't
5741 overflow, set ws->mode to 1.
5742 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
5743 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
5744 GOMP_loop_ull_ordered_static_start,
5745 GOMP_loop_ull_ordered_dynamic_start,
5746 GOMP_loop_ull_ordered_guided_start,
5747 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
5748 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
5749 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
5750 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
5751 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
5752 prototypes.
5753 * libgomp.map: Export lock routines also @@OMP_2.0.
5754 (GOMP_loop_ordered_dynamic_first,
5755 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
5756 GOMP_loop_ordered_static_first): Remove.
5757 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
5758 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
5759 GOMP_loop_ull_ordered_dynamic_next,
5760 GOMP_loop_ull_ordered_dynamic_start,
5761 GOMP_loop_ull_ordered_guided_next,
5762 GOMP_loop_ull_ordered_guided_start,
5763 GOMP_loop_ull_ordered_runtime_next,
5764 GOMP_loop_ull_ordered_runtime_start,
5765 GOMP_loop_ull_ordered_static_next,
5766 GOMP_loop_ull_ordered_static_start,
5767 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
5768 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
5769 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
5770 (omp_set_schedule, omp_get_schedule,
5771 omp_get_thread_limit, omp_set_max_active_levels,
5772 omp_get_max_active_levels, omp_get_level,
5773 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
5774 omp_set_schedule_, omp_set_schedule_8_,
5775 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
5776 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
5777 omp_get_max_active_levels_, omp_get_level_,
5778 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
5779 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
5780 New exports @@OMP_3.0.
5781 * omp.h.in (omp_sched_t): New type.
5782 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5783 omp_set_max_active_levels, omp_get_max_active_levels,
5784 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5785 omp_get_active_level): New prototypes.
5786 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
5787 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
5788 gomp_thread_limit_var, gomp_remaining_threads_count,
5789 gomp_remaining_threads_lock): New variables.
5790 (parse_spincount): New function.
5791 (initialize_env): Call gomp_init_num_threads unconditionally.
5792 Initialize gomp_available_cpus. Call parse_spincount,
5793 initialize gomp_{,throttled_}spin_count_var
5794 depending on presence and value of OMP_WAIT_POLICY and
5795 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
5796 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
5797 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
5798 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
5799 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
5800 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
5801 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
5802 (gomp_global_icv): New.
5803 (parse_schedule): Use it. Parse "auto".
5804 (omp_set_num_threads): Use gomp_icv.
5805 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
5806 Likewise.
5807 (omp_get_max_threads): Move from parallel.c.
5808 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5809 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
5810 add ialias.
5811 (parse_stacksize, parse_wait_policy): New functions.
5812 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
5813 both wrappers for compatibility and new locks.
5814 (omp_set_schedule, omp_get_schedule,
5815 omp_get_thread_limit, omp_set_max_active_levels,
5816 omp_get_max_active_levels, omp_get_level,
5817 omp_get_ancestor_thread_num, omp_get_team_size,
5818 omp_get_active_level): New ialias_redirect.
5819 (omp_set_schedule_, omp_set_schedule_8_,
5820 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
5821 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
5822 omp_get_max_active_levels_, omp_get_level_,
5823 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
5824 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
5825 New functions.
5826 * parallel.c: Include limits.h.
5827 (gomp_resolve_num_threads): Add count argument. Rewritten.
5828 (GOMP_parallel_start): Call gomp_new_team and pass that as last
5829 argument to gomp_team_start. Pass 0 as second argument to
5830 gomp_resolve_num_threads.
5831 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
5832 if gomp_thread_limit_var != ULONG_MAX.
5833 (omp_in_parallel): Implement using ts.active_level.
5834 (omp_get_max_threads): Move to env.c.
5835 (omp_get_level, omp_get_ancestor_thread_num,
5836 omp_get_team_size, omp_get_active_level): New functions,
5837 add ialias.
5838 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
5839 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
5840 gomp_iter_dynamic_next instead of the _locked variant and don't take
5841 lock around it, otherwise acquire it before calling
5842 gomp_iter_dynamic_next_locked.
5843 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
5844 gomp_iter_dynamic_next instead of the _locked variant and don't take
5845 lock around it.
5846 (GOMP_parallel_sections_start): Call gomp_new_team instead of
5847 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
5848 Adjust gomp_team_start caller. Pass count as second argument to
5849 gomp_resolve_num_threads, don't adjust num_threads after the call.
5850 Use gomp_icv.
5851 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
5852 ws->chunk_size by incr.
5853 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
5854 code.
5855 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
5856 types.
5857 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
5858 (omp_check_defines): Check even the compat defines.
5859 * config/linux/ptrlock.c: New file.
5860 * config/linux/ptrlock.h: New file.
5861 * config/linux/wait.h: New file.
5862 * config/posix/ptrlock.c: New file.
5863 * config/posix/ptrlock.h: New file.
5864 * config/linux/bar.h (gomp_team_barrier_wait,
5865 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
5866 (gomp_team_barrier_set_task_pending,
5867 gomp_team_barrier_clear_task_pending,
5868 gomp_team_barrier_set_waiting_for_tasks,
5869 gomp_team_barrier_waiting_for_tasks,
5870 gomp_team_barrier_done): New inlines.
5871 (gomp_barrier_t): Rewritten.
5872 (gomp_barrier_state_t): New typedef.
5873 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
5874 gomp_barrier_wait_start): Rewritten.
5875 (gomp_barrier_wait_end): Change second argument to
5876 gomp_barrier_state_t.
5877 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
5878 inlines.
5879 * config/linux/bar.c: Include wait.h instead of libgomp.h and
5880 futex.h.
5881 (gomp_barrier_wait_end): Rewritten.
5882 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
5883 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
5884 * config/posix/bar.h (gomp_barrier_t): Add generation field.
5885 (gomp_barrier_state_t): New typedef.
5886 (gomp_team_barrier_wait,
5887 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
5888 (gomp_barrier_wait_start): Or all but low 2 bits from generation
5889 into the return value. Return gomp_barrier_state_t.
5890 (gomp_team_barrier_set_task_pending,
5891 gomp_team_barrier_clear_task_pending,
5892 gomp_team_barrier_set_waiting_for_tasks,
5893 gomp_team_barrier_waiting_for_tasks,
5894 gomp_team_barrier_done): New inlines.
5895 (gomp_barrier_wait_end): Change second argument to
5896 gomp_barrier_state_t.
5897 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
5898 inlines.
5899 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
5900 (gomp_barrier_wait_end): Change second argument to
5901 gomp_barrier_state_t.
5902 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
5903 gomp_team_barrier_wake): New functions.
5904 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
5905 futex.h.
5906 (gomp_futex_wake, gomp_futex_wait): New variables.
5907 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
5908 * config/linux/lock.c: Rewrite to make locks task owned,
5909 for backwards compatibility provide the old entrypoints
5910 if symbol versioning. Include wait.h instead of libgomp.h and
5911 futex.h.
5912 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
5913 * config/posix95/lock.c: Rewrite to make locks task owned,
5914 for backwards compatibility provide the old entrypoints
5915 if symbol versioning.
5916 * config/posix/lock.c: Rewrite to make locks task owned,
5917 for backwards compatibility provide the old entrypoints
5918 if symbol versioning.
5919 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
5920 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
5921 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
5922 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5923 (sys_futex0): Return error code.
5924 (futex_wake, futex_wait): If ENOSYS was returned, clear
5925 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5926 (cpu_relax, atomic_write_barrier): New static inlines.
5927 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5928 (futex_wake, futex_wait): If ENOSYS was returned, clear
5929 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5930 (cpu_relax, atomic_write_barrier): New static inlines.
5931 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5932 (sys_futex0): Return error code.
5933 (futex_wake, futex_wait): If ENOSYS was returned, clear
5934 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5935 (cpu_relax, atomic_write_barrier): New static inlines.
5936 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5937 (sys_futex0): Return error code.
5938 (futex_wake, futex_wait): If ENOSYS was returned, clear
5939 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5940 (cpu_relax, atomic_write_barrier): New static inlines.
5941 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5942 (sys_futex0): Return error code.
5943 (futex_wake, futex_wait): If ENOSYS was returned, clear
5944 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5945 (cpu_relax, atomic_write_barrier): New static inlines.
5946 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
5947 (sys_futex0): Return error code.
5948 (futex_wake, futex_wait): If ENOSYS was returned, clear
5949 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
5950 (cpu_relax, atomic_write_barrier): New static inlines.
5951 * config/linux/sem.c: Include wait.h instead of libgomp.h and
5952 futex.h.
5953 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
5954 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
5955 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
5956 types.
5957 (omp_nest_lock_t): Change owner into void *, add lock field.
5958 * config/posix95/omp-lock.h: Include semaphore.h.
5959 (omp_lock_25_t, omp_nest_lock_25_t): New types.
5960 (omp_lock_t): Use sem_t instead of mutex if semaphores
5961 aren't broken.
5962 (omp_nest_lock_t): Likewise. Change owner to void *.
5963 * config/posix/omp-lock.h: Include semaphore.h.
5964 (omp_lock_25_t, omp_nest_lock_25_t): New types.
5965 (omp_lock_t): Use sem_t instead of mutex if semaphores
5966 aren't broken.
5967 (omp_nest_lock_t): Likewise. Add owner field.
5968
5969 2008-06-06 Jakub Jelinek <jakub@redhat.com>
5970
5971 * testsuite/libgomp.c/collapse-1.c: New test.
5972 * testsuite/libgomp.c/collapse-2.c: New test.
5973 * testsuite/libgomp.c/collapse-3.c: New test.
5974 * testsuite/libgomp.c/icv-1.c: New test.
5975 * testsuite/libgomp.c/icv-2.c: New test.
5976 * testsuite/libgomp.c/lib-2.c: New test.
5977 * testsuite/libgomp.c/lock-1.c: New test.
5978 * testsuite/libgomp.c/lock-2.c: New test.
5979 * testsuite/libgomp.c/lock-3.c: New test.
5980 * testsuite/libgomp.c/loop-4.c: New test.
5981 * testsuite/libgomp.c/loop-5.c: New test.
5982 * testsuite/libgomp.c/loop-6.c: New test.
5983 * testsuite/libgomp.c/loop-7.c: New test.
5984 * testsuite/libgomp.c/loop-8.c: New test.
5985 * testsuite/libgomp.c/loop-9.c: New test.
5986 * testsuite/libgomp.c/nested-3.c: New test.
5987 * testsuite/libgomp.c/nestedfn-6.c: New test.
5988 * testsuite/libgomp.c/sort-1.c: New test.
5989 * testsuite/libgomp.c/task-1.c: New test.
5990 * testsuite/libgomp.c/task-2.c: New test.
5991 * testsuite/libgomp.c/task-3.c: New test.
5992 * testsuite/libgomp.c/task-4.c: New test.
5993 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
5994 to C++ testsuite default compiler options.
5995 * testsuite/libgomp.c++/collapse-1.C: New test.
5996 * testsuite/libgomp.c++/collapse-2.C: New test.
5997 * testsuite/libgomp.c++/ctor-10.C: New test.
5998 * testsuite/libgomp.c++/for-1.C: New test.
5999 * testsuite/libgomp.c++/for-2.C: New test.
6000 * testsuite/libgomp.c++/for-3.C: New test.
6001 * testsuite/libgomp.c++/for-4.C: New test.
6002 * testsuite/libgomp.c++/for-5.C: New test.
6003 * testsuite/libgomp.c++/loop-8.C: New test.
6004 * testsuite/libgomp.c++/loop-9.C: New test.
6005 * testsuite/libgomp.c++/loop-10.C: New test.
6006 * testsuite/libgomp.c++/task-1.C: New test.
6007 * testsuite/libgomp.c++/task-2.C: New test.
6008 * testsuite/libgomp.c++/task-3.C: New test.
6009 * testsuite/libgomp.c++/task-4.C: New test.
6010 * testsuite/libgomp.c++/task-5.C: New test.
6011 * testsuite/libgomp.c++/task-6.C: New test.
6012 * testsuite/libgomp.fortran/allocatable1.f90: New test.
6013 * testsuite/libgomp.fortran/allocatable2.f90: New test.
6014 * testsuite/libgomp.fortran/allocatable3.f90: New test.
6015 * testsuite/libgomp.fortran/allocatable4.f90: New test.
6016 * testsuite/libgomp.fortran/collapse1.f90: New test.
6017 * testsuite/libgomp.fortran/collapse2.f90: New test.
6018 * testsuite/libgomp.fortran/collapse3.f90: New test.
6019 * testsuite/libgomp.fortran/collapse4.f90: New test.
6020 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
6021 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
6022 * testsuite/libgomp.fortran/lib4.f90: New test.
6023 * testsuite/libgomp.fortran/lock-1.f90: New test.
6024 * testsuite/libgomp.fortran/lock-2.f90: New test.
6025 * testsuite/libgomp.fortran/nested1.f90: New test.
6026 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
6027 * testsuite/libgomp.fortran/strassen.f90: New test.
6028 * testsuite/libgomp.fortran/tabs1.f90: New test.
6029 * testsuite/libgomp.fortran/tabs2.f: New test.
6030 * testsuite/libgomp.fortran/task1.f90: New test.
6031 * testsuite/libgomp.fortran/task2.f90: New test.
6032 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
6033 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6034 * testsuite/libgomp.c/pr26943-2.c: Likewise.
6035 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6036 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6037
6038 2008-05-23 Jakub Jelinek <jakub@redhat.com>
6039
6040 PR c++/36308
6041 * testsuite/libgomp.c++/ctor-11.C: New test.
6042 * testsuite/libgomp.c++/ctor-12.C: New test.
6043
6044 2008-05-15 Janis Johnson <janis187@us.ibm.com>
6045
6046 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
6047
6048 2008-05-07 Jakub Jelinek <jakub@redhat.com>
6049
6050 PR middle-end/36106
6051 * testsuite/libgomp.c/atomic-5.c: New test.
6052 * testsuite/libgomp.c/atomic-6.c: New test.
6053 * testsuite/libgomp.c/autopar-1.c: New test.
6054
6055 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6056
6057 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
6058 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
6059 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
6060 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
6061 * configure: Regenerate.
6062 * Makefile.in, testsuite/Makefile.in: Likewise.
6063
6064 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
6065
6066 PR bootstrap/35457
6067 * aclocal.m4: Regenerate.
6068 * configure: Regenerate.
6069
6070 2008-03-18 Jakub Jelinek <jakub@redhat.com>
6071
6072 PR middle-end/35611
6073 * testsuite/libgomp.c/atomic-4.c: New test.
6074
6075 PR libgomp/35625
6076 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
6077 (gomp_iter_guided_next): Likewise.
6078 * testsuite/libgomp.c/pr35625.c: New test.
6079
6080 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6081
6082 * aclocal.m4: Regenerate.
6083 * configure: Likewise.
6084 * Makefile.in: Likewise.
6085 * testsuite/Makefile.in: Likewise.
6086
6087 2008-03-13 Jakub Jelinek <jakub@redhat.com>
6088
6089 PR middle-end/35185
6090 * testsuite/libgomp.c++/pr35185.C: New test.
6091
6092 2008-03-12 Jakub Jelinek <jakub@redhat.com>
6093
6094 PR middle-end/35549
6095 * testsuite/libgomp.c/pr35549.c: New test.
6096
6097 2008-03-06 Jakub Jelinek <jakub@redhat.com>
6098
6099 * testsuite/libgomp.c/atomic-3.c: New test.
6100
6101 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6102
6103 PR fortran/33197
6104 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
6105 .F08 file suffixes.
6106
6107 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
6108
6109 PR libgomp/33131
6110 * configure.ac: Add ACX_HEADER_STRING.
6111 * env.c: Include strings.h.
6112 * aclocal.m4: Regenerate.
6113 * config.h.in: Regenerate.
6114 * configure: Regenerate.
6115 * Makefile.in: Regenerate.
6116 * testsuite/Makefile.in: Regenerate.
6117
6118 2008-02-15 Jakub Jelinek <jakub@redhat.com>
6119
6120 PR middle-end/35196
6121 * testsuite/libgomp.c/pr35196.c: New test.
6122
6123 PR middle-end/35130
6124 * testsuite/libgomp.fortran/pr35130.f90: New test.
6125 * testsuite/libgomp.c/pr35130.c: New test.
6126
6127 2008-01-25 Jakub Jelinek <jakub@redhat.com>
6128
6129 PR middle-end/33880
6130 * testsuite/libgomp.c/pr33880.c: New test.
6131 * testsuite/libgomp.fortran/pr33880.f90: New test.
6132
6133 2008-01-24 David Edelsohn <edelsohn@gnu.org>
6134
6135 * configure: Regenerate.
6136
6137 2008-01-08 Jakub Jelinek <jakub@redhat.com>
6138
6139 * configure.ac: Move futex checking into ../config/futex.m4.
6140 * configure: Rebuilt.
6141 * aclocal.m4: Rebuilt.
6142 * Makefile.in: Rebuilt.
6143
6144 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
6145 2007-10-15 ../config/tls.m4 change.
6146
6147 2007-12-19 Jakub Jelinek <jakub@redhat.com>
6148
6149 PR c++/34513
6150 * testsuite/libgomp.c/pr34513.c: New test.
6151 * testsuite/libgomp.c++/pr34513.C: New test.
6152
6153 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
6154
6155 PR target/32765
6156 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
6157
6158 2007-12-04 Jakub Jelinek <jakub@redhat.com>
6159
6160 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
6161
6162 2007-12-03 Jakub Jelinek <jakub@redhat.com>
6163
6164 * testsuite/libgomp.c/private-1.c: New test.
6165
6166 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
6167 Paolo Bonzini <bonzini@gnu.org>
6168
6169 * Makefile.am: Use space as vpath separator. Use 'vpath %'
6170 instead of 'VPATH ='.
6171 * Makefile.in: Regenerate.
6172
6173 2007-11-23 Matthias Klose <doko@ubuntu.com>
6174
6175 * configure.ac: Adjust makeinfo version check.
6176 * configure: Regenerate.
6177
6178 2007-11-10 Jakub Jelinek <jakub@redhat.com>
6179
6180 PR fortran/34020
6181 * testsuite/libgomp.fortran/pr34020.f90: New test.
6182
6183 2007-11-06 Jakub Jelinek <jakub@redhat.com>
6184
6185 PR c++/33894
6186 * testsuite/libgomp.c++/atomic-1.C: New test.
6187
6188 2007-10-25 Jakub Jelinek <jakub@redhat.com>
6189
6190 PR libgomp/33275
6191 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
6192 Make x and y integers rather than (implicit) reals. Add private (j)
6193 clause to the last omp parallel.
6194
6195 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
6196
6197 * configure: Regenerate following changes to ../config/tls.m4.
6198
6199 2007-09-28 Jakub Jelinek <jakub@redhat.com>
6200
6201 * testsuite/libgomp.fortran/stack.f90: New test.
6202
6203 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
6204
6205 * config/mingw32/proc.c: New file.
6206
6207 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
6208
6209 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
6210 (main): Use __get_cpuid to get i386 target fetaures.
6211 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
6212 (main): Use __get_cpuid to get x86_64 target fetaures.
6213
6214 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
6215
6216 PR target/32765
6217 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
6218 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
6219
6220 2007-07-12 Jakub Jelinek <jakub@redhat.com>
6221
6222 PR fortran/32550
6223 * testsuite/libgomp.fortran/pr32550.f90: New test.
6224 * testsuite/libgomp.fortran/crayptr2.f90: New test.
6225
6226 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
6227
6228 * aclocal.m4: Regenerated.
6229
6230 2007-07-05 Tobias Burnus <burnus@net-b.de>
6231
6232 PR fortran/32359
6233 * testsuite/libgomp.fortran/pr32359.f90: New.
6234
6235 2007-07-02 Jakub Jelinek <jakub@redhat.com>
6236
6237 PR libgomp/32468
6238 * sections.c (GOMP_parallel_sections_start): Only decrease
6239 number of threads to COUNT if dyn_var is true.
6240 * testsuite/libgomp.c/pr32468.c: New test.
6241
6242 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6243
6244 PR libgomp/26308
6245 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
6246
6247 2007-06-21 Jakub Jelinek <jakub@redhat.com>
6248
6249 PR middle-end/32362
6250 * testsuite/libgomp.c/pr32362-1.c: New test.
6251 * testsuite/libgomp.c/pr32362-2.c: New test.
6252 * testsuite/libgomp.c/pr32362-3.c: New test.
6253
6254 2007-06-07 Jakub Jelinek <jakub@redhat.com>
6255
6256 * team.c (gomp_team_start): Fix setting up thread_attr
6257 stack size.
6258
6259 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
6260
6261 * configure: Regenerate.
6262
6263 2007-05-23 Steve Ellcey <sje@cup.hp.com>
6264
6265 * Makefile.in: Regenerate.
6266 * configure: Regenerate.
6267 * aclocal.m4: Regenerate.
6268 * testsuite/Makefile.in: Regenerate.
6269
6270 2007-05-04 Jakub Jelinek <jakub@redhat.com>
6271
6272 * config/linux/proc.c: New file.
6273
6274 PR libgomp/28482
6275 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
6276
6277 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
6278
6279 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
6280
6281 2007-04-16 Matthias Klose <doko@debian.org>
6282
6283 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
6284 flags if not building with -m64.
6285 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
6286 flag for i?86-*-* targets, if current target matches -m64.
6287
6288 2007-04-14 Steve Ellcey <sje@cup.hp.com>
6289
6290 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
6291 * Makefile.in: Regenerate.
6292
6293 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6294
6295 PR testsuite/31369
6296 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
6297 ld_library_path.
6298 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6299
6300 2007-04-04 Jakub Jelinek <jakub@redhat.com>
6301
6302 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
6303 decls.
6304 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
6305 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
6306 (parse_affinity): New function.
6307 (initialize_env): Call it and gomp_init_affinity.
6308 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
6309 create new pthread_attr_t and call gomp_init_thread_affinity
6310 on it for each thread before passing the attribute to pthread_create.
6311 * config/linux/affinity.c: New file.
6312 * config/posix/affinity.c: New file.
6313 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
6314 * configure: Rebuilt.
6315 * config.h.in: Rebuilt.
6316 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
6317 * Makefile.in: Rebuilt.
6318
6319 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
6320
6321 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
6322 *-*-darwin*.
6323 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
6324 and use it if found.
6325
6326 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
6327
6328 * testsuite/config/default.exp: New file.
6329 * testsuite/lib/libgomp.exp: New file.
6330 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
6331 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
6332 load_lib *, load_gcc_lib *): Move to libgomp.exp.
6333 (libgomp_load): Remove.
6334 * testsuite/lib/libgomp.exp (libgomp_init): Compute
6335 always_ld_library_path, not ld_library_path. Set additional_flags
6336 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
6337 (target_compile): Do not call libgomp_init. Append lang_library_path
6338 and lang_link_flags to options.
6339 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
6340 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
6341 here.
6342 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
6343 always_ld_library_path. Set LD_LIBRARY_PATH here.
6344 * testsuite/libgomp.fortran/fortran.exp: Ditto.
6345 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
6346 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
6347 CX8 flag.
6348 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
6349 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
6350 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
6351 * testsuite/libgomp.c/pr29947-1.c: Ditto.
6352 * testsuite/libgomp.c/atomic-10.c: Ditto.
6353
6354 2007-03-21 Jakub Jelinek <jakub@redhat.com>
6355
6356 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
6357 dg-final cleanup-modules line.
6358 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
6359 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
6360 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
6361 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
6362 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
6363 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
6364 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
6365
6366 2007-03-18 Andreas Schwab <schwab@suse.de>
6367
6368 * acinclude.m4: Adjust regular expression for ld version
6369 extraction.
6370 * configure: Regenerate.
6371
6372 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
6373
6374 * Makefile.am: Add install-pdf target as copied from
6375 automake v1.10 rules.
6376 * Makefile.in: Regenerate
6377
6378 2007-02-07 Jakub Jelinek <jakub@redhat.com>
6379
6380 PR libgomp/28486
6381 * configure: Regenerate.
6382
6383 PR c++/30703
6384 * testsuite/libgomp.c++/pr30703.C: New test.
6385
6386 2007-02-02 Jakub Jelinek <jakub@redhat.com>
6387
6388 Revert:
6389 2006-07-05 Eric Christopher <echristo@apple.com>
6390 * configure.ac: Depend addition of -pthread on host OS.
6391 * configure: Regenerate.
6392
6393 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6394
6395 * libgomp.texi: Fix spacing after abbreviations.
6396
6397 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
6398
6399 PR libgomp/30546
6400 * configure.ac: Add check for makeinfo
6401 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
6402 if an appropiate version of makeinfo is found.
6403 * aclocal.m4: Regenerated.
6404 * configure: Regenerated.
6405 * Makefile.in: Regenerated.
6406 * testsuite/Makefile.in: Regenerated.
6407
6408 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
6409
6410 PR libgomp/30540
6411 * libgomp.texi: More about implementation-dependent settings.
6412
6413 2007-01-26 Tobias Burnus <burnus@net-b.de>
6414
6415 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
6416
6417 2007-01-24 Jakub Jelinek <jakub@redhat.com>
6418
6419 PR middle-end/30494
6420 * testsuite/libgomp.c/pr30494.c: New test.
6421
6422 2007-01-15 Tom Tromey <tromey@redhat.com>
6423
6424 * configure: Rebuilt.
6425 * configure.ac: Fixed comment.
6426
6427 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
6428
6429 * libgomp.texi: Document implementation specific default values of
6430 environment variables.
6431
6432 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
6433
6434 PR libgomp/28209
6435 * libgomp.texi: New file.
6436 * configure.ac: Add --enable-generated-files-in-srcdir option.
6437 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
6438 files to srcdir.
6439 * Makefile.in: Regenerated.
6440 * config.h.in: Regenerated.
6441 * testsuite/Makefile.in: Regenerated.
6442 * NOTES: Removed.
6443
6444 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
6445
6446 PR libgomp/29949
6447 * env.c (omp_set_num_threads): Set illegal thread count to 1.
6448
6449 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6450
6451 * configure: Regenerate.
6452
6453 2006-12-04 Jakub Jelinek <jakub@redhat.com>
6454
6455 PR libgomp/29947
6456 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
6457 start if there shouldn't be any loop iterations.
6458 (gomp_loop_ordered_static_start): Remove start == end test.
6459 * testsuite/libgomp.c/pr29947-1.c: New test.
6460 * testsuite/libgomp.c/pr29947-2.c: New test.
6461
6462 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
6463
6464 * configure.tgt: Force initial-exec TLS model on Linux only.
6465
6466 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
6467
6468 * configure: Regenerated.
6469
6470 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
6471
6472 * env.c (parse_schedule): Reject out of range values.
6473 (parse_unsigned_long): Reject out of range, negative or zero values.
6474
6475 2006-10-29 Jakub Jelinek <jakub@redhat.com>
6476
6477 PR fortran/29629
6478 * testsuite/libgomp.fortran/pr29629.f90: New test.
6479
6480 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
6481
6482 PR libgomp/29494
6483 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
6484 * config/posix95: New directory.
6485 * config/posix95/omp-lock.h: New file.
6486 * config/posix95/lock.c: Likewise.
6487
6488 2006-10-14 Geoffrey Keating <geoffk@apple.com>
6489
6490 * aclocal.m4: Regenerate.
6491 * configure: Regenerate.
6492
6493 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
6494
6495 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
6496 '<' to '<='.
6497
6498 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
6499
6500 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
6501 test.
6502 * configure: Regenerate.
6503 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
6504
6505 2006-09-26 Jakub Jelinek <jakub@redhat.com>
6506
6507 PR middle-end/25261
6508 PR middle-end/28790
6509 * testsuite/libgomp.c/nestedfn-4.c: New test.
6510 * testsuite/libgomp.c/nestedfn-5.c: New test.
6511 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
6512
6513 PR fortran/29097
6514 * testsuite/libgomp.fortran/condinc1.f: New test.
6515 * testsuite/libgomp.fortran/condinc2.f: New test.
6516 * testsuite/libgomp.fortran/condinc3.f90: New test.
6517 * testsuite/libgomp.fortran/condinc4.f90: New test.
6518 * testsuite/libgomp.fortran/condinc1.inc: New file.
6519
6520 2006-09-18 Tom Tromey <tromey@redhat.com>
6521
6522 * configure: Rebuilt.
6523
6524 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
6525
6526 PR c/28768
6527 PR preprocessor/14634
6528 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
6529 to AC_DEFINE.
6530 * configure: Regenerate.
6531
6532 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
6533
6534 * testsuite/libgomp.fortran/reduction3.f90: Change
6535 -2147483648 to -huge(i)-1 to avoid overflow.
6536 * testsuite/libgomp.fortran/reduction4.f90: Change
6537 Z'ffffffff' to not(0) to avoid overflow.
6538
6539 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
6540
6541 PR libgomp/25938
6542 * Makefile.am (libsubincludedir): New.
6543 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
6544 * Makefile.in: Regenerate.
6545
6546 2006-08-17 Jakub Jelinek <jakub@redhat.com>
6547
6548 PR libgomp/28725
6549 * env.c: Include ctype.h.
6550 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
6551 leading and/or trailing whitespace and compare strings case
6552 insensitively.
6553
6554 2006-07-16 Jakub Jelinek <jakub@redhat.com>
6555
6556 PR fortran/28390
6557 * testsuite/libgomp.fortran/pr28390.f: New test.
6558
6559 2006-07-05 Eric Christopher <echristo@apple.com>
6560
6561 * configure.ac: Depend addition of -pthread on host OS.
6562 * configure: Regenerate.
6563
6564 2006-06-21 Jakub Jelinek <jakub@redhat.com>
6565
6566 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
6567 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
6568 defined.
6569
6570 2006-06-20 Jakub Jelinek <jakub@redhat.com>
6571
6572 PR libgomp/26175
6573 PR libgomp/26477
6574 * configure.ac: If neither --enable-linux-futex nor
6575 --disable-linux-futex is passed, determine the default by checking
6576 for compiling and/or running against NPTL. With --enable-linux-futex,
6577 check if SYS_gettid and SYS_futex are defined.
6578 * configure: Rebuilt.
6579
6580 2006-06-14 Richard Henderson <rth@redhat.com>
6581
6582 PR libgomp/28008
6583 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
6584 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
6585
6586 2006-06-09 Richard Henderson <rth@redhat.com>
6587
6588 * env.c (gomp_nthreads_var): Change to unsigned long.
6589 (gomp_run_sched_chunk): Likewise.
6590 (parse_unsigned_long): Rename from parse_num_threads and generalize.
6591 (initialize_env): Initialize gomp_thread_attr.
6592 * libgomp.h (gomp_nthreads_var): Update decl.
6593 (gomp_run_sched_chunk): Likewise.
6594 (gomp_thread_attr): Declare.
6595 * team.c (gomp_thread_attr): Export.
6596 (initialize_team): Don't initialize it.
6597
6598 2006-06-09 Jakub Jelinek <jakub@redhat.com>
6599
6600 PR fortran/27916
6601 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
6602 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
6603
6604 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
6605
6606 * config/mingw32/time.c: New file.
6607 * configure.tgt: Use it.
6608
6609 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
6610
6611 * Makefile.am: Add install-html target. Add install-html to .PHONY
6612 * Makefile.in: Regenerate.
6613
6614 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6615
6616 PR libgomp/27612
6617 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
6618 * testsuite/libgomp.c/critical-1.c: Likewise.
6619 * testsuite/libgomp.c/loop-1.c: Likewise.
6620 * testsuite/libgomp.c/loop-2.c: Likewise.
6621 * testsuite/libgomp.c/single-1.c: Likewise.
6622 * testsuite/libgomp.c/ordered-1.c: Likewise.
6623 * testsuite/libgomp.c/ordered-2.c: Likewise.
6624
6625 2006-05-15 Jakub Jelinek <jakub@redhat.com>
6626
6627 PR middle-end/27416
6628 * libgomp.fortran/pr27416-1.f90: New test.
6629
6630 2006-05-03 Jakub Jelinek <jakub@redhat.com>
6631
6632 PR fortran/27395
6633 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
6634 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
6635
6636 2006-05-02 Jakub Jelinek <jakub@redhat.com>
6637
6638 PR c++/26943
6639 * testsuite/libgomp.c/pr26943-1.c: New test.
6640 * testsuite/libgomp.c/pr26943-2.c: New test.
6641 * testsuite/libgomp.c/pr26943-3.c: New test.
6642 * testsuite/libgomp.c/pr26943-4.c: New test.
6643 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
6644 * testsuite/libgomp.c++/pr26943.C: New test.
6645
6646 2006-05-02 Jakub Jelinek <jakub@redhat.com>
6647
6648 PR middle-end/27337
6649 * testsuite/libgomp.c++/pr27337.C: New test.
6650
6651 2006-04-26 Jakub Jelinek <jakub@redhat.com>
6652
6653 PR c/26171
6654 * testsuite/libgomp.c/pr26171.c: New test.
6655
6656 2006-04-25 Richard Henderson <rth@redhat.com>
6657
6658 PR libgomp/25865
6659 * configure.ac: Use GCC_CHECK_TLS.
6660 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
6661 * Makefile.in, aclocal.m4, configure: Regenerate.
6662
6663 2006-04-10 Matthias Klose <doko@debian.org>
6664
6665 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
6666 directory names containing underscores.
6667
6668 2006-03-21 Jakub Jelinek <jakub@redhat.com>
6669
6670 PR c++/26691
6671 * testsuite/libgomp.c++/pr26691.C: New test.
6672
6673 2006-03-13 Jakub Jelinek <jakub@redhat.com>
6674
6675 * testsuite/libgomp.fortran/retval2.f90: New test.
6676
6677 2006-03-09 Diego Novillo <dnovillo@redhat.com>
6678
6679 * testsuite/libgomp.c++: New directory.
6680
6681 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
6682
6683 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
6684 * config/posix/sem.c: Implement the above.
6685
6686 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
6687
6688 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
6689 define HAVE_BROKEN_POSIX_SEMAPHORES.
6690 * configure: Rebuilt.
6691 * config.h.in: Rebuilt.
6692
6693 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
6694
6695 PR bootstrap/26161
6696 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
6697 for the other pthread check.
6698 * configure: Regenerate.
6699 * config.h.in: Regenerate.
6700
6701 2006-02-15 Jakub Jelinek <jakub@redhat.com>
6702
6703 PR libgomp/25938
6704 PR libgomp/25984
6705 * Makefile.am (fincludedir): New variable.
6706 (nodist_include_HEADERS): Remove Fortran files.
6707 (nodist_finclude_HEADERS): New variable.
6708 * Makefile.in: Regenerated.
6709
6710 2006-02-13 Jakub Jelinek <jakub@redhat.com>
6711
6712 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
6713 Remove tests for returning assumed character length arrays.
6714
6715 2006-02-12 Roger Sayle <roger@eyesopen.com>
6716 John David Anglin <dave@hiauly1.hia.nrc.ca>
6717
6718 PR libgomp/25936
6719 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
6720
6721 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
6722
6723 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
6724
6725 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
6726
6727 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
6728 part of LD_LIBRARY_PATH manually.
6729
6730 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
6731
6732 PR libgomp/25852
6733 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
6734 libgomp_init.
6735
6736 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
6737
6738 PR libgomp/25884
6739 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
6740 * configure.ac (PERL): Don't set.
6741 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
6742 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
6743 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
6744 * omp.h.in: Wrap the new configure substitutions with @ characters.
6745 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
6746 * aclocal.m4, configure, Makefile.in: Regenerate.
6747 * mkomp_h.pl: Delete.
6748
6749 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
6750
6751 PR libgomp/25259
6752 * configure.ac: Use GCC_HEADER_STDINT.
6753 * libgomp.h: Include gstdint.h.
6754 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
6755 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
6756
6757 2006-01-24 Richard Henderson <rth@redhat.com>
6758
6759 PR libgomp/25942
6760 * configure.ac: Add AM_MAINTAINER_MODE.
6761 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
6762
6763 2006-01-24 Diego Novillo <dnovillo@redhat.com>
6764
6765 * Makefile.in: Regenerate.
6766 * testsuite/Makefile.in: Regenerate.
6767 * aclocal.m4: Regenerate.
6768
6769 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
6770
6771 * config/posix/proc.c: Conditional include of sys/loadavg.h for
6772 Solaris.
6773 * configure.ac: Add check for loadavg.h.
6774 (link_gomp): Adjust comment.
6775 * configure: Regenerate.
6776 * config.h.in: Regenerate.
6777
6778 2006-01-21 Steve Ellcey <sje@cup.hp.com>
6779
6780 PR libgomp/25877
6781 * configure.ac: Remove check for alloca.h.
6782 * configure: Regenerate.
6783 * config.h.in: Regenerate.
6784 * libgomp.h: define gomp_alloca to be __builtin_alloca.
6785 * team.c: Remove use of alloca.h.
6786 Call gomp_alloca instead of alloca.
6787
6788 2006-01-20 Steve Ellcey <sje@cup.hp.com>
6789
6790 PR libgomp/25877
6791 * team.c: Add include of alloca.h.
6792 * configure.ac: Add check for alloca.h.
6793 * configure: Regenerate.
6794 * config.h.in: Regenerate.
6795
6796 2006-01-17 Jakub Jelinek <jakub@redhat.com>
6797
6798 PR fortran/25219
6799 * testsuite/libgomp.fortran/pr25219.f90: New test.
6800
6801 2005-12-05 Uros Bizjak <uros@kss-loka.si>
6802
6803 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
6804 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
6805 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
6806 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
6807 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
6808 testsuite/libgomp.fortran/threadprivate1.f90,
6809 testsuite/libgomp.fortran/threadprivate2.f90,
6810 testsuite/libgomp.fortran/threadprivate3.f90,
6811 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
6812 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
6813 testsuite/libgomp.fortran/omp_parse3.f90: Change required
6814 effective-target to TLS runtime.
6815
6816 * testsuite/libgomp.fortran/pr25162.f: Require
6817 effective-target TLS runtime.
6818
6819 2005-12-01 Jakub Jelinek <jakub@redhat.com>
6820
6821 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
6822 * testsuite/libgomp.c/nestedfn-3.c: New test.
6823
6824 2005-11-30 Jakub Jelinek <jakub@redhat.com>
6825
6826 PR fortran/25162
6827 * testsuite/libgomp.fortran/pr25162.f: New test.
6828
6829 2005-11-28 Jakub Jelinek <jakub@redhat.com>
6830
6831 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
6832 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
6833
6834 2005-11-25 Jakub Jelinek <jakub@redhat.com>
6835
6836 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
6837 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
6838 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
6839 single.c, team.c, work.c, config/linux/alpha/futex.h,
6840 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
6841 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
6842 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
6843 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
6844 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
6845 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
6846 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
6847 FSF address.
6848
6849 2005-11-18 Jakub Jelinek <jakub@redhat.com>
6850
6851 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
6852 to nodist_noinst_HEADERS.
6853 * Makefile.in: Rebuilt.
6854
6855 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
6856 add integer count field.
6857 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
6858 omp_nest_lock_t type change.
6859 (omp_init_nest_lock): Likewise. Initialize count to 0.
6860 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
6861 Increment count.
6862 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
6863 Decrement count.
6864 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
6865 Increment count if successful and return the new nesting level.
6866 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
6867 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
6868 * testsuite/libgomp.c/lib-1.c: New test.
6869 * testsuite/libgomp.fortran/lib1.f90: New test.
6870 * testsuite/libgomp.fortran/lib2.f: New test.
6871 * testsuite/libgomp.fortran/lib3.f: New test.
6872
6873 2005-11-17 Richard Henderson <rth@redhat.com>
6874
6875 PR 24845
6876 * Makefile.am (nodist_toolexeclib_HEADERS): New.
6877 * configure.ac (link_gomp): New. Substitute it.
6878 (AC_CONFIG_FILES): Add libgomp.spec.
6879 * libgomp.spec.in: New file.
6880 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
6881 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
6882
6883 2005-11-18 Jakub Jelinek <jakub@redhat.com>
6884
6885 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
6886 reduction(-:var) behaving the same as reduction(+:var).
6887 * testsuite/libgomp.c/reduction-4.c: New test.
6888
6889 2005-11-15 Uros Bizjak <uros@kss-loka.si>
6890
6891 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
6892 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
6893 testsuite/libgomp.c/copyin-3.c,
6894 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
6895 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
6896 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
6897 testsuite/libgomp.c++/pr24455.C,
6898 testsuite/libgomp.fortran/threadprivate1.f90,
6899 testsuite/libgomp.fortran/threadprivate2.f90,
6900 testsuite/libgomp.fortran/threadprivate3.f90,
6901 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
6902 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
6903 testsuite/libgomp.fortran/omp_parse3.f90: Require
6904 effective-target TLS.
6905
6906 2005-11-14 Diego Novillo <dnovillo@redhat.com>
6907
6908 * HEADER: Remove.
6909
6910 2005-11-13 Jakub Jelinek <jakub@redhat.com>
6911
6912 PR libgomp/24797
6913 * team.c (initialize_team): Pass NULL rather than free as
6914 pthread_key_create destructor. Initialize thread specific data
6915 pointer in initial thread to a static local variable rather than
6916 malloced memory.
6917
6918 2005-11-11 Uros Bizjak <uros@kss-loka.si>
6919
6920 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
6921 its location to ld_library_path.
6922
6923 2005-11-10 Diego Novillo <dnovillo@redhat.com>
6924
6925 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
6926
6927 2005-11-10 Diego Novillo <dnovillo@redhat.com>
6928
6929 * testsuite/libgomp.c: Rename from libgomp.dg.
6930
6931 2005-11-09 Diego Novillo <dnovillo@redhat.com>
6932
6933 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
6934 threadprivate variable 'i'.
6935
6936 2005-11-09 Jakub Jelinek <jakub@redhat.com>
6937
6938 * config/linux/s390/futex.h: New file.
6939 * configure.tgt: Use it.
6940
6941 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
6942 before the parallel.
6943
6944 2005-11-08 Jakub Jelinek <jakub@redhat.com>
6945
6946 PR c++/24734
6947 * testsuite/libgomp.c++/master-1.C: New test.
6948
6949 2005-11-07 Jakub Jelinek <jakub@redhat.com>
6950
6951 * testsuite/libgomp.dg/copyin-3.c: New test.
6952
6953 2005-11-07 Jakub Jelinek <jakub@redhat.com>
6954
6955 * testsuite/libgomp.fortran/retval1.f90: New test.
6956 * testsuite/libgomp.fortran/vla7.f90: New test.
6957
6958 2005-11-06 Jakub Jelinek <jakub@redhat.com>
6959
6960 * testsuite/libgomp.fortran/vla2.f90: New test.
6961 * testsuite/libgomp.fortran/vla3.f90: New test.
6962 * testsuite/libgomp.fortran/vla4.f90: New test.
6963 * testsuite/libgomp.fortran/vla5.f90: New test.
6964 * testsuite/libgomp.fortran/vla6.f90: New test.
6965
6966 2005-11-01 Jakub Jelinek <jakub@redhat.com>
6967
6968 * config/linux/sparc/futex.h: New file.
6969 * configure.tgt: Use it.
6970 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
6971
6972 * critical.c: Include stdlib.h.
6973 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
6974 ignoring return value.
6975 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
6976 LIBGOMP_CHECK_SYNC_BUILTINS check.
6977 * configure: Rebuilt.
6978
6979 2005-10-31 Jakub Jelinek <jakub@redhat.com>
6980
6981 * testsuite/libgomp.fortran/vla1.f90: New test.
6982
6983 2005-10-31 Richard Henderson <rth@redhat.com>
6984
6985 * testsuite/libgomp.fortran/character2.f90: Fix race condition
6986 setting 's' in different threads.
6987
6988 2005-10-31 Jakub Jelinek <jakub@redhat.com>
6989
6990 * libgomp.h (attribute_hidden, ialias): Define.
6991 * config/posix/proc.c (omp_get_num_procs): Add ialias.
6992 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
6993 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
6994 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
6995 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
6996 omp_test_lock, omp_test_nest_lock): Likewise.
6997 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
6998 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
6999 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
7000 omp_test_lock, omp_test_nest_lock): Likewise.
7001 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
7002 omp_get_dynamic, omp_get_nested): Likewise.
7003 * parallel.c (omp_get_num_threads, omp_get_max_threads,
7004 omp_get_thread_num, omp_in_parallel): Likewise.
7005 * fortran.c (ialias_redirect): Define.
7006 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
7007 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
7008 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
7009 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
7010 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
7011 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
7012 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
7013 omp_get_wtime): Add ialias_redirect.
7014
7015 2005-10-30 Jakub Jelinek <jakub@redhat.com>
7016
7017 * fortran.c: Include stdlib.h.
7018
7019 2005-10-29 Jakub Jelinek <jakub@redhat.com>
7020
7021 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
7022 * Makefile.in: Regenerated.
7023
7024 2005-10-28 Jakub Jelinek <jakub@redhat.com>
7025
7026 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
7027 * libgomp_f.h.in (omp_check_defines): New function.
7028 * env.c: Include libgomp_f.h.
7029 (initialize_env): Call omp_check_defines.
7030
7031 * testsuite/libgomp.dg/copyin-2.c: New test.
7032 * testsuite/libgomp.c++/copyin-2.C: New test.
7033 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
7034
7035 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
7036 * testsuite/libgomp.fortran/sharing2.f90: New test.
7037
7038 * testsuite/libgomp.dg/copyin-1.c: New test.
7039 * testsuite/libgomp.c++/copyin-1.C: New test.
7040
7041 2005-10-26 Jakub Jelinek <jakub@redhat.com>
7042
7043 * testsuite/libgomp.fortran/crayptr1.f90: New test.
7044
7045 * testsuite/libgomp.fortran/workshare1.f90: New test.
7046
7047 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
7048 only test.
7049 * libgomp.fortran/sharing1.f90: New test.
7050
7051 2005-10-24 Jakub Jelinek <jakub@redhat.com>
7052
7053 PR c++/24502
7054 * testsuite/libgomp.c++/loop-7.C: New test.
7055
7056 * testsuite/libgomp.dg/nestedfn-2.c: New test.
7057
7058 * testsuite/libgomp.dg/nestedfn-1.c: New test.
7059 * testsuite/libgomp.fortran/reduction6.f90: New test.
7060 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
7061
7062 2005-10-23 Richard Henderson <rth@redhat.com>
7063
7064 * testsuite/libgomp.c++/ctor-1.C: New.
7065 * testsuite/libgomp.c++/ctor-2.C: New.
7066 * testsuite/libgomp.c++/ctor-3.C: New.
7067 * testsuite/libgomp.c++/ctor-4.C: New.
7068 * testsuite/libgomp.c++/ctor-5.C: New.
7069 * testsuite/libgomp.c++/ctor-6.C: New.
7070 * testsuite/libgomp.c++/ctor-7.C: New.
7071 * testsuite/libgomp.c++/ctor-8.C: New.
7072 * testsuite/libgomp.c++/ctor-9.C: New.
7073
7074 2005-10-21 Diego Novillo <dnovillo@redhat.com>
7075
7076 PR 24455
7077 * testsuite/libgomp.c++/pr24455-1.C: New test.
7078 * testsuite/libgomp.c++/pr24455.C: New test.
7079 * testsuite/libgomp.dg/pr24455-1.c: New test.
7080 * testsuite/libgomp.dg/pr24455.c: New test.
7081
7082 2005-10-20 Richard Henderson <rth@redhat.com>
7083
7084 * testsuite/libgomp.c++/loop-6.C: New.
7085 * testsuite/libgomp.dg/loop-3.c: New.
7086
7087 2005-10-20 Jakub Jelinek <jakub@redhat.com>
7088
7089 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
7090 explicitly private.
7091 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
7092 explicitly shared.
7093
7094 2005-10-19 Diego Novillo <dnovillo@redhat.com>
7095
7096 * testsuite/libgomp.fortran/jacobi.f: New test.
7097
7098 2005-10-19 Richard Henderson <rth@redhat.com>
7099
7100 * configure.tgt (i?86-linux): Default to with_arch instead of
7101 CFLAGS. Add -mtune to match target_cpu.
7102 (x86_64-linux): Tune to i686.
7103
7104 * fortran.c (omp_test_nest_lock_): Fix typo.
7105
7106 2005-10-19 Jakub Jelinek <jakub@redhat.com>
7107
7108 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
7109 gomp_ordered_sync): Do nothing if team->nthreads == 1.
7110 * testsuite/libgomp.dg/ordered-3.c: New test.
7111
7112 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
7113 Remove volatile keyword.
7114
7115 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
7116 in COMMON block to avoid warnings on 64-bit targets.
7117
7118 2005-10-18 Diego Novillo <dnovillo@redhat.com>
7119
7120 * testsuite/libgomp.dg/shared-3.c: New test.
7121
7122 2005-10-18 Jakub Jelinek <jakub@redhat.com>
7123
7124 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
7125 * testsuite/libgomp.fortran/reduction5.f90: New test.
7126
7127 2005-10-18 Jakub Jelinek <jakub@redhat.com>
7128
7129 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
7130 dg-options.
7131 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
7132 flush loop now that __sync_synchronize has proper memory barrier.
7133 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
7134 Add -ffixed-form to dg-options.
7135
7136 2005-10-17 Diego Novillo <dnovillo@redhat.com>
7137
7138 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
7139 from subdirectories.
7140 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
7141 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
7142 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
7143 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
7144 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
7145 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
7146 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
7147 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
7148 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
7149 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
7150 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
7151 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
7152 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
7153 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
7154 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
7155 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
7156 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
7157 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
7158 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
7159 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
7160 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
7161 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
7162 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
7163 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
7164 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
7165
7166 2005-10-17 Jakub Jelinek <jakub@redhat.com>
7167
7168 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
7169 lang_library_path exists. Use find instead of glob to gather tests.
7170 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
7171
7172 2005-10-17 Diego Novillo <dnovillo@redhat.com>
7173
7174 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
7175 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
7176 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
7177 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
7178 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
7179 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
7180 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
7181 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
7182 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
7183 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
7184 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
7185 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
7186 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
7187
7188 2005-10-15 Jakub Jelinek <jakub@redhat.com>
7189
7190 * testsuite/libgomp.dg/vla-1.c: New test.
7191
7192 * testsuite/libgomp.fortran/reference2.f90: New test.
7193
7194 * testsuite/libgomp.fortran/character2.f90: Remove explicit
7195 declaration of omp_get_thread_num.
7196 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
7197 use omp_lib.
7198
7199 * testsuite/libgomp.fortran/reduction1.f90: New test.
7200 * testsuite/libgomp.fortran/reduction2.f90: New test.
7201 * testsuite/libgomp.fortran/reduction3.f90: New test.
7202 * testsuite/libgomp.fortran/reduction4.f90: New test.
7203
7204 2005-10-13 Richard Henderson <rth@redhat.com>
7205
7206 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
7207 * Makefile.in: Regenerate.
7208 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
7209 * libgomp.h: Include bar.h.
7210 (struct gomp_barrier): Remove.
7211 (struct gomp_team): Add barrier. Replace master_barrier with
7212 master_release. Replace threads with ordered_release.
7213 (struct gomp_thread): Replace barrier with release.
7214 * ordered.c (gomp_ordered_first): Update for ordered_release change.
7215 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
7216 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
7217 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
7218 (GOMP_single_copy_end): Likewise.
7219 * team.c (gomp_threads_dock): New.
7220 (gomp_barrier_init, gomp_barrier_destroy): Remove.
7221 (gomp_thread_start): Use gomp_barrier_wait.
7222 (new_team, free_team): Update for gomp_team changes.
7223 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
7224 (gomp_team_end): Use gomp_barrier_wait.
7225 (initialize_team): Update for gomp_thread changes.
7226 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
7227 (gomp_work_share_end_nowait): Use atomic ops when available.
7228 * config/linux/bar.c, config/linux/bar.h: New files.
7229 * config/posix/bar.c, config/posix/bar.h: New files.
7230
7231 2005-10-13 Jakub Jelinek <jakub@redhat.com>
7232
7233 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
7234 * testsuite/libgomp.dg/single-2.c: New test.
7235
7236 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
7237 lang_link_flags): Unset, so that they aren't inherited from previously
7238 sourced *.exp.
7239
7240 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
7241
7242 2005-10-12 Richard Henderson <rth@redhat.com>
7243
7244 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
7245 (libgomp_init): Use lang_test_file, lang_library_path, and
7246 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
7247
7248 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
7249 (lang_test_file, lang_link_flags): New.
7250 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
7251
7252 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
7253 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
7254 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
7255 testsuite/libgomp.c++/parallel-1.C,
7256 testsuite/libgomp.c++/reduction-1.C,
7257 testsuite/libgomp.c++/reduction-2.C,
7258 testsuite/libgomp.c++/reduction-3.C,
7259 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
7260 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
7261 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
7262 New files, largely cribbed from the C testsuite.
7263
7264 2005-10-12 Jakub Jelinek <jakub@redhat.com>
7265
7266 * testsuite/libgomp.fortran/character1.f90: New test.
7267 * testsuite/libgomp.fortran/character2.f90: New test.
7268
7269 * testsuite/libgomp.dg/nested-1.c: New test.
7270 * testsuite/libgomp.dg/nested-2.c: New test.
7271 * testsuite/libgomp.fortran/do1.f90: New test.
7272 * testsuite/libgomp.fortran/do2.f90: New test.
7273
7274 * testsuite/libgomp.fortran/reference1.f90: New test.
7275
7276 2005-10-11 Jakub Jelinek <jakub@redhat.com>
7277
7278 * testsuite/libgomp.dg/reduction-1.c: New test.
7279 * testsuite/libgomp.dg/reduction-2.c: New test.
7280 * testsuite/libgomp.dg/reduction-3.c: New test.
7281
7282 2005-10-10 Jakub Jelinek <jakub@redhat.com>
7283
7284 * testsuite/libgomp.dg/atomic-1.c: New test.
7285 * testsuite/libgomp.dg/atomic-2.c: New test.
7286
7287 2005-10-09 Richard Henderson <rth@redhat.com>
7288
7289 * critical.c (atomic_lock): New.
7290 (initialize_critical): Initialize it.
7291 (GOMP_atomic_start, GOMP_atomic_end): New.
7292 * libgomp.map: Export them.
7293 * libgomp_g.h: Declare them.
7294
7295 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
7296
7297 2005-10-02 Richard Henderson <rth@redhat.com>
7298
7299 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
7300 to XCFLAGS instead of CFLAGS.
7301
7302 2005-09-30 Richard Henderson <rth@redhat.com>
7303
7304 * configure.ac: Determine whether -pthread or -lpthread is needed.
7305 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
7306 * Makefine.in, configure: Rebuild.
7307
7308 2005-09-28 Richard Henderson <rth@redhat.com>
7309
7310 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
7311 * testsuite/libgomp.dg/omp-single-3.c: New test.
7312
7313 2005-09-28 Diego Novillo <dnovillo@redhat.com>
7314
7315 * testsuite/libgomp.dg/omp-single-2.c: New test.
7316 * testsuite/libgomp.dg/shared-2.c: Fix return code.
7317
7318 2005-09-27 Richard Henderson <rth@redhat.com>
7319
7320 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
7321 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
7322
7323 2005-09-27 Jakub Jelinek <jakub@redhat.com>
7324
7325 * testsuite/libgomp.dg/omp-loop03.c: New test.
7326
7327 2005-09-27 Diego Novillo <dnovillo@redhat.com>
7328
7329 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
7330
7331 2005-09-27 Diego Novillo <dnovillo@redhat.com>
7332
7333 * testsuite/libgomp.dg/omp-single-1.c: New test.
7334 * testsuite/libgomp.dg/shared-1.c: Return 0.
7335 Add prototype for abort.
7336 * testsuite/libgomp.dg/shared-2.c: Likewise.
7337
7338 2005-09-26 Jakub Jelinek <jakub@redhat.com>
7339
7340 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
7341 constructs.
7342
7343 2005-09-26 Diego Novillo <dnovillo@redhat.com>
7344
7345 * testsuite/libgomp.dg/shared-1.c: New test.
7346 * testsuite/libgomp.dg/shared-2.c: New test.
7347
7348 2005-09-24 Richard Henderson <rth@redhat.com>
7349
7350 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
7351
7352 2005-09-24 Richard Henderson <rth@redhat.com>
7353
7354 * iter.c (gomp_iter_static_next): Round up when computing number
7355 of iterations. Don't bother distributing a remainder equally.
7356
7357 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
7358 Don't call srand. Zero b before testing.
7359 (main): New.
7360
7361 2005-09-24 Jakub Jelinek <jakub@redhat.com>
7362
7363 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
7364 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
7365
7366 2005-09-23 Jakub Jelinek <jakub@redhat.com>
7367
7368 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
7369 without !$omp end do, followed immediately by subroutine end.
7370
7371 2005-09-23 Diego Novillo <dnovillo@redhat.com>
7372
7373 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
7374
7375 2005-09-22 Richard Henderson <rth@redhat.com>
7376
7377 * critical.c (GOMP_critical_name_start): Change argument to void**.
7378 Reuse the pointer space if the mutex fits.
7379 (GOMP_critical_name_end): Likewise.
7380 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
7381 * libgomp_g.h (GOMP_critical_name_start): Update decl.
7382 (GOMP_critical_name_end): Likewise.
7383 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
7384 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
7385
7386 2005-09-20 Richard Henderson <rth@redhat.com>
7387
7388 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
7389 (create_lock_lock): New.
7390 (initialize_critical): Initialize it.
7391 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
7392 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
7393
7394 2005-09-20 Diego Novillo <dnovillo@redhat.com>
7395
7396 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
7397
7398 2005-09-20 Diego Novillo <dnovillo@redhat.com>
7399
7400 * testsuite/libgomp.dg/omp-loop01.c: New test.
7401 * testsuite/libgomp.dg/omp-loop02.c: New test.
7402
7403 2005-09-20 Jakub Jelinek <jakub@redhat.com>
7404
7405 * configure.ac (AC_PROG_FC): Add.
7406 (USE_FORTRAN): New automake conditional.
7407 * configure: Rebuilt.
7408 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
7409 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
7410 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
7411 Add rules to build them.
7412 * Makefile.in: Rebuilt.
7413 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
7414 OMP_NEST_LOCK_KIND.
7415 * libgomp.map: Add Fortran wrappers.
7416 * libgomp_f.h.in: New file.
7417 * omp_lib.h.in: New file.
7418 * omp_lib.f90.in: New file.
7419 * fortran.c: New file.
7420 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
7421 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
7422 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
7423 libgfortran has been built.
7424 * testsuite/libgomp.fortran/fortran.exp: New file.
7425 * testsuite/libgomp.fortran/omp_cond1.f: New test.
7426 * testsuite/libgomp.fortran/omp_cond2.f: New test.
7427 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
7428 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
7429 * testsuite/libgomp.fortran/omp_hello.f: New test.
7430 * testsuite/libgomp.fortran/omp_orphan.f: New test.
7431 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
7432 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
7433 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
7434 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
7435 * testsuite/libgomp.fortran/omp_reduction.f: New test.
7436 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
7437 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
7438
7439 2005-08-30 Richard Henderson <rth@redhat.com>
7440
7441 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
7442 function for when aliases are not usable.
7443 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
7444 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
7445 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
7446 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
7447 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
7448 GOMP_loop_ordered_guided_next): Likewise.
7449 * ordered.c (GOMP_ordered_start): Likewise.
7450
7451 2005-08-01 Diego Novillo <dnovillo@redhat.com>
7452
7453 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
7454 * testsuite/libgomp.dg/omp_hello.c: Fix return code
7455 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
7456 * testsuite/libgomp.dg/omp_orphan.c: Likewise
7457 * testsuite/libgomp.dg/omp_reduction.c: Likewise
7458 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
7459 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
7460 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
7461 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
7462
7463 2005-07-07 Eric Christopher <echristo@redhat.com>
7464 Diego Novillo <dnovillo@redhat.com>
7465
7466 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
7467 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
7468 up code.
7469 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
7470 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
7471 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
7472 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
7473 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
7474 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
7475 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
7476
7477 2005-06-13 Diego Novillo <dnovillo@redhat.com>
7478
7479 * TOPLEVEL.patch: Remove.
7480
7481 2005-05-16 Richard Henderson <rth@redhat.com>
7482
7483 * configure.ac: Test for clock_gettime.
7484 * config.h.in, configure: Rebuild.
7485 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
7486 (omp_get_wtime): Use clock_gettime if available.
7487 (omp_get_wtick): Use clock_getres if available.
7488
7489 2005-05-11 Richard Henderson <rth@redhat.com>
7490
7491 * config/linux/ia64/futex.h: New file.
7492 * configure.tgt: Use it.
7493
7494 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
7495
7496 2005-05-07 Richard Henderson <rth@redhat.com>
7497
7498 * config/linux/powerpc/futex.h: New file.
7499 * configure.tgt: Use it.
7500
7501 * config/linux/i486/futex.h: Merge ...
7502 * config/linux/x86_64/futex.h: ... into ...
7503 * config/linux/x86/futex.h: ... here.
7504 * configure.tgt: Update to match.
7505
7506 2005-05-06 Richard Henderson <rth@redhat.com>
7507
7508 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
7509 * config/linux/i486/futex.h: Likewise.
7510 * config/linux/x86_64/futex.h: Likewise.
7511
7512 * config/linux/lock.c: New file.
7513 * config/linux/omp-lock.h: New file.
7514
7515 * critical.c, env.h: Don't include omp.h
7516 * config/posix/lock.c: Include libgomp.h instead of omp.h.
7517 * config/posix/time.c: Likewise.
7518 * config/posix/omp-lock.h: New file.
7519 * libgomp.h: Include omp-lock.h and omp.h.
7520 * Makefile.am (nodist_include_HEADERS): New.
7521 (omp.h): New rule.
7522 * configure.ac (PERL): New.
7523 * mkomp_h.pl: New file.
7524 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
7525 with templates.
7526 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
7527
7528 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
7529 build directory. Re-add -march=i486 hack.
7530
7531 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
7532 (libgomp_link_flags): Remove.
7533 (libgomp_initialized): Remove.
7534 (libgomp_init): Don't protect from reinitialization. Copy code
7535 from libstdc++ for getting the multilib set correctly.
7536
7537 2005-05-05 Richard Henderson <rth@redhat.com>
7538
7539 * config/linux/alpha/futex.h: New file.
7540 * configure.tgt (alpha*-*-linux*): Use it.
7541
7542 * config/posix/mutex.c: New file.
7543 * config/posix/sem.c: Use libgomp.h.
7544
7545 * configure.tgt (x86_64-linux): Also test CC for -m32.
7546 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
7547
7548 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
7549 after $gccpath.
7550
7551 * Makefile.am (SUBDIRS): New.
7552 (libgomp_la_LDFLAGS): Add -lpthread.
7553 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
7554 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
7555
7556 * libgomp_g.h: New file.
7557 * libgomp.h: Split out all public declarations to libgomp_g.h.
7558 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
7559 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
7560 * config/linux/sem.h: Likewise.
7561 * config/posix/sem.h: Likewise.
7562
7563 * Makefile.am (AM_LDFLAGS): New.
7564 (libgomp_version_script): Split out from ...
7565 (libgomp_la_LDFLAGS): ... here.
7566 (libgomp_version_info): New.
7567 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
7568 (LIBGOMP_ENABLE): New.
7569 (LIBGOMP_CHECK_LINKER_FEATURES): New.
7570 (LIBGOMP_ENABLE_SYMVERS): New.
7571 * configure.ac (AC_INIT): Version 1.0.
7572 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
7573 (enable-linux-futex): Likewise. Rename from enable-futex.
7574 (libtool_VERSION): New.
7575 (LIBGOMP_ENABLE_SYMVERS): Use it.
7576 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
7577 * Makefile.in, aclocal.m4, configure: Rebuild.
7578
7579 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
7580 (gomp_mutex_unlock_slow): Fix typo.
7581 * config/linux/sem.c: Similarly.
7582 (gomp_sem_post_slow): Fix typo.
7583 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
7584 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
7585 [__PIC__] (sys_futex0): Don't use tmp output in asm.
7586
7587 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
7588 (libgomp_la_LDFLAGS): Add top_srcdir to path.
7589 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
7590 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
7591 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
7592 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
7593 LDFLAGS. Pull enable_futex check to top-level.
7594 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
7595 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
7596
7597 First attempt at real configury.
7598 * Makefile, config.h: Remove file.
7599 * Makefile.am, Makefile.in: New file.
7600 * acinclude.m4 aclocal.m4: New file.
7601 * configure.ac, configure.tgt, configure: New file.
7602
7603 * config/posix/lock.c: Rename from sys-lock.c.
7604 * config/posix/mutex.h: Rename from sys-mutex.h.
7605 * config/posix/sem.c: Rename from sys-sem.c.
7606 * config/posix/sem.h: Rename from sys-sem.h.
7607 * config/posix/proc.c: Rename from sys-proc.c.
7608 * config/posix/time.c: Rename from sys-proc.c.
7609
7610 * config/linux/mutex.c: New file.
7611 * config/linux/mutex.h: New file.
7612 * config/linux/sem.c: New file.
7613 * config/linux/sem.h: New file.
7614 * config/linux/i486/futex.h: New file.
7615 * config/linux/x86_64/futex.h: New file.
7616
7617 2005-05-04 Richard Henderson <rth@redhat.com>
7618
7619 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
7620 * libgomp.h: Declare them.
7621 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
7622 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
7623
7624 2005-05-04 Richard Henderson <rth@redhat.com>
7625
7626 * libgomp-1 code drop
7627
7628 2005-05-04 Richard Henderson <rth@redhat.com>
7629
7630 * iter.c (gomp_iter_static_next): Return tri-state on 0.
7631 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
7632 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
7633 (gomp_iter_static_next): Update.
7634 (gomp_ordered_static_next): Update.
7635 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
7636 (gomp_loop_ordered_static_start): Likewise. Exit early for a
7637 totally empty range.
7638 (gomp_loop_ordered_static_next): Refine test for calling
7639 gomp_ordered_static_next.
7640 * testsuite/ordered-1.c: Add case for more threads than iterations.
7641
7642 * iter.c (gomp_iter_runtime_next_locked): Remove.
7643 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
7644 gomp_loop_guided_start, gomp_loop_ordered_static_start,
7645 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
7646 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
7647 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
7648 gomp_loop_ordered_guided_next): Downcase name, make static, add
7649 an external alias with the old name.
7650 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
7651 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
7652 switch and call one of the above static functions.
7653 * libgomp.h: Update.
7654
7655 * work.c (gomp_work_share_start): Lock the mutex for !first too.
7656 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
7657 GOMP_loop_guided_start, GOMP_loop_runtime_start,
7658 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
7659 GOMP_loop_ordered_guided_start): Update to match.
7660 * sections.c (GOMP_sections_start): Likewise.
7661 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
7662
7663 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
7664 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
7665 Use bounds check instead of modulus.
7666 (gomp_ordered_sync): Split out of GOMP_ordered_start.
7667 (gomp_ordered_last): Don't sync with ordered_owner here.
7668 (gomp_ordered_next): Likewise.
7669 (gomp_ordered_static_loop_next): Likewise.
7670 * loop.c, libgomp.h: Update to match.
7671
7672 * libgomp.h (GOMP_barrier): Declare.
7673
7674 * testsuite/barrier-1.c: New file.
7675 * testsuite/critical-1.c: New file.
7676 * testsuite/ordered-2.c: New file.
7677 * testsuite/ordered-1.c: New file.
7678 * testsuite/sections-1.c: New file.
7679 * testsuite/single-1.c: New file.
7680 * testsuite/Makefile (TESTS): Add them.
7681
7682 2005-05-04 Richard Henderson <rth@redhat.com>
7683
7684 * libgomp.h (struct gomp_work_share): Add ordered_owner.
7685 * loop.c (GOMP_loop_static_start): If not the startup thread,
7686 acquire the mutex to wait for initialization complete.
7687 (GOMP_loop_ordered_static_start): Likewise.
7688 (GOMP_loop_ordered_runtime_start): Likewise.
7689 (GOMP_loop_ordered_static_first): Remove.
7690 (GOMP_loop_ordered_dynamic_first): Remove.
7691 (GOMP_loop_ordered_guided_first): Remove.
7692 (GOMP_loop_ordered_runtime_first): Remove.
7693 * ordered.c (gomp_ordered_loop_first): Post to own release when
7694 we're the first thread.
7695 (gomp_ordered_loop_last): Wait on release if not owner.
7696 (gomp_ordered_loop_next): Likewise.
7697 (gomp_ordered_static_loop_init): New.
7698 (gomp_ordered_static_loop_next): Use ordered_owner.
7699 (GOMP_ordered_start): Likewise.
7700 * work.c (gomp_new_work_share): Initialize ordered_owner.
7701
7702 2005-05-03 Richard Henderson <rth@redhat.com>
7703
7704 * Makefile (OPT): New.
7705 (CFLAGS): Use it.
7706
7707 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
7708 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
7709 * libgomp.h, libgomp.map, NOTES: Update to match.
7710
7711 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
7712 Add initialized and thr members.
7713 (gomp_thread_start): Pause when initially spawned to wait for
7714 the whole team to be created.
7715 (gomp_team_start): Release team members at the end.
7716
7717 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
7718 (f_foo_1): Use GOMP_loop_end.
7719 (f_foo_2): Use GOMP_loop_end_nowait.
7720
7721 * testsuite/loop-2.c: New file.
7722 * testsuite/Makefile (TESTS): Add it.
7723
7724 2005-05-03 Richard Henderson <rth@redhat.com>
7725
7726 * iter.c (gomp_iter_static_next): Fix overflow check typo.
7727 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
7728 * team.c (new_team): Initialize oldest_live_gen to 1 if no
7729 initial work_share.
7730
7731 * testsuite/Makefile: New file.
7732 * testsuite/loop-1.c: New file.
7733
7734 2005-05-03 Richard Henderson <rth@redhat.com>
7735
7736 Initial implementation and checkin.
7737 \f
7738 Copyright (C) 2005-2016 Free Software Foundation, Inc.
7739
7740 Copying and distribution of this file, with or without modification,
7741 are permitted in any medium without royalty provided the copyright
7742 notice and this notice are preserved.