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