]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
[openacc] Factor out async argument utility functions
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2018-05-09 Tom de Vries <tom@codesourcery.com>
2
3 PR libgomp/83792
4 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
5 (async_synchronous_p): New function.
6 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7 async_valid_p.
8 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
9 async_valid_stream_id_p.
10 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11 * oacc-parallel.c (GOACC_parallel_keyed): Same.
12
13 2018-05-07 Tom de Vries <tom@codesourcery.com>
14
15 PR testsuite/85677
16 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
17 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
18
19 2018-05-03 Tom de Vries <tom@codesourcery.com>
20
21 PR testsuite/85106
22 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
23 extra_tool_flags if it contains an -foffload=-fdump-* flag.
24 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
25 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
26
27 2018-05-02 Tom de Vries <tom@codesourcery.com>
28
29 PR libgomp/85411
30 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
31 GOMP_OPENACC_DIM ...
32 * env.c (parse_gomp_openacc_dim): ... here. New function.
33 (initialize_env): Call parse_gomp_openacc_dim.
34 (goacc_default_dims): Define.
35 * libgomp.h (goacc_default_dims): Declare.
36 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
37 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
38 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
39 GOMP_PLUGIN_acc_default_dim.
40 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
41 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
42
43 2018-05-02 Tom de Vries <tom@codesourcery.com>
44
45 PR testsuite/83791
46 * testsuite/libgomp.c++/udr-9.C: Update.
47 * testsuite/libgomp.c++/atomic-16.C: Remove.
48 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
49 * testsuite/libgomp.c++/loop-13.C: Remove.
50 * testsuite/libgomp.c++/loop-14.C: Remove.
51 * testsuite/libgomp.c++/loop-15.C: Remove.
52 * testsuite/libgomp.c++/monotonic-1.C: Remove.
53 * testsuite/libgomp.c++/monotonic-2.C: Remove.
54 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
55 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
56 * testsuite/libgomp.c++/ordered-1.C: Remove.
57 * testsuite/libgomp.c++/pr45784.C: Remove.
58 * testsuite/libgomp.c++/pr64824.C: Remove.
59 * testsuite/libgomp.c++/pr64868.C: Remove.
60 * testsuite/libgomp.c++/pr66199-1.C: Remove.
61 * testsuite/libgomp.c++/pr66199-2.C: Remove.
62 * testsuite/libgomp.c++/pr66199-3.C: Remove.
63 * testsuite/libgomp.c++/pr66199-4.C: Remove.
64 * testsuite/libgomp.c++/pr66199-5.C: Remove.
65 * testsuite/libgomp.c++/pr66199-6.C: Remove.
66 * testsuite/libgomp.c++/pr66199-7.C: Remove.
67 * testsuite/libgomp.c++/pr66199-8.C: Remove.
68 * testsuite/libgomp.c++/pr66199-9.C: Remove.
69 * testsuite/libgomp.c++/pr69389.C: Remove.
70 * testsuite/libgomp.c++/simd10.C: Remove.
71 * testsuite/libgomp.c++/simd11.C: Remove.
72 * testsuite/libgomp.c++/simd12.C: Remove.
73 * testsuite/libgomp.c++/simd13.C: Remove.
74 * testsuite/libgomp.c++/target-1.C: Remove.
75 * testsuite/libgomp.c++/target-3.C: Remove.
76 * testsuite/libgomp.c++/target-4.C: Remove.
77 * testsuite/libgomp.c++/target-5.C: Remove.
78 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
79 * testsuite/libgomp.c++/taskloop-1.C: Remove.
80 * testsuite/libgomp.c++/taskloop-2.C: Remove.
81 * testsuite/libgomp.c++/taskloop-3.C: Remove.
82 * testsuite/libgomp.c++/taskloop-4.C: Remove.
83 * testsuite/libgomp.c++/udr-9.C: Remove.
84 * testsuite/libgomp.c++/for-10.C: Remove.
85 * testsuite/libgomp.c++/for-11.C: Remove.
86 * testsuite/libgomp.c++/for-12.C: Remove.
87 * testsuite/libgomp.c++/for-13.C: Remove.
88 * testsuite/libgomp.c++/for-14.C: Remove.
89 * testsuite/libgomp.c++/for-9.C: Remove.
90 * testsuite/libgomp.c/atomic-18.c: Move ...
91 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
92 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
93 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
94 * testsuite/libgomp.c/loop-13.c: Move ...
95 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
96 * testsuite/libgomp.c/loop-14.c: Move ...
97 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
98 * testsuite/libgomp.c/loop-15.c: Remove.
99 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
100 * testsuite/libgomp.c/monotonic-1.c: Move ...
101 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
102 * testsuite/libgomp.c/monotonic-2.c: Move ...
103 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
104 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
105 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
106 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
107 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
108 * testsuite/libgomp.c/ordered-4.c: Move ...
109 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
110 * testsuite/libgomp.c/pr45784.c: Move ...
111 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
112 * testsuite/libgomp.c/pr64824.c: Move ...
113 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
114 * testsuite/libgomp.c/pr64868.c: Move ...
115 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
116 * testsuite/libgomp.c/pr66199-1.c: Move ...
117 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
118 * testsuite/libgomp.c/pr66199-2.c: Move ...
119 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
120 * testsuite/libgomp.c/pr66199-3.c: Move ...
121 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
122 * testsuite/libgomp.c/pr66199-4.c: Move ...
123 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
124 * testsuite/libgomp.c/pr66199-5.c: Move ...
125 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
126 * testsuite/libgomp.c/pr66199-6.c: Move ...
127 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
128 * testsuite/libgomp.c/pr66199-7.c: Move ...
129 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
130 * testsuite/libgomp.c/pr66199-8.c: Move ...
131 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
132 * testsuite/libgomp.c/pr66199-9.c: Move ...
133 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
134 * testsuite/libgomp.c/pr69389.c: Move ...
135 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
136 * testsuite/libgomp.c/simd-14.c: Move ...
137 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
138 * testsuite/libgomp.c/simd-15.c: Move ...
139 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
140 * testsuite/libgomp.c/simd-16.c: Move ...
141 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
142 * testsuite/libgomp.c/simd-17.c: Move ...
143 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
144 * testsuite/libgomp.c/target-1.c: Move ...
145 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
146 * testsuite/libgomp.c/target-10.c: Move ...
147 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
148 * testsuite/libgomp.c/target-13.c: Move ...
149 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
150 * testsuite/libgomp.c/target-2.c: Move ...
151 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
152 * testsuite/libgomp.c/taskgroup-1.c: Move ...
153 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
154 * testsuite/libgomp.c/taskloop-1.c: Move ...
155 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
156 * testsuite/libgomp.c/taskloop-2.c: Move ...
157 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
158 * testsuite/libgomp.c/taskloop-3.c: Move ...
159 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
160 * testsuite/libgomp.c/taskloop-4.c: Move ...
161 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
162 * testsuite/libgomp.c/udr-1.c: Move ...
163 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
164 * testsuite/libgomp.c/for-1.c: Move ...
165 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
166 * testsuite/libgomp.c/for-1.h: Move ...
167 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
168 * testsuite/libgomp.c/for-2.c: Move ...
169 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
170 * testsuite/libgomp.c/for-2.h: Move ...
171 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
172 * testsuite/libgomp.c/for-3.c: Move ...
173 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
174 * testsuite/libgomp.c/for-4.c: Move ...
175 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
176 * testsuite/libgomp.c/for-5.c: Move ...
177 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
178 * testsuite/libgomp.c/for-6.c: Move ...
179 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
180
181 2018-05-02 Tom de Vries <tom@codesourcery.com>
182
183 PR libgomp/82428
184 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
185 __builtin_goacc_parlevel_{id,size}.
186 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
187 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
188 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
189 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
190 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
191 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
192 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
193 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
194 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
195 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
196 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
197 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
198 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
199 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
200 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
201 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
202 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
203 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
204 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
205 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
206 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
207 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
208 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
209
210 2018-05-02 Tom de Vries <tom@codesourcery.com>
211
212 PR testsuite/85106
213 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
214
215 2018-05-02 Tom de Vries <tom@codesourcery.com>
216
217 PR testsuite/85106
218 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
219
220 2018-04-29 Julian Brown <julian@codesourcery.com>
221 Tom de Vries <tom@codesourcery.com>
222
223 PR testsuite/85527
224 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
225 arbitrary order for iterations of atomic subtract check.
226
227 2018-04-28 Tom de Vries <tom@codesourcery.com>
228
229 PR testsuite/85527
230 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
231 atomic capture results obtained in parallel loop to an array, instead of
232 to a scalar.
233
234 2018-04-26 Tom de Vries <tom@codesourcery.com>
235
236 PR libgomp/84020
237 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
238 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
239 (process_GOMP_NVPTX_JIT): New function.
240 (link_ptx): Use process_GOMP_NVPTX_JIT.
241
242 2018-04-26 Richard Biener <rguenther@suse.de>
243 Tom de Vries <tom@codesourcery.com>
244
245 PR lto/85422
246 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
247
248 2018-04-26 Tom de Vries <tom@codesourcery.com>
249
250 PR target/85519
251 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
252 recursion depth from 25 to 23.
253 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
254
255 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
256
257 * configure: Regenerated.
258
259 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
260 Tom de Vries <tom@codesourcery.com>
261
262 PR target/85445
263 * testsuite/libgomp.oacc-c++/ref-1.C: New.
264
265 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
266
267 PR libgomp/85463
268 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
269 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
270 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
271 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
272 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
273 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
274
275 PR libfortran/85166
276 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
277 abort".
278 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
279
280 2018-04-19 Jakub Jelinek <jakub@redhat.com>
281
282 * configure: Regenerated.
283
284 2018-04-18 David Malcolm <dmalcolm@redhat.com>
285
286 PR jit/85384
287 * configure: Regenerate.
288
289 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
290 Tom de Vries <tom@codesourcery.com>
291
292 PR middle-end/84955
293 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
294 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
295
296 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
297
298 PR fortran/83064
299 PR testsuite/85346
300 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
301 test from gfortran.dg to here.
302
303 2018-04-05 Tom de Vries <tom@codesourcery.com>
304
305 PR target/85204
306 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
307
308 2018-03-26 Tom de Vries <tom@codesourcery.com>
309
310 PR tree-optimization/85063
311 * testsuite/libgomp.c/switch-conversion-2.c: New test.
312 * testsuite/libgomp.c/switch-conversion.c: New test.
313 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
314 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
315
316 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
317
318 PR fortran/84381
319 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
320 call abort by STOP n.
321 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
322 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
323 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
324 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
325 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
326 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
327 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
328 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
329 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
330 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
331 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
332 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
333 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
334 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
335 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
336 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
337 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
338 * testsuite/libgomp.fortran/associate1.f90: Likewise.
339 * testsuite/libgomp.fortran/associate2.f90: Likewise.
340 * testsuite/libgomp.fortran/associate3.f90: Likewise.
341 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
342 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
343 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
344 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
345 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
346 * testsuite/libgomp.fortran/character1.f90: Likewise.
347 * testsuite/libgomp.fortran/character2.f90: Likewise.
348 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
349 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
350 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
351 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
352 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
353 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
354 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
355 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
356 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
357 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
358 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
359 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
360 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
361 * testsuite/libgomp.fortran/do1.f90: Likewise.
362 * testsuite/libgomp.fortran/do2.f90: Likewise.
363 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
364 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
365 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
366 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
367 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
368 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
369 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
370 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
371 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
372 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
373 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
374 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
375 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
376 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
377 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
378 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
379 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
380 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
381 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
382 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
383 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
384 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
385 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
386 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
387 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
388 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
389 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
390 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
391 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
392 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
393 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
394 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
395 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
396 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
397 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
398 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
399 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
400 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
401 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
402 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
403 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
404 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
405 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
406 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
407 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
408 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
409 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
410 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
411 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
412 * testsuite/libgomp.fortran/lib1.f90: Likewise.
413 * testsuite/libgomp.fortran/lib2.f: Likewise.
414 * testsuite/libgomp.fortran/lib3.f: Likewise.
415 * testsuite/libgomp.fortran/lib4.f90: Likewise.
416 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
417 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
418 * testsuite/libgomp.fortran/nested1.f90: Likewise.
419 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
420 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
421 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
422 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
423 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
424 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
425 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
426 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
427 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
428 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
429 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
430 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
431 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
432 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
433 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
434 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
435 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
436 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
437 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
438 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
439 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
440 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
441 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
442 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
443 * testsuite/libgomp.fortran/pr25162.f: Likewise.
444 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
445 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
446 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
447 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
448 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
449 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
450 * testsuite/libgomp.fortran/pr28390.f: Likewise.
451 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
452 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
453 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
454 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
455 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
456 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
457 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
458 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
459 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
460 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
461 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
462 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
463 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
464 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
465 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
466 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
467 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
468 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
469 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
470 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
471 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
472 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
473 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
474 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
475 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
476 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
477 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
478 * testsuite/libgomp.fortran/reference1.f90: Likewise.
479 * testsuite/libgomp.fortran/reference2.f90: Likewise.
480 * testsuite/libgomp.fortran/retval1.f90: Likewise.
481 * testsuite/libgomp.fortran/retval2.f90: Likewise.
482 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
483 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
484 * testsuite/libgomp.fortran/simd1.f90: Likewise.
485 * testsuite/libgomp.fortran/simd2.f90: Likewise.
486 * testsuite/libgomp.fortran/simd3.f90: Likewise.
487 * testsuite/libgomp.fortran/simd4.f90: Likewise.
488 * testsuite/libgomp.fortran/simd5.f90: Likewise.
489 * testsuite/libgomp.fortran/simd6.f90: Likewise.
490 * testsuite/libgomp.fortran/simd7.f90: Likewise.
491 * testsuite/libgomp.fortran/stack.f90: Likewise.
492 * testsuite/libgomp.fortran/strassen.f90: Likewise.
493 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
494 * testsuite/libgomp.fortran/tabs2.f: Likewise.
495 * testsuite/libgomp.fortran/target1.f90: Likewise.
496 * testsuite/libgomp.fortran/target2.f90: Likewise.
497 * testsuite/libgomp.fortran/target3.f90: Likewise.
498 * testsuite/libgomp.fortran/target4.f90: Likewise.
499 * testsuite/libgomp.fortran/target5.f90: Likewise.
500 * testsuite/libgomp.fortran/target6.f90: Likewise.
501 * testsuite/libgomp.fortran/target7.f90: Likewise.
502 * testsuite/libgomp.fortran/target8.f90: Likewise.
503 * testsuite/libgomp.fortran/task1.f90: Likewise.
504 * testsuite/libgomp.fortran/task2.f90: Likewise.
505 * testsuite/libgomp.fortran/task3.f90: Likewise.
506 * testsuite/libgomp.fortran/task4.f90: Likewise.
507 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
508 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
509 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
510 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
511 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
512 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
513 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
514 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
515 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
516 * testsuite/libgomp.fortran/udr1.f90: Likewise.
517 * testsuite/libgomp.fortran/udr10.f90: Likewise.
518 * testsuite/libgomp.fortran/udr11.f90: Likewise.
519 * testsuite/libgomp.fortran/udr12.f90: Likewise.
520 * testsuite/libgomp.fortran/udr13.f90: Likewise.
521 * testsuite/libgomp.fortran/udr14.f90: Likewise.
522 * testsuite/libgomp.fortran/udr15.f90: Likewise.
523 * testsuite/libgomp.fortran/udr2.f90: Likewise.
524 * testsuite/libgomp.fortran/udr3.f90: Likewise.
525 * testsuite/libgomp.fortran/udr4.f90: Likewise.
526 * testsuite/libgomp.fortran/udr5.f90: Likewise.
527 * testsuite/libgomp.fortran/udr6.f90: Likewise.
528 * testsuite/libgomp.fortran/udr7.f90: Likewise.
529 * testsuite/libgomp.fortran/udr8.f90: Likewise.
530 * testsuite/libgomp.fortran/udr9.f90: Likewise.
531 * testsuite/libgomp.fortran/vla1.f90: Likewise.
532 * testsuite/libgomp.fortran/vla2.f90: Likewise.
533 * testsuite/libgomp.fortran/vla3.f90: Likewise.
534 * testsuite/libgomp.fortran/vla4.f90: Likewise.
535 * testsuite/libgomp.fortran/vla5.f90: Likewise.
536 * testsuite/libgomp.fortran/vla6.f90: Likewise.
537 * testsuite/libgomp.fortran/vla7.f90: Likewise.
538 * testsuite/libgomp.fortran/vla8.f90: Likewise.
539 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
540 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
541 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
542 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
543 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
544 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
545 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
546 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
547 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
548 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
549 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
550 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
551 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
552 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
553 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
554 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
555 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
556 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
557 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
558 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
559 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
560 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
561 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
562 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
563 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
564 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
565 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
566 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
567 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
568 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
569 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
570 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
571 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
572 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
573 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
574 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
575 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
576 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
577 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
578 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
579 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
580 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
581 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
582 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
583 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
584 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
585 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
586 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
587 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
588 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
589 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
590 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
591 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
592 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
593 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
594 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
595 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
596 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
597 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
598 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
599 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
600 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
601 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
602 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
603 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
604 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
605 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
606 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
607 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
608 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
609 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
610 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
611 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
612 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
613 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
614 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
615 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
616 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
617 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
618 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
619 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
620 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
621 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
622 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
623 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
624 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
625 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
626 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
627 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
628 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
629 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
630 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
631 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
632 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
633
634 2018-03-20 Richard Biener <rguenther@suse.de>
635
636 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
637 parallelizable loop.
638
639 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
640
641 PR target/84148
642 * configure: Regenerate.
643
644 2018-02-16 Jakub Jelinek <jakub@redhat.com>
645
646 PR fortran/84418
647 * libgomp.fortran/pr84418-1.f90: New test.
648 * libgomp.fortran/pr84418-2.f90: New test.
649
650 2018-02-14 Jakub Jelinek <jakub@redhat.com>
651
652 PR fortran/84313
653 * testsuite/libgomp.fortran/threadprivate4.f90: Add
654 -std=f2003 -fall-intrinsics into dg-additional-options.
655
656 2018-02-08 Martin Jambor <mjambor@suse.cz>
657
658 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
659 clonable.
660
661 2018-02-08 Martin Jambor <mjambor@suse.cz>
662
663 * testsuite/libgomp.hsa.c/staticvar.c: New test.
664
665 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
666
667 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
668 [__cplusplus]: Declare extern "C".
669
670 2018-02-07 Tom de Vries <tom@codesourcery.com>
671
672 PR libgomp/84217
673 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
674
675 2018-01-29 Christoph Spiel <cspiel@freenet.de>
676 Jakub Jelinek <jakub@redhat.com>
677
678 PR libgomp/84096
679 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
680 instead of omp_lock_t.
681
682 2018-01-25 Tom de Vries <tom@codesourcery.com>
683
684 PR target/84028
685 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
686
687 2018-01-24 Tom de Vries <tom@codesourcery.com>
688
689 PR target/83589
690 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
691
692 2018-01-24 Tom de Vries <tom@codesourcery.com>
693
694 PR target/81352
695 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
696
697 2018-01-19 Tom de Vries <tom@codesourcery.com>
698 Cesar Philippidis <cesar@codesourcery.com>
699
700 PR target/83920
701 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
702 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
703
704 2018-01-03 Jakub Jelinek <jakub@redhat.com>
705
706 Update copyright years.
707
708 * libgomp.texi: Bump @copying's copyright year.
709
710 2017-12-30 Tom de Vries <tom@codesourcery.com>
711
712 PR libgomp/83046
713 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
714 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
715
716 2017-12-27 Tom de Vries <tom@codesourcery.com>
717
718 PR c++/83046
719 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
720 (test_nonstatic): Fix return type to workaround PR83046.
721
722 2017-12-05 Jakub Jelinek <jakub@redhat.com>
723
724 PR testsuite/83281
725 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
726 j suffix instead of i.
727 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
728 Likewise.
729
730 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
731
732 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
733 call to acc_wait (1).
734
735 2017-11-24 Jakub Jelinek <jakub@redhat.com>
736
737 PR fortran/81304
738 * testsuite/libgomp.fortran/pr81304.f90: New test.
739
740 2017-11-23 Jakub Jelinek <jakub@redhat.com>
741
742 PR fortran/81841
743 * libgomp.fortran/pr81841.f90: New test.
744
745 2017-11-22 Jakub Jelinek <jakub@redhat.com>
746
747 PR libgomp/83106
748 * target.c (gomp_target_init): Compute lengths just once and
749 use them in both malloc size and subsequent copying.
750
751 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
752
753 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
754 * acinclude.m4: Add cet.m4.
755 * configure: Regenerate.
756 * Makefile.in: Likewise.
757 * testsuite/Makefile.in: Likewise.
758
759 2017-11-15 Tom de Vries <tom@codesourcery.com>
760
761 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
762 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
763 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
764 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
765 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
766 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
767
768 2017-11-14 Tom de Vries <tom@codesourcery.com>
769
770 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
771 non-nvidia devices.
772
773 2017-11-07 Jakub Jelinek <jakub@redhat.com>
774
775 PR c++/82835
776 * testsuite/libgomp.c++/pr82835.C: New test.
777
778 2017-11-06 Martin Liska <mliska@suse.cz>
779
780 * testsuite/libgomp.c++/loop-2.C: Return a value
781 for functions with non-void return type, or change type to void,
782 or add -Wno-return-type for test.
783 * testsuite/libgomp.c++/loop-4.C: Likewise.
784 * testsuite/libgomp.c++/parallel-1.C: Likewise.
785 * testsuite/libgomp.c++/shared-1.C: Likewise.
786 * testsuite/libgomp.c++/single-1.C: Likewise.
787 * testsuite/libgomp.c++/single-2.C: Likewise.
788
789 2017-10-31 Tom de Vries <tom@codesourcery.com>
790
791 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
792 "do {} while (false)".
793 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
794 after HSA_DEBUG call.
795
796 2017-10-28 Jakub Jelinek <jakub@redhat.com>
797
798 * target.c (struct gomp_coalesce_buf): New type.
799 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
800 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
801 (gomp_copy_host2dev): Add CBUF argument, if copying into
802 the cached ranges, memcpy into buffer instead of copying
803 into device.
804 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
805 Add CBUF argument, pass it through to other calls.
806 (gomp_map_vars): Aggregate copies from host to device if small enough
807 and with small enough gaps in between into memcpy into a buffer and
808 fewer host to device copies from the buffer.
809 (gomp_update): Adjust gomp_copy_host2dev caller.
810
811 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
812
813 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
814 run" directive.
815 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
816 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
817 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
818 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
819
820 2017-10-16 Tom de Vries <tom@codesourcery.com>
821
822 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
823 openacc_nvidia_accel_selected.
824 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
825 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
826 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
827 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
828 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
829 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
830 openacc_nvidia_accel_selected. Skip for shared memory device.
831 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
832 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
833
834 2017-10-09 Martin Jambor <mjambor@suse.cz>
835
836 PR hsa/82416
837 * testsuite/libgomp.hsa.c/pr82416.c: New test.
838
839 2017-10-07 Tom de Vries <tom@codesourcery.com>
840
841 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
842 Remove acc_device_nvidia references.
843 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
844 Same.
845
846 2017-10-05 Tom de Vries <tom@codesourcery.com>
847
848 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
849 vector_length(32) clause from acc parallel directive.
850 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
851
852 2017-10-04 Tom de Vries <tom@codesourcery.com>
853
854 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
855 (main): Reduce sum of arr elements. Assert that hres is exactly
856 representable in 32-bit floating point.
857 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
858 (main): Reduce sum of arr elements. Assert that hres and hmres are
859 exactly representable in 32-bit floating point.
860 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
861
862 2017-09-28 Tom de Vries <tom@codesourcery.com>
863
864 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
865 setting.
866 * testsuite/libgomp.c++/pr69393.C: Same.
867 * testsuite/libgomp.c++/taskloop-1.C: Same.
868 * testsuite/libgomp.c++/taskloop-3.C: Same.
869 * testsuite/libgomp.c++/taskloop-4.C: Same.
870 * testsuite/libgomp.c/for-4.c: Same.
871 * testsuite/libgomp.c/pr66199-3.c: Same.
872 * testsuite/libgomp.c/pr66199-4.c: Same.
873 * testsuite/libgomp.c/pr66199-6.c: Same.
874 * testsuite/libgomp.c/taskloop-1.c: Same.
875 * testsuite/libgomp.c/taskloop-3.c: Same.
876 * testsuite/libgomp.c/taskloop-4.c: Same.
877 * testsuite/libgomp.fortran/aligned1.f03: Same.
878 * testsuite/libgomp.fortran/condinc1.f: Same.
879 * testsuite/libgomp.fortran/condinc3.f90: Same.
880 * testsuite/libgomp.fortran/crayptr1.f90: Same.
881 * testsuite/libgomp.fortran/crayptr2.f90: Same.
882 * testsuite/libgomp.fortran/crayptr3.f90: Same.
883 * testsuite/libgomp.fortran/omp_cond1.f: Same.
884 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
885 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
886 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
887 * testsuite/libgomp.fortran/recursion1.f90: Same.
888 * testsuite/libgomp.fortran/target2.f90: Same.
889 * testsuite/libgomp.fortran/target5.f90: Same.
890 * testsuite/libgomp.fortran/task3.f90: Same.
891
892 2017-09-28 Tom de Vries <tom@codesourcery.com>
893
894 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
895 vector_length(32) clause from acc parallel directive.
896 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
897
898 2017-09-27 Tom de Vries <tom@codesourcery.com>
899
900 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
901 Remove acc_device_nvidia references.
902
903 2017-09-16 Tom de Vries <tom@codesourcery.com>
904
905 PR c/81875
906 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
907
908 2017-09-14 Tom de Vries <tom@codesourcery.com>
909
910 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
911 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
912 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
913 * testsuite/libgomp.c/c.exp: Include test-cases from
914 libgomp.c-c++-common.
915 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
916 files.
917
918 2017-09-14 Jakub Jelinek <jakub@redhat.com>
919
920 PR c++/81314
921 * testsuite/libgomp.c++/pr81314.C: New test.
922
923 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
924
925 * libgomp.texi (Top): www.openacc.org now uses https.
926 (Enabling OpenACC): Ditto.
927 (acc_get_num_devices): Ditto.
928 (acc_set_device_type): Ditto.
929 (acc_get_device_type): Ditto.
930 (acc_set_device_num): Ditto.
931 (acc_get_device_num): Ditto.
932 (acc_async_test): Ditto.
933 (acc_async_test_all): Ditto.
934 (acc_wait): Ditto.
935 (acc_wait_all): Ditto.
936 (acc_wait_all_async): Ditto.
937 (acc_wait_async): Ditto.
938 (acc_init): Ditto.
939 (acc_shutdown): Ditto.
940 (acc_on_device): Ditto.
941 (acc_malloc): Ditto.
942 (acc_free): Ditto.
943 (acc_copyin): Ditto.
944 (acc_present_or_copyin): Ditto.
945 (acc_create): Ditto.
946 (acc_present_or_create): Ditto.
947 (acc_copyout): Ditto.
948 (acc_delete): Ditto.
949 (acc_update_device): Ditto.
950 (acc_update_self): Ditto.
951 (acc_map_data): Ditto.
952 (acc_unmap_data): Ditto.
953 (acc_deviceptr): Ditto.
954 (acc_hostptr): Ditto.
955 (acc_is_present): Ditto.
956 (acc_memcpy_to_device): Ditto.
957 (acc_memcpy_from_device): Ditto.
958 (acc_get_current_cuda_device): Ditto.
959 (acc_get_current_cuda_context): Ditto.
960 (acc_get_cuda_stream): Ditto.
961 (acc_set_cuda_stream): Ditto.
962 (ACC_DEVICE_TYPE): Ditto.
963 (ACC_DEVICE_NUM): Ditto.
964 (OpenACC Library Interoperability): Ditto.
965
966 2017-08-09 Jakub Jelinek <jakub@redhat.com>
967
968 PR c/81687
969 * testsuite/libgomp.c/pr81687-1.c: New test.
970 * testsuite/libgomp.c/pr81687-2.c: New test.
971
972 2017-08-07 Jakub Jelinek <jakub@redhat.com>
973
974 PR c/69389
975 * testsuite/libgomp.c/pr69389.c: New test.
976 * testsuite/libgomp.c++/pr69389.C: New test.
977
978 2017-08-07 Tom de Vries <tom@codesourcery.com>
979
980 PR middle-end/78266
981 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
982 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
983
984 2017-07-27 Jakub Jelinek <jakub@redhat.com>
985
986 PR c/45784
987 * testsuite/libgomp.c/pr45784.c: New test.
988 * testsuite/libgomp.c++/pr45784.C: New test.
989
990 2017-07-19 Tom de Vries <tom@codesourcery.com>
991
992 * testsuite/libgomp.oacc-c/vec.c: New test.
993
994 2017-07-03 Tom de Vries <tom@codesourcery.com>
995
996 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
997
998 2017-06-27 Tom de Vries <tom@codesourcery.com>
999
1000 * plugin/plugin-nvptx.c (notify_var): New function.
1001 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
1002
1003 2017-06-27 Tom de Vries <tom@codesourcery.com>
1004
1005 * env.c (parse_unsigned_long_1): Factor out of ...
1006 (parse_unsigned_long): ... here.
1007 (parse_int_1): Factor out of ...
1008 (parse_int): ... here.
1009 (parse_int_secure): New function.
1010 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
1011 * secure_getenv.h: Factor out of ...
1012 * plugin/plugin-hsa.c: ... here.
1013 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
1014
1015 2017-06-21 Jakub Jelinek <jakub@redhat.com>
1016
1017 PR c++/81130
1018 * testsuite/libgomp.c++/pr81130.C: New test.
1019
1020 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1021
1022 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
1023 default args.
1024 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
1025 dg-xfail-run-if default args.
1026
1027 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1028
1029 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
1030 * testsuite/libgomp.c/pr39591-3.c: Likewise.
1031
1032 2017-05-30 Jakub Jelinek <jakub@redhat.com>
1033
1034 PR libgomp/80822
1035 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
1036 (gomp_affinity_init_level): Use it. Always analyze the core and thread
1037 sibling lists, depending on level just pick up what CPUs to put
1038 together into a place vs. whether add multiple ordered places.
1039
1040 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
1041
1042 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
1043 * libgomp.map (OACC_2.0.1): Add these.
1044 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
1045 for "acc_wait", and "acc_wait_all", respectively.
1046 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
1047 for "acc_wait", and "acc_wait_all", respectively.
1048 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
1049 * libgomp.texi (acc_wait, acc_wait_all): Update.
1050 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
1051 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
1052 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1053
1054 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
1055 acc_present_or_copyin and acc_present_or_create procedures,
1056 respectively.
1057 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
1058 generally different variants of OpenACC Runtime Library functions.
1059 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1060
1061 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
1062 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1063
1064 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
1065 of preprocessor definitions.
1066 * libgomp.h (strong_alias): Guard by "#ifdef
1067 HAVE_ATTRIBUTE_ALIAS".
1068 * oacc-mem.c: Provide "acc_pcreate" as alias for
1069 "acc_present_or_create", and "acc_pcopyin" as alias for
1070 "acc_present_or_copyin".
1071 * libgomp.map: New version "OACC_2.0.1".
1072 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
1073 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
1074 its content into...
1075 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
1076 Extend testing.
1077
1078 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
1079 when disabling nvptx offloading.
1080
1081 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
1082
1083 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
1084 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1085 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1086
1087 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
1088 * testsuite/lib/libgomp.exp
1089 (check_effective_target_openacc_nvidia_accel_configured): New
1090 proc.
1091 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
1092 (check_effective_target_c++): New procs.
1093 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
1094 (check_effective_target_c++): Likewise.
1095
1096 2017-05-22 Jakub Jelinek <jakub@redhat.com>
1097
1098 PR middle-end/80809
1099 * testsuite/libgomp.c/pr80809-2.c: New test.
1100 * testsuite/libgomp.c/pr80809-3.c: New test.
1101
1102 PR middle-end/80809
1103 * testsuite/libgomp.c/pr80809-1.c: New test.
1104
1105 PR middle-end/80853
1106 * testsuite/libgomp.c/pr80853.c: New test.
1107
1108 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
1109
1110 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
1111 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
1112 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1113 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1114 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
1115
1116 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
1117 Debug output for failure.
1118
1119 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1120
1121 * testsuite/lib/libgomp.exp: Load scanlang.exp.
1122
1123 2017-04-27 Jakub Jelinek <jakub@redhat.com>
1124
1125 PR bootstrap/80531
1126 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
1127 bootstrap compare failures.
1128
1129 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
1130
1131 * testsuite/libgomp.c/target-36.c: New testcase.
1132
1133 2017-04-13 Jakub Jelinek <jakub@redhat.com>
1134
1135 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
1136 instead of char.
1137
1138 2017-04-11 Jakub Jelinek <jakub@redhat.com>
1139
1140 PR libgomp/80394
1141 * testsuite/libgomp.c/pr80394.c: New test.
1142
1143 2017-04-04 Jakub Jelinek <jakub@redhat.com>
1144
1145 PR libgomp/79876
1146 * config/posix/thread-stacksize.h: New file.
1147 * config/darwin/thread-stacksize.h: New file.
1148 * config/nvptx/thread-stacksize.h: New file.
1149 * env.c: Include thread-stacksize.h.
1150 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
1151 instead of 0. Call pthread_attr_setstacksize even if
1152 GOMP_DEFAULT_STACKSIZE is non-zero.
1153
1154 2017-03-30 Jakub Jelinek <jakub@redhat.com>
1155
1156 * env.c (initialize_env): Initialize stacksize to 0.
1157
1158 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
1159
1160 PR c++/80029
1161 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
1162
1163 2017-03-08 Jakub Jelinek <jakub@redhat.com>
1164
1165 PR c/79940
1166 * testsuite/libgomp.c/pr79940.c: New test.
1167
1168 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1169
1170 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
1171 targets.
1172 Add __float128 options.
1173
1174 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
1175
1176 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
1177 hppa*-*-* dg-skip-if directive.
1178
1179 2017-02-09 Jakub Jelinek <jakub@redhat.com>
1180
1181 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
1182 dg-skip-if directive into a comment.
1183
1184 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
1185 Chung-Lin Tang <cltang@codesourcery.com>
1186
1187 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
1188 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
1189 add additional case.
1190 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
1191 "openacc_nvidia_accel_selected".
1192 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
1193 Add num_workers(8) clause.
1194
1195 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
1196
1197 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
1198 hppa*-*-*.
1199 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
1200 include complex.h on hppa*-*-hpux*.
1201 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
1202
1203 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
1204
1205 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
1206
1207 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
1208 GOMP_OFFLOAD_openacc_exec. Adjust all users.
1209 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
1210 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
1211 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
1212 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
1213 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
1214 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
1215 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
1216 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
1217
1218 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
1219
1220 * libgomp-plugin.h: #include <stdbool.h>.
1221 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
1222 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
1223 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
1224 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
1225 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
1226 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
1227 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
1228 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
1229 (GOMP_OFFLOAD_openacc_register_async_cleanup)
1230 (GOMP_OFFLOAD_openacc_async_test)
1231 (GOMP_OFFLOAD_openacc_async_test_all)
1232 (GOMP_OFFLOAD_openacc_async_wait)
1233 (GOMP_OFFLOAD_openacc_async_wait_async)
1234 (GOMP_OFFLOAD_openacc_async_wait_all)
1235 (GOMP_OFFLOAD_openacc_async_wait_all_async)
1236 (GOMP_OFFLOAD_openacc_async_set_async)
1237 (GOMP_OFFLOAD_openacc_create_thread_data)
1238 (GOMP_OFFLOAD_openacc_destroy_thread_data)
1239 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
1240 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
1241 (GOMP_OFFLOAD_openacc_get_cuda_stream)
1242 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
1243 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
1244 these.
1245 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
1246 (GOMP_OFFLOAD_unload_image): Fix argument types.
1247
1248 2017-01-26 Jakub Jelinek <jakub@redhat.com>
1249
1250 * testsuite/lib/libgomp.exp
1251 (check_effective_target_hsa_offloading_selected_nocache): Fix up
1252 check_compile invocation. Fix up removal of executable. Drop
1253 bogus "2>&1" argument.
1254
1255 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
1256 directive.
1257
1258 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
1259 Martin Jambor <mjambor@suse.cz>
1260
1261 * plugin/hsa.h: Moved to top level include.
1262 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
1263
1264 2017-01-21 Jakub Jelinek <jakub@redhat.com>
1265
1266 PR other/79046
1267 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
1268 of cat to get version from BASE-VER file.
1269 * testsuite/Makefile.in: Regenerated.
1270
1271 2017-01-19 Jakub Jelinek <jakub@redhat.com>
1272
1273 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
1274 for _WIN64.
1275
1276 2017-01-17 Jakub Jelinek <jakub@redhat.com>
1277
1278 * plugin/hsa.h: Add GCC runtime library exception.
1279 * plugin/hsa_ext_finalize.h: Likewise.
1280
1281 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
1282 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
1283 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
1284 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
1285 plugin/include/cuda as include dir and -ldl instead of -lcuda as
1286 library to link ptx plugin against.
1287 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
1288 (CUDA_CALLS): Define.
1289 (cuda_lib, cuda_lib_inited): New variables.
1290 (init_cuda_lib): New function.
1291 (CUDA_CALL_PREFIX): Define.
1292 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
1293 (CUDA_CALL): Use FN instead of (FN).
1294 (CUDA_CALL_NOCHECK): Define.
1295 (cuda_error, fini_streams_for_device, select_stream_for_async,
1296 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
1297 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
1298 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
1299 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
1300 CUDA_CALL_NOCHECK.
1301 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
1302 CUDA_CALL_NOCHECK.
1303 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
1304 Use CUDA_CALL_NOCHECK.
1305 * plugin/cuda/cuda.h: New file.
1306 * config.h.in: Regenerated.
1307 * configure: Regenerated.
1308
1309 PR other/79046
1310 * configure.ac: Add GCC_BASE_VER.
1311 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
1312 get version from BASE-VER file.
1313 * testsuite/Makefile.in: Regenerated.
1314 * configure: Regenerated.
1315 * Makefile.in: Regenerated.
1316
1317 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1318
1319 PR libgomp/60670
1320 * Makefile.am: Make fincludedir multilib-aware.
1321 * Makefile.in: Regenerate.
1322
1323 2017-01-01 Jakub Jelinek <jakub@redhat.com>
1324
1325 Update copyright years.
1326
1327 * libgomp.texi: Bump @copying's copyright year.
1328
1329 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
1330
1331 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
1332 pthread_spinlock_t instead of gomp_mutex_t lock.
1333 (gomp_get_thread_pool): Likewise.
1334 (gomp_release_thread_pool): Likewise.
1335 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
1336 Likewise.
1337
1338 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
1339
1340 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
1341 thread pool in case nthreads == 1.
1342
1343 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
1344
1345 * config/nvptx/env.c: Delete.
1346 * icv.c: Move definitions of ICV variables back ...
1347 * env.c: ...here. Do not compile environment-related functionality if
1348 LIBGOMP_OFFLOADED_ONLY is set.
1349
1350 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
1351
1352 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
1353 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
1354 * configure: Regenerate.
1355 * config.h.in: Likewise.
1356
1357 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
1358
1359 * Makefile.in: Regenerate with automake-1.11.6.
1360 * aclocal.m4: Likewise.
1361 * configure: Likewise.
1362 * testsuite/Makefile.in: Likewise.
1363
1364 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
1365
1366 * config/nvptx/critical.c: Delete to use generic implementation.
1367
1368 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
1369
1370 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
1371 ../../affinity.c as fallback.
1372 * config/nvptx/affinity.c: Delete to use fallback implementation.
1373
1374 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
1375 Jakub Jelinek <jakub@redhat.com>
1376 Dmitry Melnik <dm@ispras.ru>
1377
1378 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
1379 * Makefile.in. Regenerate.
1380 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
1381 (LIBGOMP_USE_PTHREADS): ...here; new define.
1382 * configure: Regenerate.
1383 * config.h.in: Likewise.
1384 * config/posix/affinity.c: Move to...
1385 * affinity.c: ...here (new file). Guard use of Pthreads-specific
1386 interface by LIBGOMP_USE_PTHREADS.
1387 * critical.c: Split out GOMP_atomic_{start,end} into...
1388 * atomic.c: ...here (new file).
1389 * env.c: Split out ICV definitions into...
1390 * icv.c: ...here (new file) and...
1391 * icv-device.c: ...here. New file.
1392 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
1393 (gomp_destroy_lock_30): Ditto.
1394 (gomp_set_lock_30): Ditto.
1395 (gomp_unset_lock_30): Ditto.
1396 (gomp_test_lock_30): Ditto.
1397 (gomp_init_nest_lock_30): Ditto.
1398 (gomp_destroy_nest_lock_30): Ditto.
1399 (gomp_set_nest_lock_30): Ditto.
1400 (gomp_unset_nest_lock_30): Ditto.
1401 (gomp_test_nest_lock_30): Ditto.
1402 * lock.c: New.
1403 * config/nvptx/lock.c: New.
1404 * config/nvptx/bar.c: New.
1405 * config/nvptx/bar.h: New.
1406 * config/nvptx/doacross.h: New.
1407 * config/nvptx/error.c: New.
1408 * config/nvptx/icv-device.c: New.
1409 * config/nvptx/mutex.h: New.
1410 * config/nvptx/pool.h: New.
1411 * config/nvptx/proc.c: New.
1412 * config/nvptx/ptrlock.h: New.
1413 * config/nvptx/sem.h: New.
1414 * config/nvptx/simple-bar.h: New.
1415 * config/nvptx/target.c: New.
1416 * config/nvptx/task.c: New.
1417 * config/nvptx/team.c: New.
1418 * config/nvptx/time.c: New.
1419 * config/posix/simple-bar.h: New.
1420 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
1421 (gomp_num_teams_var): Declare.
1422 (struct gomp_thread_pool): Change threads_dock member to
1423 gomp_simple_barrier_t.
1424 [__nvptx__] (gomp_thread): New implementation.
1425 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
1426 (gomp_thread_destructor): Ditto.
1427 (gomp_init_thread_affinity): Ditto.
1428 * team.c: Guard uses of Pthreads-specific interfaces by
1429 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
1430 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
1431 * config/nvptx/alloc.c: Delete.
1432 * config/nvptx/barrier.c: Ditto.
1433 * config/nvptx/fortran.c: Ditto.
1434 * config/nvptx/iter.c: Ditto.
1435 * config/nvptx/iter_ull.c: Ditto.
1436 * config/nvptx/loop.c: Ditto.
1437 * config/nvptx/loop_ull.c: Ditto.
1438 * config/nvptx/ordered.c: Ditto.
1439 * config/nvptx/parallel.c: Ditto.
1440 * config/nvptx/priority_queue.c: Ditto.
1441 * config/nvptx/sections.c: Ditto.
1442 * config/nvptx/single.c: Ditto.
1443 * config/nvptx/splay-tree.c: Ditto.
1444 * config/nvptx/work.c: Ditto.
1445 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
1446 -foffload=-lgfortran in addition to -lgfortran.
1447 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
1448 * plugin/plugin-nvptx.c: Include <limits.h>.
1449 (struct targ_fn_descriptor): Add new fields.
1450 (struct ptx_device): Ditto. Set them...
1451 (nvptx_open_device): ...here.
1452 (nvptx_adjust_launch_bounds): New.
1453 (nvptx_host2dev): Allow NULL 'nvthd'.
1454 (nvptx_dev2host): Ditto.
1455 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
1456 (link_ptx): Adjust log sizes.
1457 (nvptx_host2dev): Allow NULL 'nvthd'.
1458 (nvptx_dev2host): Ditto.
1459 (nvptx_set_clocktick): New. Use it...
1460 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
1461 fields.
1462 (GOMP_OFFLOAD_dev2dev): New.
1463 (nvptx_adjust_launch_bounds): New.
1464 (nvptx_stacks_size): New.
1465 (nvptx_stacks_alloc): New.
1466 (nvptx_stacks_free): New.
1467 (GOMP_OFFLOAD_run): New.
1468 (GOMP_OFFLOAD_async_run): New (stub).
1469
1470 2016-11-23 Martin Jambor <mjambor@suse.cz>
1471
1472 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
1473 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
1474 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1475
1476 2016-11-23 Martin Liska <mliska@suse.cz>
1477 Martin Jambor <mjambor@suse.cz>
1478
1479 * plugin/hsa.h: New file.
1480 * plugin/hsa_ext_finalize.h: New file.
1481 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
1482 header file unistd.h, and functions secure_getenv, __secure_getenv,
1483 getuid, geteuid, getgid and getegid.
1484 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
1485 -D_GNU_SOURCE.
1486 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
1487 Handle various cases of secure_getenv presence, add an implementation
1488 when we can test effective UID and GID.
1489 (struct hsa_runtime_fn_info): New structure.
1490 (hsa_runtime_fn_info hsa_fns): New variable.
1491 (hsa_runtime_lib): Likewise.
1492 (support_cpu_devices): Likewise.
1493 (init_enviroment_variables): Load newly introduced ENV
1494 variables.
1495 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
1496 (hsa_fatal): Likewise.
1497 (DLSYM_FN): New macro.
1498 (init_hsa_runtime_functions): New function.
1499 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
1500 structure. Depending on environment, also allow CPU devices.
1501 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
1502 (get_kernarg_memory_region): Likewise.
1503 (GOMP_OFFLOAD_init_device): Likewise.
1504 (destroy_hsa_program): Likewise.
1505 (init_basic_kernel_info): New function.
1506 (GOMP_OFFLOAD_load_image): Use it.
1507 (create_and_finalize_hsa_program): Call hsa run-time functions via
1508 hsa_fns structure.
1509 (create_single_kernel_dispatch): Likewise.
1510 (release_kernel_dispatch): Likewise.
1511 (init_single_kernel): Likewise.
1512 (parse_target_attributes): Allow up multiple HSA grid dimensions.
1513 (get_group_size): New function.
1514 (run_kernel): Likewise.
1515 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
1516 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
1517 structure.
1518 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
1519 * testsuite/libgomp-test-support.exp.in: Likewise.
1520 * Makefile.in: Regenerated.
1521 * aclocal.m4: Likewise.
1522 * config.h.in: Likewise.
1523 * configure: Likewise.
1524 * testsuite/Makefile.in: Likewise.
1525
1526 2016-11-15 Martin Jambor <mjambor@suse.cz>
1527 Alexander Monakov <amonakov@ispras.ru>
1528
1529 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
1530 mapping clauses to target constructs.
1531 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
1532
1533 2016-11-15 Matthias Klose <doko@ubuntu.com>
1534
1535 * configure: Regenerate.
1536
1537 2016-11-10 Jakub Jelinek <jakub@redhat.com>
1538
1539 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
1540 * omp_lib.h.in (openmp_version): Likewise.
1541 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
1542 of 201307.
1543 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1544
1545 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
1546 (fib_wrapper): Add map(from: x) clause.
1547 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
1548 (e_53_2): Likewise.
1549 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
1550 (accum): Add map(tmp) clause.
1551 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
1552 (accum): Add map(tofrom: tmp) clause.
1553 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
1554 (gramSchmidt): Likewise.
1555 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
1556 map(tofrom: sum) clause.
1557 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
1558 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
1559 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
1560 only allowed on the loop iterator.
1561 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
1562 * testsuite/libgomp.fortran/taskloop2.f90: New test.
1563 * testsuite/libgomp.fortran/taskloop4.f90: New test.
1564 * testsuite/libgomp.fortran/doacross1.f90: New test.
1565 * testsuite/libgomp.fortran/doacross3.f90: New test.
1566 * testsuite/libgomp.fortran/taskloop1.f90: New test.
1567 * testsuite/libgomp.fortran/taskloop3.f90: New test.
1568 * testsuite/libgomp.fortran/doacross2.f90: New test.
1569 * testsuite/libgomp.c/doacross-1.c (main): Add missing
1570 #pragma omp atomic read.
1571 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1572 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
1573
1574 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
1575 Nathan Sidwell <nathan@acm.org>
1576
1577 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
1578 to determine default geometry.
1579 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
1580 dimension.
1581
1582 2016-11-01 Jakub Jelinek <jakub@redhat.com>
1583
1584 * hashtab.h: Use standard GPLv3 with runtime exception
1585 boilerplate.
1586
1587 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
1588
1589 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
1590 size when allocating new thread.
1591
1592 2016-09-14 Marek Polacek <polacek@redhat.com>
1593
1594 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
1595
1596 2016-08-19 Jakub Jelinek <jakub@redhat.com>
1597
1598 PR fortran/71014
1599 * testsuite/libgomp.fortran/pr71014.f90: New test.
1600
1601 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
1602
1603 PR middle-end/70895
1604 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
1605 firstprivate clauses.
1606 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
1607 copy clauses.
1608 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1609 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
1610 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
1611 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1612 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1613 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
1614 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1615 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1616 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1617 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1618 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1619 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
1620
1621 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
1622
1623 PR fortran/70598
1624 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
1625
1626 2016-08-08 Jakub Jelinek <jakub@redhat.com>
1627
1628 PR c++/58706
1629 * testsuite/libgomp.c++/pr58706.C: New test.
1630
1631 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
1632
1633 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
1634 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
1635 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1636 Likewise.
1637 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
1638 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
1639 Likewise.
1640 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
1641
1642 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
1643 test, and don't hardcode -O0.
1644
1645 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
1646
1647 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
1648
1649 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
1650
1651 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
1652 test.
1653
1654 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
1655
1656 PR middle-end/71734
1657 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
1658 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
1659
1660 2016-07-01 Jakub Jelinek <jakub@redhat.com>
1661
1662 PR fortran/71717
1663 * testsuite/libgomp.fortran/associate3.f90: New test.
1664
1665 2016-06-17 Jakub Jelinek <jakub@redhat.com>
1666
1667 * testsuite/libgomp.c++/target-21.C: New test.
1668
1669 2016-06-16 Jakub Jelinek <jakub@redhat.com>
1670
1671 * testsuite/libgomp.c++/target-20.C: New test.
1672
1673 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
1674 Cesar Philippidis <cesar@codesourcery.com>
1675
1676 PR middle-end/71373
1677 * libgomp.oacc-c/nested-function-1.c: New file.
1678 * libgomp.oacc-c/nested-function-2.c: Likewise.
1679 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
1680 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
1681 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
1682
1683 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
1684
1685 PR c/71381
1686 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
1687 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
1688 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
1689
1690 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
1691
1692 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
1693 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
1694
1695 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
1696
1697 PR c/70688
1698 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
1699
1700 2016-05-26 Jakub Jelinek <jakub@redhat.com>
1701
1702 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
1703 instead of invalid schedule(static, 0).
1704 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1705
1706 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
1707
1708 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
1709 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
1710 parameter, use to set async stream around call to gomp_unmap_vars,
1711 call gomp_unmap_vars() with 'do_copyfrom' set to true.
1712 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
1713 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
1714 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
1715 (event_add): Add int parameter, initialize 'val' field when
1716 adding new ptx_event struct.
1717 (nvptx_evec): Adjust event_add() call arguments.
1718 (nvptx_host2dev): Likewise.
1719 (nvptx_dev2host): Likewise.
1720 (nvptx_wait_async): Likewise.
1721 (nvptx_wait_all_async): Likewise.
1722 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
1723 pass to event_add() call.
1724 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
1725 parameter.
1726 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
1727 call openacc.register_async_cleanup_func() hook.
1728 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
1729 * target.c (gomp_copy_from_async): Delete function.
1730 (gomp_map_vars): Remove async_refcount.
1731 (gomp_unmap_vars): Likewise.
1732 (gomp_load_image_to_device): Likewise.
1733 (omp_target_associate_ptr): Likewise.
1734 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
1735 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
1736 (gomp_copy_from_async): Remove.
1737
1738 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
1739
1740 * target.c (gomp_device_copy): New function.
1741 (gomp_copy_host2dev): Likewise.
1742 (gomp_copy_dev2host): Likewise.
1743 (gomp_free_device_memory): Likewise.
1744 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
1745 (gomp_map_pointer): Likewise.
1746 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
1747 NULL value from alloc_func plugin hook.
1748 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
1749 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
1750 (gomp_unmap_vars): Likewise.
1751 (gomp_update): Adjust to call gomp_copy_dev2host and
1752 gomp_copy_host2dev functions.
1753 (gomp_unload_image_from_device): Handle false value from
1754 unload_image_func plugin hook.
1755 (gomp_init_device): Handle false value from init_device_func
1756 plugin hook.
1757 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
1758 (omp_target_free): Adjust to call gomp_free_device_memory.
1759 (omp_target_memcpy): Handle return values from host2dev_func,
1760 dev2host_func, and dev2dev_func plugin hooks.
1761 (omp_target_memcpy_rect_worker): Likewise.
1762 (gomp_target_fini): Handle false value from fini_device_func
1763 plugin hook.
1764 * libgomp.h (struct gomp_device_descr): Adjust return type of
1765 init_device_func, fini_device_func, unload_image_func, free_func,
1766 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
1767 * oacc-init.c (acc_shutdown_1): Handle false value from
1768 fini_device_func plugin hook.
1769 * oacc-host.c (host_init_device): Change return type to bool.
1770 (host_fini_device): Likewise.
1771 (host_unload_image): Likewise.
1772 (host_free): Likewise.
1773 (host_dev2host): Likewise.
1774 (host_host2dev): Likewise.
1775 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
1776 (acc_memcpy_to_device): Likewise.
1777 (acc_memcpy_from_device): Likewise.
1778 (delete_copyout): Add libfnname parameter, handle free_func
1779 hook fatal error case.
1780 (acc_delete): Adjust delete_copyout call.
1781 (acc_copyout): Likewise.
1782 (update_dev_host): Move gomp_mutex_unlock to after
1783 host2dev/dev2host hook calls.
1784
1785 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
1786 to 'hsa_error_msg', for clarity.
1787 (hsa_fatal): Likewise.
1788 (hsa_error): New function.
1789 (init_hsa_context): Change return type to bool, adjust to return
1790 false on error.
1791 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
1792 return value.
1793 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
1794 return false on error.
1795 (get_agent_info): Adjust to return NULL on error.
1796 (destroy_hsa_program): Change return type to bool, adjust to
1797 return false on error.
1798 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
1799 (destroy_module): Change return type to bool, adjust to
1800 return false on error.
1801 (GOMP_OFFLOAD_unload_image): Likewise.
1802 (GOMP_OFFLOAD_fini_device): Likewise.
1803 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
1804 (GOMP_OFFLOAD_free): Change to return false when called.
1805 (GOMP_OFFLOAD_dev2host): Likewise.
1806 (GOMP_OFFLOAD_host2dev): Likewise.
1807 (GOMP_OFFLOAD_dev2dev): Likewise.
1808
1809 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
1810 (CUDA_CALL): Likewise.
1811 (CUDA_CALL_ASSERT): Likewise.
1812 (map_init): Change return type to bool, use CUDA_CALL* macros.
1813 (map_fini): Likewise.
1814 (init_streams_for_device): Change return type to bool, adjust
1815 call to map_init.
1816 (fini_streams_for_device): Change return type to bool, adjust
1817 call to map_fini.
1818 (select_stream_for_async): Release stream_lock before calls to
1819 GOMP_PLUGIN_fatal, adjust call to map_init.
1820 (nvptx_init): Use CUDA_CALL* macros.
1821 (nvptx_attach_host_thread_to_device): Change return type to bool,
1822 use CUDA_CALL* macros.
1823 (nvptx_open_device): Use CUDA_CALL* macros.
1824 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
1825 macros.
1826 (nvptx_get_num_devices): Use CUDA_CALL* macros.
1827 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
1828 (nvptx_exec): Use CUDA_CALL* macros.
1829 (nvptx_alloc): Use CUDA_CALL* macros.
1830 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
1831 (nvptx_host2dev): Likewise.
1832 (nvptx_dev2host): Likewise.
1833 (nvptx_wait): Use CUDA_CALL* macros.
1834 (nvptx_wait_async): Likewise.
1835 (nvptx_wait_all): Likewise.
1836 (nvptx_wait_all_async): Likewise.
1837 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
1838 use CUDA_CALL* macros, adjust call to map_fini.
1839 (GOMP_OFFLOAD_init_device): Change return type to bool,
1840 adjust code accordingly.
1841 (GOMP_OFFLOAD_fini_device): Likewise.
1842 (GOMP_OFFLOAD_load_image): Adjust calls to
1843 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
1844 use CUDA_CALL* macros.
1845 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
1846 return code.
1847 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
1848 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
1849 handle error return.
1850 (GOMP_OFFLOAD_dev2host): Likewise.
1851 (GOMP_OFFLOAD_host2dev): Likewise.
1852 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
1853 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
1854
1855 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
1856
1857 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
1858 (acc_free): Likewise.
1859 (acc_memcpy_to_device): Likewise.
1860 (acc_memcpy_from_device): Likewise.
1861 (acc_deviceptr): Likewise.
1862 (acc_hostptr): Likewise.
1863 (acc_is_present): Likewise.
1864 (acc_map_data): Likewise.
1865 (acc_unmap_data): Likewise.
1866 (present_create_copy): Likewise.
1867 (delete_copyout): Likewise.
1868 (update_dev_host): Likewise.
1869 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
1870 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
1871 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
1872 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1873 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
1874 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
1875 it only runs on nvptx targets.
1876 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1877 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1878 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1880 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1881 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1882 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1883 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1884 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1885 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1886 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1887 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1888 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1889 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1890 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1891 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1892 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1893 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1894 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1895 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1896 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1897 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1898 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1899
1900 2016-05-23 Martin Jambor <mjambor@suse.cz>
1901
1902 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
1903
1904 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
1905
1906 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
1907 to gomp_init_targets_once.
1908 (acc_set_device_type): Remove !cached_base_dev condition on call to
1909 gomp_init_targets_once, move call to before acc_device_lock acquire,
1910 to avoid deadlock.
1911 (acc_get_device_num): Remove !cached_base_dev condition on call to
1912 gomp_init_targets_once.
1913 (acc_set_device_num): Likewise.
1914
1915 2016-05-16 Martin Jambor <mjambor@suse.cz>
1916
1917 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
1918
1919 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
1920
1921 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
1922 expected partitioning.
1923
1924 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1925
1926 PR middle-end/70626
1927 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
1928 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
1929 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
1930
1931 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
1932
1933 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
1934 non-fatal.
1935
1936 2016-04-19 Jakub Jelinek <jakub@redhat.com>
1937
1938 PR middle-end/70680
1939 * testsuite/libgomp.c/pr70680-1.c: New test.
1940 * testsuite/libgomp.c/pr70680-2.c: New test.
1941
1942 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1943
1944 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
1945 pass parameter variables to subroutines.
1946
1947 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1948
1949 PR middle-end/70643
1950 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
1951
1952 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
1953
1954 PR testsuite/68242
1955 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
1956 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1957
1958 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
1959
1960 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
1961 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
1962 GOACC_declare prototype.
1963
1964 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
1965 Merge this file, and...
1966 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
1967 ... this file, and...
1968 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
1969 ... this file, and...
1970 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
1971 ... this file, and...
1972 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
1973 ... this file, and...
1974 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
1975 ... this file, and...
1976 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
1977 ... this file, and...
1978 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
1979 ... this file, and...
1980 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
1981 ... this file, and...
1982 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
1983 ... this file, and...
1984 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
1985 ... this file, and...
1986 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
1987 ... this file, and...
1988 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
1989 ... this file into...
1990 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
1991 file.
1992
1993 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1994 Make failure observable.
1995
1996 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1997
1998 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1999 field.
2000 * target.c (gomp_target_fallback_firstprivate,
2001 gomp_target_unshare_firstprivate): Removed.
2002 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
2003 before waiting for dependencies.
2004 (gomp_target_task_fn): Don't copy firstprivate vars here.
2005 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
2006 firstprivate_copies here.
2007 (gomp_create_target_task): Don't initialize firstprivate_copies field.
2008 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
2009 explicit/implicit firstprivate.
2010
2011 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
2012
2013 PR lto/70289
2014 PR ipa/70348
2015 PR tree-optimization/70373
2016 PR middle-end/70533
2017 PR middle-end/70534
2018 PR middle-end/70535
2019 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
2020 test.
2021 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
2022 test.
2023 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
2024 test.
2025 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
2026 test.
2027 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
2028 test.
2029 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
2030 test.
2031 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
2032 test.
2033 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
2034 test.
2035 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
2036 test.
2037 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
2038 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
2039 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
2040 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
2041 test.
2042 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
2043 test.
2044 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
2045 test.
2046 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
2047 test.
2048 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
2049 coverage.
2050 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2051 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2052 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
2053 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
2054 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
2055 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
2056 coverage.
2057 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2058 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2059 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2060 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2061 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
2062 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
2063 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
2064 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
2065 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
2066 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2067 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2068 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2069 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2070 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2071 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
2072
2073 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
2074 James Norris <jnorris@codesourcery.com>
2075 Nathan Sidwell <nathan@codesourcery.com>
2076 Julian Brown <julian@codesourcery.com>
2077 Cesar Philippidis <cesar@codesourcery.com>
2078 Chung-Lin Tang <cltang@codesourcery.com>
2079 Tom de Vries <tom@codesourcery.com>
2080
2081 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
2082 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
2083 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
2084 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
2085 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2086 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
2087 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
2088 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2089 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
2090 XFAIL.
2091 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2092 Incorporate...
2093 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
2094 file.
2095 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
2096 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
2097 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
2098 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
2099 Likewise.
2100 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2101 Likewise.
2102 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2103 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
2104 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2105 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2106 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
2107 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2108 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2109 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2110 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2111 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
2112 Likewise.
2113 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
2114 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2115 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
2116 file...
2117 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
2118 file into...
2119 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
2120 file. Update.
2121 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
2122 file.
2123 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
2124 Likewise.
2125 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
2126 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
2127 ... this new file. Update.
2128 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
2129 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
2130 ... this new file. Update.
2131 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
2132 file. Incorporate...
2133 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
2134 file, and...
2135 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
2136 file, and...
2137 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
2138 file.
2139 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
2140
2141 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
2142
2143 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
2144 set-torture-options.
2145
2146 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
2147
2148 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
2149 gcc-dg-runtest.
2150 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2151 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
2152 -fno-builtin-acc_on_device instead of -O0.
2153 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
2154 -O0.
2155 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2156 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
2157 Likewise.
2158 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2159 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2160 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2161 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2162 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2163 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2164 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2165 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2166 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2167 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2168 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2169 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2170 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2171 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
2172 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
2173 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2174 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
2175 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
2176 Don't specify -O2.
2177 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
2178 Likewise.
2179 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
2180 Likewise.
2181
2182 2016-03-24 Martin Liska <mliska@suse.cz>
2183
2184 * plugin/plugin-hsa.c (packet_store_release): New function
2185 that is taken from the HSA runtime manual.
2186 (GOMP_OFFLOAD_run): Use the function.
2187
2188 2016-03-23 Jakub Jelinek <jakub@redhat.com>
2189
2190 PR c++/70376
2191 * testsuite/libgomp.c++/pr70376.C: New test.
2192
2193 2016-03-23 Tom de Vries <tom@codesourcery.com>
2194
2195 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
2196 initialization of lresult and lvresult.
2197 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
2198
2199 2016-03-23 James Norris <jnorris@codesourcery.com>
2200 Daichi Fukuoka <dc-fukuoka@sgi.com>
2201
2202 PR libgomp/69414
2203 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
2204 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
2205 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
2206 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
2207
2208 2016-03-23 Martin Liska <mliska@suse.cz>
2209
2210 PR hsa/70337
2211 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
2212 argument just in case a dispatched kernel uses that argument.
2213
2214 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
2215
2216 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
2217 -ftree-parallelize-loops/-fopenacc changes.
2218 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
2219 Likewise.
2220 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
2221 Likewise.
2222 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
2223 Likewise.
2224 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
2225 Likewise.
2226 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2227 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2228
2229 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
2230
2231 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
2232 always_ld_library_path the path to libgcc_s.
2233
2234 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
2235
2236 PR testsuite/70009
2237 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
2238
2239 2016-03-09 Tom de Vries <tom@codesourcery.com>
2240
2241 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
2242 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
2243 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
2244 Same.
2245 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
2246 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
2247 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
2248 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
2249
2250 2016-03-07 Martin Jambor <mjambor@suse.cz>
2251
2252 * testsuite/lib/libgomp.exp
2253 (check_effective_target_hsa_offloading_selected_nocache): New.
2254 (check_effective_target_hsa_offloading_selected): Likewise.
2255 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2256 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
2257 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2258 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2259 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2260 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2261 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2262 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2263 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2264 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2265 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2266 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2267 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2268 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2269 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2270 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2271 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2272
2273 2016-03-07 Martin Jambor <mjambor@suse.cz>
2274
2275 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
2276 non-shared memory accelerators.
2277 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
2278 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
2279 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
2280 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
2281 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2282 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2283 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2284 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2285 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2286
2287 2016-03-07 Martin Jambor <mjambor@suse.cz>
2288
2289 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
2290 ALWAYS_CFLAGS.
2291
2292 2016-03-02 Jakub Jelinek <jakub@redhat.com>
2293
2294 PR libgomp/69555
2295 * testsuite/libgomp.c++/pr69555-1.C: New test.
2296 * testsuite/libgomp.c++/pr69555-2.C: New test.
2297
2298 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
2299 Martin Jambor <mjambor@suse.cz>
2300
2301 * testsuite/lib/libgomp.exp
2302 (check_effective_target_offload_device_shared_as): New proc.
2303 * testsuite/libgomp.c++/declare_target-1.C: New test.
2304
2305 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
2306
2307 PR driver/68463
2308 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
2309
2310 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
2311
2312 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
2313 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
2314 dims.
2315 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
2316 -ftree-parallelize-loops/-fopenacc changes.
2317 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
2318 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
2319 Likewise.
2320 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
2321 Likewise.
2322 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
2323 Likewise.
2324 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
2325 Likewise.
2326 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
2327 Likewise.
2328 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
2329 Likewise.
2330 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
2331 Likewise.
2332 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
2333 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
2334 Likewise.
2335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
2336 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
2337 Likewise.
2338 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
2339 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
2340 Likewise.
2341
2342 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
2343
2344 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
2345
2346 2016-02-19 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR driver/69805
2349 * testsuite/libgomp.c/pr69805.c: New test.
2350
2351 2016-02-16 Tom de Vries <tom@codesourcery.com>
2352
2353 PR lto/67709
2354 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
2355
2356 2016-02-09 Tom de Vries <tom@codesourcery.com>
2357
2358 PR tree-optimization/69599
2359 * testsuite/libgomp.c/omp-nested-3.c: New test.
2360 * testsuite/libgomp.c/pr46032-2.c: New test.
2361 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
2362 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
2363
2364 2016-02-09 Tom de Vries <tom@codesourcery.com>
2365
2366 PR lto/69707
2367 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
2368
2369 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
2370
2371 * testsuite/libgomp.c/target-31.c: Fix testcase.
2372
2373 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
2374
2375 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
2376 clause.
2377 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
2378 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
2379 reduction and map clauses.
2380 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2381
2382 2016-02-02 James Norris <jnorris@codesourcery.com>
2383
2384 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
2385
2386 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
2387
2388 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
2389 * oacc-parallel.c (GOACC_host_data): Remove function definition.
2390
2391 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
2392 cases.
2393
2394 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
2395 variables.
2396 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
2397 (hsa_kmt_lib): Set variables.
2398 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
2399 always_ld_library_path.
2400 * Makefile.in: Regenerate.
2401 * configure: Likewise.
2402 * testsuite/Makefile.in: Likewise.
2403
2404 * plugin/configfrag.ac (offload_additional_options)
2405 (offload_additional_lib_paths): Don't amend for hsa offloading.
2406 * configure: Regenerate.
2407
2408 * plugin/configfrag.ac: Don't configure for offloading target if
2409 we don't build the corresponding plugin.
2410 * configure: Regenerate.
2411
2412 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2413
2414 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
2415 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
2416
2417 2016-01-26 Tom de Vries <tom@codesourcery.com>
2418
2419 PR tree-optimization/69110
2420 * testsuite/libgomp.c/pr69110.c: New test.
2421
2422 2016-01-25 Richard Biener <rguenther@suse.de>
2423
2424 PR lto/69393
2425 * testsuite/libgomp.c++/pr69393.C: New testcase.
2426
2427 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
2428
2429 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
2430 function wasn't mapped to the device with non-shared memory.
2431
2432 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
2433
2434 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
2435
2436 2016-01-19 Martin Jambor <mjambor@suse.cz>
2437 Martin Liska <mliska@suse.cz>
2438
2439 * plugin/Makefrag.am: Add HSA plugin requirements.
2440 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
2441 (HSA_RUNTIME_LIB): Likewise.
2442 (HSA_RUNTIME_CPPFLAGS): Likewise.
2443 (HSA_RUNTIME_INCLUDE): New substitution.
2444 (HSA_RUNTIME_LIB): Likewise.
2445 (HSA_RUNTIME_LDFLAGS): Likewise.
2446 (hsa-runtime): New configure option.
2447 (hsa-runtime-include): Likewise.
2448 (hsa-runtime-lib): Likewise.
2449 (PLUGIN_HSA): New substitution variable.
2450 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
2451 configure options.
2452 (PLUGIN_HSA_CPPFLAGS): Likewise.
2453 (PLUGIN_HSA_LDFLAGS): Likewise.
2454 (PLUGIN_HSA_LIBS): Likewise.
2455 Check that we have access to HSA run-time.
2456 * libgomp-plugin.h (offload_target_type): New element
2457 OFFLOAD_TARGET_TYPE_HSA.
2458 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
2459 args.
2460 (bool gomp_create_target_task): Updated.
2461 (gomp_device_descr): Extra parameter of run_func and async_run_func,
2462 new field can_run_func.
2463 * libgomp_g.h (GOMP_target_ext): Update prototype.
2464 * oacc-host.c (host_run): Added a new parameter args.
2465 * target.c (calculate_firstprivate_requirements): New function.
2466 (copy_firstprivate_data): Likewise.
2467 (gomp_target_fallback_firstprivate): Use them.
2468 (gomp_target_unshare_firstprivate): New function.
2469 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
2470 devices.
2471 (GOMP_target): Do host fallback for all shared memory devices. Do not
2472 pass any args to plugins.
2473 (GOMP_target_ext): Introduce device-specific argument parameter args.
2474 Allow host fallback if device shares memory. Do not remap data if
2475 device has shared memory.
2476 (gomp_target_task_fn): Likewise. Also treat shared memory devices
2477 like host fallback for mappings.
2478 (GOMP_target_data): Treat shared memory devices like host fallback.
2479 (GOMP_target_data_ext): Likewise.
2480 (GOMP_target_update): Likewise.
2481 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
2482 gomp_create_target_task.
2483 (GOMP_target_enter_exit_data): Likewise.
2484 (omp_target_alloc): Treat shared memory devices like host fallback.
2485 (omp_target_free): Likewise.
2486 (omp_target_is_present): Likewise.
2487 (omp_target_memcpy): Likewise.
2488 (omp_target_memcpy_rect): Likewise.
2489 (omp_target_associate_ptr): Likewise.
2490 (gomp_load_plugin_for_device): Also load can_run.
2491 * task.c (GOMP_PLUGIN_target_task_completion): Free
2492 firstprivate_copies.
2493 (gomp_create_target_task): Accept new argument args and store it to
2494 ttask.
2495 * plugin/plugin-hsa.c: New file.
2496
2497 2016-01-18 Tom de Vries <tom@codesourcery.com>
2498
2499 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
2500 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
2501 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
2502 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
2503 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
2504 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
2505 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
2506 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
2507 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
2508 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
2509 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2510 Same.
2511 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2512 Same.
2513 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
2514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
2515 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
2516 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
2517 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
2518 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
2519 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
2520 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2521 Same.
2522 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
2523
2524 2016-01-15 Jakub Jelinek <jakub@redhat.com>
2525
2526 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
2527
2528 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
2529
2530 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
2531
2532 2016-01-12 James Norris <jnorris@codesourcery.com>
2533
2534 * libgomp.texi: Updates for OpenACC.
2535
2536 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
2537
2538 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
2539
2540 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
2541
2542 PR fortran/66680
2543 * testsuite/libgomp.fortran/pr66680.f90: New test.
2544
2545 2016-01-07 Jakub Jelinek <jakub@redhat.com>
2546
2547 PR middle-end/68960
2548 * testsuite/libgomp.c/pr68960.c: New test.
2549
2550 2016-01-06 Nathan Sidwell <nathan@acm.org>
2551
2552 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
2553 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
2554
2555 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2556
2557 Update copyright years.
2558
2559 * libgomp.texi: Bump @copying's copyright year.
2560
2561 2015-12-31 Nathan Sidwell <nathan@acm.org>
2562
2563 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
2564 dg-additional-options syntax.
2565 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2566 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2567 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
2568 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2569 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
2570 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2571 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2572 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2573 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2574 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
2575 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2576 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2577 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2578 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2579 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2580 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2581 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2582 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2583
2584 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2585
2586 * libgomp.h (REFCOUNT_LINK): Define.
2587 (struct splay_tree_key_s): Add link_key.
2588 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
2589 Replace target address of the pointer with target address of newly
2590 mapped object in the splay tree. Set link pointer on target to the
2591 device address of the mapped object.
2592 (gomp_unmap_vars): Restore target address of the pointer in the splay
2593 tree for REFCOUNT_LINK objects after unmapping.
2594 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
2595 declare target link" objects.
2596 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
2597 "omp declare target link" objects, which were mapped for the image.
2598 (gomp_exit_data): Restore target address of the pointer in the splay
2599 tree for REFCOUNT_LINK objects after unmapping.
2600 * testsuite/libgomp.c/target-link-1.c: New file.
2601
2602 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
2603
2604 * libgomp.h (gomp_device_state): New enum.
2605 (struct gomp_device_descr): Replace is_initialized with state.
2606 (gomp_fini_device): Remove declaration.
2607 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
2608 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
2609 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
2610 (acc_set_device_type): Use state instead of is_initialized.
2611 (acc_set_device_num): Likewise.
2612 * target.c (resolve_device): Use state instead of is_initialized.
2613 Do not initialize finalized device.
2614 (gomp_map_vars): Do nothing if device is finalized.
2615 (gomp_unmap_vars): Likewise.
2616 (gomp_update): Likewise.
2617 (GOMP_offload_register_ver): Use state instead of is_initialized.
2618 (GOMP_offload_unregister_ver): Likewise.
2619 (gomp_init_device): Likewise.
2620 (gomp_unload_device): Likewise.
2621 (gomp_fini_device): Remove.
2622 (gomp_get_target_fn_addr): Do nothing if device is finalized.
2623 (GOMP_target): Go to host fallback if device is finalized.
2624 (GOMP_target_ext): Likewise.
2625 (gomp_exit_data): Do nothing if device is finalized.
2626 (gomp_target_task_fn): Go to host fallback if device is finalized.
2627 (gomp_target_fini): New static function.
2628 (gomp_target_init): Use state instead of is_initialized.
2629 Call gomp_target_fini at exit.
2630
2631 2015-12-09 Tom de Vries <tom@codesourcery.com>
2632
2633 PR tree-optimization/68716
2634 * testsuite/libgomp.c/omp-nested-2.c: New test.
2635
2636 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
2637
2638 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
2639 target openacc_nvidia_accel_selected.
2640 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
2641 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
2642 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
2643 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
2644
2645 2015-12-01 Julian Brown <julian@codesourcery.com>
2646 James Norris <James_Norris@mentor.com>
2647
2648 * oacc-parallel.c (GOACC_host_data): New function.
2649 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
2650 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
2651 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
2652 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
2653 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
2654 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
2655 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
2656
2657 2015-11-30 James Norris <jnorris@codesourcery.com>
2658 Cesar Philippidis <cesar@codesourcery.com>
2659
2660 libgomp/
2661 * libgomp.oacc-fortran/routine-5.f90: New test.
2662 * libgomp.oacc-fortran/routine-7.f90: New test.
2663 * libgomp.oacc-fortran/routine-9.f90: New test.
2664
2665 2015-11-30 Tom de Vries <tom@codesourcery.com>
2666
2667 PR tree-optimization/46032
2668 * testsuite/libgomp.c/pr46032.c: New test.
2669
2670 2015-11-27 Jakub Jelinek <jakub@redhat.com>
2671
2672 PR libgomp/68579
2673 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
2674 (gomp_create_target_task): Call it before freeing
2675 GOMP_TARGET_TASK_DATA tasks.
2676
2677 PR c/63326
2678 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
2679 in between case label and OpenMP standalone directives.
2680 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
2681
2682 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
2683
2684 * configure: Regenerate.
2685
2686 2015-11-26 Jakub Jelinek <jakub@redhat.com>
2687
2688 * testsuite/libgomp.c/target-35.c: New test.
2689
2690 2015-11-22 James Norris <jnorris@codesourcery.com>
2691 Cesar Philippidis <cesar@codesourcery.com>
2692
2693 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
2694 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2695 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2696 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2697 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2698
2699 2015-11-20 Jakub Jelinek <jakub@redhat.com>
2700
2701 PR middle-end/68221
2702 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
2703 * testsuite/libgomp.c/reduction-12.c: Likewise.
2704 * testsuite/libgomp.c++/reduction-11.C: Likewise.
2705 * testsuite/libgomp.c++/reduction-12.C: Likewise.
2706
2707 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
2708
2709 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
2710 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
2711 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
2712 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
2713 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
2714 and fix.
2715 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2716 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2717
2718 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
2719
2720 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
2721 worker & gang cases.
2722 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
2723
2724 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
2725
2726 * config/nvptx/priority_queue.c: New file.
2727
2728 2015-11-14 Jakub Jelinek <jakub@redhat.com>
2729
2730 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
2731 sections.
2732
2733 2015-11-14 Jakub Jelinek <jakub@redhat.com>
2734 Aldy Hernandez <aldyh@redhat.com>
2735 Ilya Verbin <ilya.verbin@intel.com>
2736
2737 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
2738 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
2739 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
2740 iterators or IV by chunk size.
2741 * parallel.c (gomp_resolve_num_threads): Don't assume that
2742 if thr->ts.team is non-NULL, then pool must be non-NULL.
2743 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
2744 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
2745 GOMP_PLUGIN_target_task_completion.
2746 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
2747 * Makefile.in: Regenerate.
2748 * libgomp.h: Shuffle prototypes and forward definitions around so
2749 priority queues can be defined.
2750 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
2751 (enum gomp_target_task_state): New enum.
2752 (struct gomp_target_task): Add state, tgt, task and team fields.
2753 (gomp_create_target_task): Change return type to bool, add
2754 state argument.
2755 (gomp_target_task_fn): Change return type to bool.
2756 (struct gomp_device_descr): Add async_run_func.
2757 (struct gomp_task): Remove children, next_child, prev_child,
2758 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
2759 Add pnode field.
2760 (struct gomp_taskgroup): Remove children.
2761 Add taskgroup_queue.
2762 (struct gomp_team): Change task_queue type to a priority queue.
2763 (splay_compare): Define inline.
2764 (priority_queue_offset): New.
2765 (priority_node_to_task): New.
2766 (task_to_priority_node): New.
2767 * oacc-mem.c: Do not include splay-tree.h.
2768 * priority_queue.c: New file.
2769 * priority_queue.h: New file.
2770 * splay-tree.c: Do not include splay-tree.h.
2771 (splay_tree_foreach_internal): New.
2772 (splay_tree_foreach): New.
2773 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
2774 (splay_tree_callback): Define typedef.
2775 * target.c (splay_compare): Move to libgomp.h.
2776 (GOMP_target): Don't adjust *thr in any way around running offloaded
2777 task.
2778 (GOMP_target_ext): Likewise. Handle target nowait.
2779 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
2780 return value from gomp_create_target_task, if false, fallthrough
2781 as if no dependencies exist.
2782 (gomp_target_task_fn): Change return type to bool, return true
2783 if the task should have another part scheduled later. Handle
2784 target nowait.
2785 (gomp_load_plugin_for_device): Initialize async_run.
2786 * task.c (gomp_init_task): Initialize children_queue.
2787 (gomp_clear_parent_in_list): New.
2788 (gomp_clear_parent_in_tree): New.
2789 (gomp_clear_parent): Handle priorities.
2790 (GOMP_task): Likewise.
2791 (priority_queue_move_task_first,
2792 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
2793 New functions.
2794 (gomp_create_target_task): Use priority queues. Change return type
2795 to bool, add state argument, return false if for async
2796 {{enter,exit} data,update} constructs no dependencies need to be
2797 waited for, handle target nowait. Set task->fn to NULL instead of
2798 gomp_target_task_fn.
2799 (verify_children_queue): Remove.
2800 (priority_list_upgrade_task): New.
2801 (priority_queue_upgrade_task): New.
2802 (verify_task_queue): Remove.
2803 (priority_list_downgrade_task): New.
2804 (priority_queue_downgrade_task): New.
2805 (gomp_task_run_pre): Use priority queues.
2806 Abstract code out to priority_queue_downgrade_task.
2807 (gomp_task_run_post_handle_dependers): Use priority queues.
2808 (gomp_task_run_post_remove_parent): Likewise.
2809 (gomp_task_run_post_remove_taskgroup): Likewise.
2810 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
2811 tasks specially.
2812 (GOMP_taskwait): Likewise.
2813 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
2814 priority-queue_upgrade_task.
2815 (GOMP_taskgroup_start): Use priority queues.
2816 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
2817 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
2818 barrier.
2819 * taskloop.c (GOMP_taskloop): Handle priorities.
2820 * team.c (gomp_new_team): Call priority_queue_init.
2821 (free_team): Call priority_queue_free.
2822 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
2823 team created for target nowait in implicit parallel region.
2824 (gomp_team_start): For nested check, test thr->ts.level instead of
2825 thr->ts.team != NULL.
2826 * testsuite/libgomp.c/doacross-3.c: New test.
2827 * testsuite/libgomp.c/ordered-5.c: New test.
2828 * testsuite/libgomp.c/priority.c: New test.
2829 * testsuite/libgomp.c/target-31.c: New test.
2830 * testsuite/libgomp.c/target-32.c: New test.
2831 * testsuite/libgomp.c/target-33.c: New test.
2832 * testsuite/libgomp.c/target-34.c: New test.
2833
2834 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2835
2836 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
2837
2838 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
2839 loop is sequential.
2840
2841 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2842
2843 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
2844 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
2845
2846 2015-11-12 James Norris <jnorris@codesourcery.com>
2847 Joseph Myers <joseph@codesourcery.com>
2848
2849 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
2850 * oacc-parallel.c (GOACC_declare): New function.
2851 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
2852 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
2853 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
2854 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
2855 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
2856
2857 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
2858
2859 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
2860
2861 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
2862
2863 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
2864 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
2865
2866 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2867
2868 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
2869 inadvertent commit.
2870
2871 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2872
2873 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
2874 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
2875 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
2876 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
2877 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
2878
2879 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
2880
2881 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
2882 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2883
2884 2015-11-05 Jakub Jelinek <jakub@redhat.com>
2885 Ilya Verbin <ilya.verbin@intel.com>
2886
2887 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
2888 GOMP_loop_nonmonotonic_dynamic_start,
2889 GOMP_loop_nonmonotonic_guided_next,
2890 GOMP_loop_nonmonotonic_guided_start,
2891 GOMP_loop_ull_nonmonotonic_dynamic_next,
2892 GOMP_loop_ull_nonmonotonic_dynamic_start,
2893 GOMP_loop_ull_nonmonotonic_guided_next,
2894 GOMP_loop_ull_nonmonotonic_guided_start,
2895 GOMP_parallel_loop_nonmonotonic_dynamic,
2896 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
2897 (GOMP_target_41): Renamed to ...
2898 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2899 arguments.
2900 (GOMP_target_data_41): Renamed to ...
2901 (GOMP_target_data_ext): ... this.
2902 (GOMP_target_update_41): Renamed to ...
2903 (GOMP_target_update_ext): ... this.
2904 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
2905 GOMP_target_data_ext and GOMP_target_update_ext instead of
2906 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
2907 Export GOMP_loop_nonmonotonic_dynamic_next,
2908 GOMP_loop_nonmonotonic_dynamic_start,
2909 GOMP_loop_nonmonotonic_guided_next,
2910 GOMP_loop_nonmonotonic_guided_start,
2911 GOMP_loop_ull_nonmonotonic_dynamic_next,
2912 GOMP_loop_ull_nonmonotonic_dynamic_start,
2913 GOMP_loop_ull_nonmonotonic_guided_next,
2914 GOMP_loop_ull_nonmonotonic_guided_start,
2915 GOMP_parallel_loop_nonmonotonic_dynamic and
2916 GOMP_parallel_loop_nonmonotonic_guided.
2917 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
2918 GOMP_parallel_loop_nonmonotonic_guided,
2919 GOMP_loop_nonmonotonic_dynamic_start,
2920 GOMP_loop_nonmonotonic_guided_start,
2921 GOMP_loop_nonmonotonic_dynamic_next,
2922 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
2923 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
2924 GOMP_loop_ull_nonmonotonic_guided_start,
2925 GOMP_loop_ull_nonmonotonic_dynamic_next,
2926 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
2927 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
2928 functions.
2929 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
2930 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
2931 Use gomp_map_val function.
2932 (gomp_target_fallback_firstprivate): New static function.
2933 (GOMP_target_41): Renamed to ...
2934 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2935 arguments. Move firstprivate fallback handling into a new
2936 function.
2937 (GOMP_target_data_41): Renamed to ...
2938 (GOMP_target_data_ext): ... this.
2939 (GOMP_target_update_41): Renamed to ...
2940 (GOMP_target_update_ext): ... this.
2941 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
2942 gomp_map_0len_lookup instead of gomp_map_lookup.
2943 (omp_target_is_present): Use gomp_map_0len_lookup instead of
2944 gomp_map_lookup.
2945 * testsuite/libgomp.c/target-28.c: Likewise.
2946 * testsuite/libgomp.c/monotonic-1.c: New test.
2947 * testsuite/libgomp.c/monotonic-2.c: New test.
2948 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
2949 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
2950 * testsuite/libgomp.c/pr66199-5.c: New test.
2951 * testsuite/libgomp.c/pr66199-6.c: New test.
2952 * testsuite/libgomp.c/pr66199-7.c: New test.
2953 * testsuite/libgomp.c/pr66199-8.c: New test.
2954 * testsuite/libgomp.c/pr66199-9.c: New test.
2955 * testsuite/libgomp.c/reduction-11.c: New test.
2956 * testsuite/libgomp.c/reduction-12.c: New test.
2957 * testsuite/libgomp.c/reduction-13.c: New test.
2958 * testsuite/libgomp.c/reduction-14.c: New test.
2959 * testsuite/libgomp.c/reduction-15.c: New test.
2960 * testsuite/libgomp.c/target-12.c (main): Adjust for
2961 omp_target_is_present change for one-past-last element.
2962 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
2963 the same var is both mapped and privatized.
2964 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
2965 handling of zero-length array sections.
2966 * testsuite/libgomp.c/target-28.c: New test.
2967 * testsuite/libgomp.c/target-29.c: New test.
2968 * testsuite/libgomp.c/target-30.c: New test.
2969 * testsuite/libgomp.c/target-teams-1.c: New test.
2970 * testsuite/libgomp.c++/member-6.C: New test.
2971 * testsuite/libgomp.c++/member-7.C: New test.
2972 * testsuite/libgomp.c++/monotonic-1.C: New test.
2973 * testsuite/libgomp.c++/monotonic-2.C: New test.
2974 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
2975 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
2976 * testsuite/libgomp.c++/pr66199-3.C: New test.
2977 * testsuite/libgomp.c++/pr66199-4.C: New test.
2978 * testsuite/libgomp.c++/pr66199-5.C: New test.
2979 * testsuite/libgomp.c++/pr66199-6.C: New test.
2980 * testsuite/libgomp.c++/pr66199-7.C: New test.
2981 * testsuite/libgomp.c++/pr66199-8.C: New test.
2982 * testsuite/libgomp.c++/pr66199-9.C: New test.
2983 * testsuite/libgomp.c++/reduction-11.C: New test.
2984 * testsuite/libgomp.c++/reduction-12.C: New test.
2985 * testsuite/libgomp.c++/target-13.C: New test.
2986 * testsuite/libgomp.c++/target-14.C: New test.
2987 * testsuite/libgomp.c++/target-15.C: New test.
2988 * testsuite/libgomp.c++/target-16.C: New test.
2989 * testsuite/libgomp.c++/target-17.C: New test.
2990 * testsuite/libgomp.c++/target-18.C: New test.
2991 * testsuite/libgomp.c++/target-19.C: New test.
2992
2993 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2994
2995 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2996 and reduction copy.
2997 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2998 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2999 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3000 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3001 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
3002 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3003 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3004 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3005 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3006 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
3007 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
3008 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3009 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3010 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
3011
3012 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
3013
3014 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
3015 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
3016 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
3017 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
3018 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
3019 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
3020 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
3021 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
3022
3023 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
3024
3025 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
3026 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
3027 (GOMP_OFFLOAD_openacc_parallel): Likewise.
3028 * oacc-host.c (host_openacc_exec): Likewise.
3029 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
3030
3031 2015-11-03 Julian Brown <julian@codesourcery.com>
3032 Thomas Schwinge <thomas@codesourcery.com>
3033
3034 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
3035 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3036 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
3037 Likewise.
3038 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
3039 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
3040
3041 2015-11-03 James Norris <jnorris@codesourcery.com>
3042
3043 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
3044 file.
3045 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
3046 Likewise.
3047 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
3048 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
3049 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3050 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
3051 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3052
3053 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
3054
3055 * openacc.h (enum acc_device_t): Reformat. Ensure layout
3056 compatibility.
3057 (enum acc_async_t): Reformat.
3058 (acc_on_device): Declare compatible with builtin and provide C++
3059 wrapper.
3060 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
3061
3062 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
3063 Cesar Philippidis <cesar@codesourcery.com>
3064
3065 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
3066 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
3067 ... this. Add a description of the test at the top of the file.
3068 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
3069 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
3070 ... this. Add a description of the test at the top of the file.
3071
3072 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
3073
3074 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
3075 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
3076 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
3077 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
3078 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
3079 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
3080
3081 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3082
3083 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
3084 dimensions.
3085
3086 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
3087
3088 PR testsuite/68063
3089 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
3090
3091 2015-10-27 James Norris <jnorris@codesourcery.com>
3092
3093 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
3094 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
3095
3096 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
3097
3098 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
3099 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3100
3101 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
3102 acc_device_nvidia usage.
3103 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
3104 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3105 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
3106
3107 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
3108 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
3109
3110 PR libgomp/66518
3111 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
3112
3113 PR libgomp/65437
3114 PR libgomp/66518
3115 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
3116 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
3117
3118 2015-10-23 Tom de Vries <tom@codesourcery.com>
3119
3120 PR testsuite/68063
3121 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
3122
3123 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
3124
3125 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
3126 vector_length.
3127 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3128
3129 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
3130 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
3131
3132 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
3133 to 0 when mapnum is 0.
3134
3135 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
3136
3137 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
3138 Cast to int from int32_t.
3139
3140 2015-10-13 Jakub Jelinek <jakub@redhat.com>
3141 Aldy Hernandez <aldyh@redhat.com>
3142 Ilya Verbin <ilya.verbin@intel.com>
3143
3144 * config/linux/affinity.c (omp_get_place_num_procs,
3145 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
3146 * config/linux/doacross.h: New file.
3147 * config/posix/affinity.c (omp_get_place_num_procs,
3148 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
3149 * config/posix/doacross.h: New file.
3150 * env.c: Include gomp-constants.h.
3151 (struct gomp_task_icv): Rename run_sched_modifier to
3152 run_sched_chunk_size.
3153 (gomp_max_task_priority_var): New variable.
3154 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
3155 (handle_omp_display_env): Change _OPENMP value from 201307 to
3156 201511. Print OMP_MAX_TASK_PRIORITY.
3157 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
3158 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
3159 chunk_size and run_sched_modifier to run_sched_chunk_size.
3160 (omp_get_max_task_priority, omp_get_initial_device,
3161 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
3162 omp_get_partition_place_nums): New functions.
3163 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
3164 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
3165 to chunk_size.
3166 (omp_get_num_places_, omp_get_place_num_procs_,
3167 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
3168 omp_get_place_proc_ids_8_, omp_get_place_num_,
3169 omp_get_partition_num_places_, omp_get_partition_place_nums_,
3170 omp_get_partition_place_nums_8_, omp_get_initial_device_,
3171 omp_get_max_task_priority_): New functions.
3172 * libgomp_g.h (GOMP_loop_doacross_static_start,
3173 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
3174 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
3175 GOMP_loop_ull_doacross_dynamic_start,
3176 GOMP_loop_ull_doacross_guided_start,
3177 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
3178 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
3179 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
3180 GOMP_target_data_41, GOMP_target_update_41,
3181 GOMP_target_enter_exit_data): New prototypes.
3182 (GOMP_task): Add prototype argument.
3183 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
3184 (struct gomp_doacross_work_share): New type.
3185 (struct gomp_work_share): Add doacross field.
3186 (struct gomp_task_icv): Rename run_sched_modifier to
3187 run_sched_chunk_size.
3188 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
3189 GOMP_TASK_UNDEFERRED. Add comments.
3190 (struct gomp_task_depend_entry): Add comments.
3191 (struct gomp_task): Likewise.
3192 (struct gomp_taskgroup): Likewise.
3193 (struct gomp_target_task): New type.
3194 (struct gomp_team): Add comment.
3195 (gomp_get_place_proc_ids_8, gomp_doacross_init,
3196 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
3197 gomp_create_target_task, gomp_target_task_fn): New prototypes.
3198 (struct target_var_desc): New type.
3199 (struct target_mem_desc): Adjust comment. Use struct
3200 target_var_desc instead of splay_tree_key for list.
3201 (REFCOUNT_INFINITY): Define.
3202 (struct splay_tree_key_s): Remove copy_from field.
3203 (struct gomp_device_descr): Add dev2dev_func field.
3204 (enum gomp_map_vars_kind): New enum.
3205 (gomp_map_vars): Add one argument.
3206 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
3207 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
3208 omp_get_place_num_procs, omp_get_place_num_procs_,
3209 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
3210 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
3211 omp_get_place_num_, omp_get_partition_num_places,
3212 omp_get_partition_num_places_, omp_get_partition_place_nums,
3213 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
3214 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
3215 omp_target_free, omp_target_is_present, omp_target_memcpy,
3216 omp_target_memcpy_rect, omp_target_associate_ptr and
3217 omp_target_disassociate_ptr.
3218 (GOMP_4.0.2): Renamed to ...
3219 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
3220 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
3221 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
3222 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
3223 GOMP_loop_doacross_static_start, GOMP_doacross_post,
3224 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
3225 GOMP_loop_ull_doacross_guided_start,
3226 GOMP_loop_ull_doacross_runtime_start,
3227 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
3228 GOMP_doacross_ull_wait.
3229 * libgomp.texi: Document omp_get_max_task_priority.
3230 Rename modifier argument to chunk_size for omp_set_schedule and
3231 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
3232 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
3233 to run_sched_chunk_size renaming.
3234 (GOMP_loop_ordered_runtime_start): Likewise.
3235 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3236 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
3237 GOMP_parallel_loop_runtime_start): New functions.
3238 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
3239 to run_sched_chunk_size renaming.
3240 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
3241 GOMP_loop_doacross_guided_start): New functions or aliases.
3242 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
3243 run_sched_modifier to run_sched_chunk_size renaming.
3244 (GOMP_loop_ull_ordered_runtime_start): Likewise.
3245 (gomp_loop_ull_doacross_static_start,
3246 gomp_loop_ull_doacross_dynamic_start,
3247 gomp_loop_ull_doacross_guided_start,
3248 GOMP_loop_ull_doacross_runtime_start): New functions.
3249 (GOMP_loop_ull_doacross_static_start,
3250 GOMP_loop_ull_doacross_dynamic_start,
3251 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
3252 * oacc-mem.c (acc_map_data, present_create_copy,
3253 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
3254 to gomp_map_vars.
3255 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
3256 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
3257 instead of false to gomp_map_vars.
3258 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
3259 * omp.h.in (omp_lock_hint_t): New type.
3260 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3261 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3262 omp_get_place_num, omp_get_partition_num_places,
3263 omp_get_partition_place_nums, omp_get_initial_device,
3264 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
3265 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
3266 omp_target_associate_ptr, omp_target_disassociate_ptr): New
3267 prototypes.
3268 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
3269 (omp_lock_hint_none, omp_lock_hint_uncontended,
3270 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
3271 omp_lock_hint_speculative): New parameters.
3272 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3273 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3274 omp_get_place_num, omp_get_partition_num_places,
3275 omp_get_partition_place_nums, omp_get_initial_device,
3276 omp_get_max_task_priority): New interfaces.
3277 (omp_set_schedule, omp_get_schedule): Rename modifier argument
3278 to chunk_size.
3279 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
3280 (omp_lock_hint_none, omp_lock_hint_uncontended,
3281 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
3282 omp_lock_hint_speculative): New parameters.
3283 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3284 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3285 omp_get_place_num, omp_get_partition_num_places,
3286 omp_get_partition_place_nums, omp_get_initial_device,
3287 omp_get_max_task_priority): New functions and subroutines.
3288 * ordered.c: Include stdarg.h and string.h.
3289 (MAX_COLLAPSED_BITS): Define.
3290 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
3291 gomp_doacross_ull_init, GOMP_doacross_ull_post,
3292 GOMP_doacross_ull_wait): New functions.
3293 * target.c: Include errno.h.
3294 (resolve_device): If device is not initialized, call
3295 gomp_init_device on it.
3296 (gomp_map_lookup): New function.
3297 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
3298 Don't bump refcount if REFCOUNT_INFINITY. Handle
3299 GOMP_MAP_ALWAYS_TO_P.
3300 (get_kind): Rename is_openacc argument to short_mapkind.
3301 (gomp_map_pointer): Use gomp_map_lookup.
3302 (gomp_map_fields_existing): New function.
3303 (gomp_map_vars): Rename is_openacc argument to short_mapkind
3304 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
3305 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
3306 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
3307 Adjust for tgt->list changed type and copy_from living in there.
3308 (gomp_copy_from_async): Adjust for tgt->list changed type and
3309 copy_from living in there.
3310 (gomp_unmap_vars): Likewise.
3311 (gomp_update): Likewise. Rename is_openacc argument to
3312 short_mapkind. Don't fail if object is not mapped.
3313 (gomp_load_image_to_device): Initialize refcount to
3314 REFCOUNT_INFINITY.
3315 (gomp_target_fallback): New function.
3316 (gomp_get_target_fn_addr): Likewise.
3317 (GOMP_target): Adjust gomp_map_vars caller, use
3318 gomp_get_target_fn_addr and gomp_target_fallback.
3319 (GOMP_target_41): New function.
3320 (gomp_target_data_fallback): New function.
3321 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
3322 (GOMP_target_data_41): New function.
3323 (GOMP_target_update): Adjust gomp_update caller.
3324 (GOMP_target_update_41): New function.
3325 (gomp_exit_data, GOMP_target_enter_exit_data,
3326 gomp_target_task_fn, omp_target_alloc, omp_target_free,
3327 omp_target_is_present, omp_target_memcpy,
3328 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
3329 omp_target_associate_ptr, omp_target_disassociate_ptr,
3330 gomp_load_plugin_for_device): New functions.
3331 * task.c: Include gomp-constants.h. Include taskloop.c
3332 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
3333 (gomp_task_handle_depend): New function.
3334 (GOMP_task): Use it. Add priority argument. Use
3335 gomp-constant.h constants instead of hardcoded numbers.
3336 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
3337 (gomp_create_target_task): New function.
3338 (verify_children_queue, verify_taskgroup_queue,
3339 verify_task_queue): New functions.
3340 (gomp_task_run_pre): Call verify_*_queue functions.
3341 If an upcoming tied task is about to leave the sibling or
3342 taskgroup queues in an invalid state, adjust appropriately.
3343 Remove taskgroup argument. Add comments.
3344 (gomp_task_run_post_handle_dependers): Add comments.
3345 (gomp_task_run_post_remove_parent): Likewise.
3346 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
3347 (GOMP_taskwait): Likewise. Add comments.
3348 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
3349 problem such that the first non parent_depends_on task does not
3350 end up at the end of the children queue.
3351 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
3352 GOMP_TASK_UNDEFERRED.
3353 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
3354 * taskloop.c: New file.
3355 * testsuite/lib/libgomp.exp
3356 (check_effective_target_offload_device_nonshared_as): New proc.
3357 * testsuite/libgomp.c/affinity-2.c: New test.
3358 * testsuite/libgomp.c/doacross-1.c: New test.
3359 * testsuite/libgomp.c/doacross-2.c: New test.
3360 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
3361 Add map clause to target.
3362 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
3363 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
3364 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
3365 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
3366 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
3367 Likewise.
3368 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
3369 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
3370 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
3371 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
3372 not defined. Use those where needed.
3373 * testsuite/libgomp.c/for-4.c: New test.
3374 * testsuite/libgomp.c/for-5.c: New test.
3375 * testsuite/libgomp.c/for-6.c: New test.
3376 * testsuite/libgomp.c/linear-1.c: New test.
3377 * testsuite/libgomp.c/ordered-4.c: New test.
3378 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
3379 only allowed on the loop iterator.
3380 * testsuite/libgomp.c/pr66199-3.c: New test.
3381 * testsuite/libgomp.c/pr66199-4.c: New test.
3382 * testsuite/libgomp.c/reduction-7.c: New test.
3383 * testsuite/libgomp.c/reduction-8.c: New test.
3384 * testsuite/libgomp.c/reduction-9.c: New test.
3385 * testsuite/libgomp.c/reduction-10.c: New test.
3386 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
3387 map(tofrom:s).
3388 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
3389 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
3390 * testsuite/libgomp.c/target-11.c: New test.
3391 * testsuite/libgomp.c/target-12.c: New test.
3392 * testsuite/libgomp.c/target-13.c: New test.
3393 * testsuite/libgomp.c/target-14.c: New test.
3394 * testsuite/libgomp.c/target-15.c: New test.
3395 * testsuite/libgomp.c/target-16.c: New test.
3396 * testsuite/libgomp.c/target-17.c: New test.
3397 * testsuite/libgomp.c/target-18.c: New test.
3398 * testsuite/libgomp.c/target-19.c: New test.
3399 * testsuite/libgomp.c/target-20.c: New test.
3400 * testsuite/libgomp.c/target-21.c: New test.
3401 * testsuite/libgomp.c/target-22.c: New test.
3402 * testsuite/libgomp.c/target-23.c: New test.
3403 * testsuite/libgomp.c/target-24.c: New test.
3404 * testsuite/libgomp.c/target-25.c: New test.
3405 * testsuite/libgomp.c/target-26.c: New test.
3406 * testsuite/libgomp.c/target-27.c: New test.
3407 * testsuite/libgomp.c/taskloop-1.c: New test.
3408 * testsuite/libgomp.c/taskloop-2.c: New test.
3409 * testsuite/libgomp.c/taskloop-3.c: New test.
3410 * testsuite/libgomp.c/taskloop-4.c: New test.
3411 * testsuite/libgomp.c++/ctor-13.C: New test.
3412 * testsuite/libgomp.c++/doacross-1.C: New test.
3413 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
3414 Replace offload_device with offload_device_nonshared_as.
3415 * testsuite/libgomp.c++/for-12.C: New test.
3416 * testsuite/libgomp.c++/for-13.C: New test.
3417 * testsuite/libgomp.c++/for-14.C: New test.
3418 * testsuite/libgomp.c++/linear-1.C: New test.
3419 * testsuite/libgomp.c++/member-1.C: New test.
3420 * testsuite/libgomp.c++/member-2.C: New test.
3421 * testsuite/libgomp.c++/member-3.C: New test.
3422 * testsuite/libgomp.c++/member-4.C: New test.
3423 * testsuite/libgomp.c++/member-5.C: New test.
3424 * testsuite/libgomp.c++/ordered-1.C: New test.
3425 * testsuite/libgomp.c++/reduction-5.C: New test.
3426 * testsuite/libgomp.c++/reduction-6.C: New test.
3427 * testsuite/libgomp.c++/reduction-7.C: New test.
3428 * testsuite/libgomp.c++/reduction-8.C: New test.
3429 * testsuite/libgomp.c++/reduction-9.C: New test.
3430 * testsuite/libgomp.c++/reduction-10.C: New test.
3431 * testsuite/libgomp.c++/reference-1.C: New test.
3432 * testsuite/libgomp.c++/simd14.C: New test.
3433 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
3434 * testsuite/libgomp.c++/target-5.C: New test.
3435 * testsuite/libgomp.c++/target-6.C: New test.
3436 * testsuite/libgomp.c++/target-7.C: New test.
3437 * testsuite/libgomp.c++/target-8.C: New test.
3438 * testsuite/libgomp.c++/target-9.C: New test.
3439 * testsuite/libgomp.c++/target-10.C: New test.
3440 * testsuite/libgomp.c++/target-11.C: New test.
3441 * testsuite/libgomp.c++/target-12.C: New test.
3442 * testsuite/libgomp.c++/taskloop-1.C: New test.
3443 * testsuite/libgomp.c++/taskloop-2.C: New test.
3444 * testsuite/libgomp.c++/taskloop-3.C: New test.
3445 * testsuite/libgomp.c++/taskloop-4.C: New test.
3446 * testsuite/libgomp.c++/taskloop-5.C: New test.
3447 * testsuite/libgomp.c++/taskloop-6.C: New test.
3448 * testsuite/libgomp.c++/taskloop-7.C: New test.
3449 * testsuite/libgomp.c++/taskloop-8.C: New test.
3450 * testsuite/libgomp.c++/taskloop-9.C: New test.
3451 * testsuite/libgomp.fortran/affinity1.f90: New test.
3452 * testsuite/libgomp.fortran/affinity2.f90: New test.
3453
3454 2015-10-13 Tom de Vries <tom@codesourcery.com>
3455
3456 PR tree-optimization/67476
3457 * testsuite/libgomp.c/autopar-3.c: New test.
3458 * testsuite/libgomp.c/autopar-4.c: New test.
3459 * testsuite/libgomp.c/autopar-5.c: New test.
3460 * testsuite/libgomp.c/autopar-6.c: New test.
3461 * testsuite/libgomp.c/autopar-7.c: New test.
3462 * testsuite/libgomp.c/autopar-8.c: New test.
3463
3464 2015-10-12 James Norris <jnorris@codesourcery.com>
3465
3466 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
3467 initializer.
3468
3469 2015-10-09 David Malcolm <dmalcolm@redhat.com>
3470
3471 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
3472 using load_gcc_lib.
3473
3474 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
3475
3476 * oacc-ptx.h: Remove file, moving its content into...
3477 * config/nvptx/fortran.c: ... here...
3478 * config/nvptx/oacc-init.c: ..., here...
3479 * config/nvptx/oacc-parallel.c: ..., and here.
3480 * config/nvptx/openacc.f90: New file.
3481 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
3482 (link_ptx): Don't link in predefined bits of PTX code.
3483
3484 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
3485 Bernd Schmidt <bernds@codesourcery.com>
3486
3487 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
3488 (struct targ_ptx_obj): New.
3489 (nvptx_tdata): Move earlier, change data format.
3490 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
3491 objects.
3492 (GOMP_OFFLOAD_load_image): Adjust.
3493
3494 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
3495
3496 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
3497 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3498 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3499 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
3500 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3501 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3502 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3503 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3504 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3505 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3506 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3507 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3508 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3509 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3510 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3511 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3512 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3513 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3514 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3515 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3516 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3517 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3518 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3519 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3520 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3521 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3522 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3523 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3524 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3525 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3526 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3527 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3528 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3529 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3530 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3531 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3532 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3533 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3534 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3535 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3536 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3537 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3538 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3539 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3540 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3541 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3542 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3543 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3544 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3545 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3546 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3547 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3548 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3549 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3550 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3551 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3552 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3553 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3554 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3555 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3556 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3557 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3558 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3559
3560 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
3561
3562 * oacc-init.c (acc_on_device): Force optimization level.
3563
3564 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
3565
3566 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
3567 (cuda_errlist): Delete.
3568 (cuda_error): Reimplement.
3569
3570 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
3571
3572 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
3573 array.
3574 * libgomp.map (GOACC_parallel_keyed): New.
3575 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
3576 all callers.
3577 (GOACC_parallel_keyed): New interface. Lose geometry arguments
3578 and take keyed varargs list. Adjust call to exec_func.
3579 (GOACC_parallel): Force host fallback.
3580 * libgomp_g.h (GOACC_parallel): Remove.
3581 (GOACC_parallel_keyed): Declare.
3582 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
3583 (stuct targ_gn_descriptor): Replace name field with launch field.
3584 (nvptx_exec): Lose separate geometry args, take array. Process
3585 dynamic dimensions and adjust.
3586 (struct nvptx_tdata): Replace fn_names field with fn_descs.
3587 (GOMP_OFFLOAD_load_image): Adjust for change in function table
3588 data.
3589 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
3590 passing.
3591 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
3592 passing.
3593
3594 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
3595
3596 PR libgomp/67141
3597 * oacc-int.h (goacc_host_init): Add declaration.
3598 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
3599 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
3600
3601 2015-09-08 Aditya Kumar <hiraditya@msn.com>
3602 Sebastian Pop <s.pop@samsung.com>
3603
3604 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
3605 match o/p.
3606 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
3607 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
3608 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
3609 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
3610 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
3611
3612 2015-09-03 Jakub Jelinek <jakub@redhat.com>
3613
3614 * configure.tgt: Add missing ;; in between nvptx and rtems
3615 snippets.
3616
3617 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3618
3619 * config/posix/pool.h (gomp_adjust_thread_attr): New.
3620 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
3621 (gomp_thread_pool_reservoir): Add priority member.
3622 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
3623 priority.
3624 (parse_thread_pools): Likewise.
3625 * team.c (gomp_team_start): Call configuration provided
3626 gomp_adjust_thread_attr(). Destroy thread attributes if
3627 necessary.
3628 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
3629
3630 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3631
3632 * config/posix/pool.h: New.
3633 * config/rtems/pool.h: Likewise.
3634 * config/rtems/proc.c: Likewise.
3635 * libgomp.h (gomp_thread_destructor): Declare.
3636 * team.c: Include configuration provided "pool.h".
3637 (gomp_get_thread_pool): Define in configuration.
3638 (gomp_team_end): Call configuration defined
3639 gomp_release_thread_pool().
3640
3641 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3642
3643 * config/rtems/bar.c: New.
3644 * config/rtems/bar.h: Likewise.
3645 * config/rtems/mutex.c: Likewise.
3646 * config/rtems/mutex.h: Likewise.
3647 * config/rtems/sem.c: Likewise.
3648 * config/rtems/sem.h: Likewise.
3649 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
3650 <sys/lock.h> header file.
3651 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
3652 supported by Newlib.
3653 * configure: Regenerate.
3654
3655 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3656
3657 * team.c (gomp_new_thread_pool): Delete and move content to ...
3658 (gomp_get_thread_pool): ... new function. Allocate and
3659 initialize thread pool on demand.
3660 (get_last_team): Use gomp_get_thread_pool().
3661 (gomp_team_start): Delete thread pool initialization.
3662
3663 2015-09-03 Tom de Vries <tom@codesourcery.com>
3664
3665 PR tree-optimization/65637
3666 * testsuite/libgomp.c/autopar-2.c: New test.
3667
3668 2015-08-29 Tom de Vries <tom@codesourcery.com>
3669
3670 PR tree-optimization/46193
3671 * testsuite/libgomp.c/pr46193.c: New test.
3672
3673 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
3674
3675 libgomp/
3676 * libgomp.map: Add 4.0.2 version.
3677 * target.c (offload_image_descr): Add version field.
3678 (gomp_load_image_to_device): Add version argument. Adjust plugin
3679 call. Improve load mismatch diagnostic.
3680 (gomp_unload_image_from_device): Add version argument. Adjust plugin
3681 call.
3682 (GOMP_offload_regster): Make stub function, move bulk to ...
3683 (GOMP_offload_register_ver): ... here. Process version argument.
3684 (GOMP_offload_unregister): Make stub function, move bulk to ...
3685 (GOMP_offload_unregister_ver): ... here. Process version argument.
3686 (gomp_init_device): Process version field.
3687 (gomp_unload_device): Process version field.
3688 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
3689 macros. Check plugin version.
3690 * libgomp.h (gomp_device_descr): Add version function field. Adjust
3691 loader and unloader types.
3692 * oacc-host.c: Include gomp-constants.h.
3693 (host_version): New.
3694 (host_load_image, host_unload_image): Adjust.
3695 (host_dispatch): Add host_version.
3696 * plugin/plugin-nvptx.c: Include gomp-constants.h.
3697 (GOMP_OFFLOAD_version): New.
3698 (GOMP_OFFLOAD_load_image): Add version arg and check it.
3699 (GOMP_OFFLOAD_unload_image): Likewise.
3700 * plugin/plugin-host.c: Include gomp-constants.h.
3701 (GOMP_OFFLOAD_version): New.
3702 (GOMP_OFFLOAD_load_image): Add version arg.
3703 (GOMP_OFFLOAD_unload_image): Likewise.
3704
3705 2015-08-24 Tom de Vries <tom@codesourcery.com>
3706
3707 PR tree-optimization/65468
3708 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
3709
3710 2015-08-24 Tom de Vries <tom@codesourcery.com>
3711
3712 PR tree-optimization/65468
3713 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
3714
3715 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
3716
3717 PR libgomp/66761
3718 PR libgomp/67303
3719 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
3720 (gomp_iter_guided_next): Idem.
3721 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
3722 (gomp_iter_ull_guided_next): Idem.
3723 * config/linux/wait.h (do_spin): Idem.
3724
3725 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3726
3727 * libgomp-plugin.h (enum offload_target_type): Remove
3728 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
3729 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
3730 * openacc.h (enum acc_device_t): Likewise.
3731 * openacc_lib.h: Likewise.
3732 * oacc-init.c (name_of_acc_device_t): Don't handle it.
3733 (acc_on_device): Just use __builtin_acc_on_device.
3734 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
3735 of acc_on_device builtin.
3736 * plugin/plugin-host.h: Remove file.
3737 * plugin/plugin-host.c: Likewise, but salvage some content into...
3738 * oacc-host.c: ... this file.
3739 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
3740 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
3741 * Makefile.in: Regenerate.
3742 * configure: Likewise.
3743 * testsuite/lib/libgomp.exp
3744 (check_effective_target_openacc_host_nonshm_selected): Remove.
3745 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
3746 ACC_DEVICE_TYPE=host_nonshm.
3747 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3748 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3749 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3750 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3751 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3752 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3753
3754 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3755 Jakub Jelinek <jakub@redhat.com>
3756
3757 * config/nvptx/affinity.c: New file.
3758 * config/nvptx/alloc.c: Likewise.
3759 * config/nvptx/bar.c: Likewise.
3760 * config/nvptx/barrier.c: Likewise.
3761 * config/nvptx/critical.c: Likewise.
3762 * config/nvptx/env.c: Likewise.
3763 * config/nvptx/error.c: Likewise.
3764 * config/nvptx/fortran.c: Likewise.
3765 * config/nvptx/iter.c: Likewise.
3766 * config/nvptx/iter_ull.c: Likewise.
3767 * config/nvptx/libgomp-plugin.c: Likewise.
3768 * config/nvptx/lock.c: Likewise.
3769 * config/nvptx/loop.c: Likewise.
3770 * config/nvptx/loop_ull.c: Likewise.
3771 * config/nvptx/mutex.c: Likewise.
3772 * config/nvptx/oacc-async.c: Likewise.
3773 * config/nvptx/oacc-cuda.c: Likewise.
3774 * config/nvptx/oacc-host.c: Likewise.
3775 * config/nvptx/oacc-init.c: Likewise.
3776 * config/nvptx/oacc-mem.c: Likewise.
3777 * config/nvptx/oacc-parallel.c: Likewise.
3778 * config/nvptx/oacc-plugin.c: Likewise.
3779 * config/nvptx/omp-lock.h: Likewise.
3780 * config/nvptx/ordered.c: Likewise.
3781 * config/nvptx/parallel.c: Likewise.
3782 * config/nvptx/proc.c: Likewise.
3783 * config/nvptx/ptrlock.c: Likewise.
3784 * config/nvptx/sections.c: Likewise.
3785 * config/nvptx/sem.c: Likewise.
3786 * config/nvptx/single.c: Likewise.
3787 * config/nvptx/splay-tree.c: Likewise.
3788 * config/nvptx/target.c: Likewise.
3789 * config/nvptx/task.c: Likewise.
3790 * config/nvptx/team.c: Likewise.
3791 * config/nvptx/time.c: Likewise.
3792 * config/nvptx/work.c: Likewise.
3793 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
3794 * configure: Regenerate.
3795 * configure.tgt (config_path): Set to "nvptx" for target
3796 nvptx*-*-*.
3797
3798 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3799
3800 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
3801
3802 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
3803
3804 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
3805 (cuda_errlist): Constify.
3806 (errmsg): Move into ...
3807 (cuda_error): ... here. Make smaller.
3808 (_XSTR, _STR): Delete.
3809 (cuda_synames): Delete.
3810 (verify_device_library): Delete.
3811 (nvptx_init): Don't call it.
3812
3813 2015-07-28 Tom de Vries <tom@codesourcery.com>
3814
3815 * testsuite/libgomp.c/uns-outer-4.c: New test.
3816
3817 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
3818
3819 * testsuite/libgomp.c/pr66714.c: New test.
3820
3821 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
3822
3823 PR libgomp/66950
3824 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
3825 (fib_ref): New function.
3826 (fib): Correct corner cases in the recursion.
3827 (main): Replace the non-simd loop with fib_ref call.
3828 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
3829 subroutine.
3830 (fibonacci): Lower the parameter N to 30. Correct accordingly check
3831 for the last array element value. Replace the non-simd loop with
3832 fib_ref call. Remove redundant b_ref array. Remove the comparison
3833 of the last array element with according Fibonacci sequence element.
3834 (fib): Correct corner cases in the recursion.
3835
3836 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
3837
3838 * target.c (gomp_offload_image_to_device): Rename to ...
3839 (gomp_load_image_to_device): ... here.
3840 (GOMP_offload_register): Adjust call.
3841 (gomp_init_device): Likewise.
3842 (gomp_unload_image_from_device): New. Broken out of ...
3843 (GOMP_offload_unregister): ... here. Call it.
3844 (gomp_unload_device): New.
3845 * libgomp.h (gomp_unload_device): Declare.
3846 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
3847 mem maps.
3848
3849 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
3850
3851 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
3852 wait=-specific if.
3853 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
3854 !=0 condition.
3855 (goacc_waits): Move !num_waits handling to ...
3856 (GOACC_wait): ... here, the only caller that might have zero waits.
3857
3858 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
3859 (struct ptx_image_data): Move earlier, add fns field.
3860 (struct ptx_device): Add images and image_lock fields.
3861 (ptx_images, ptx_image_lock): Delete.
3862 (nvptx_open_device): Initialize images and image_lock fields.
3863 (nvptx_close_device): Destroy image_lock.
3864 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
3865 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
3866 fields.
3867
3868 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
3869
3870 * target.c (GOMP_offload_register): Use int for device type arg.
3871 (GOMP_offload_unregister): Likewise.
3872
3873 * target.c (struct_offload_image_descr): Constify host_table.
3874 (gomp_offload_image_to_device): Likewise.
3875 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
3876
3877 * libgomp.h (gomp_device_descr): Constify target data arguments.
3878 * target.c (struct offload_image_descr): Constify target_data.
3879 (gomp_offload_image_to_device): Likewise.
3880 (GOMP_offload_register): Likewise.
3881 (GOMP_offload_unrefister): Likewise.
3882 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
3883 GOMP_OFFLOAD_unload_image): Constify target data.
3884 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
3885 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
3886
3887 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
3888
3889 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
3890 Workaround driver library const error.
3891 (struct nvptx_tdata, nvptx_tdata_t): New.
3892 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
3893 type.
3894
3895 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
3896
3897 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
3898 of EPS parameter from integer to real.
3899 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
3900 type of EPS parameter from integer to real.
3901
3902 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3903
3904 * team.c (get_last_team): New.
3905 (gomp_new_team): Recycle last non-nested team if possible.
3906 (gomp_team_end): Move team work share list free lock destruction
3907 to ...
3908 (free_team): ... here.
3909
3910 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
3911
3912 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
3913 and ref from int to double. Replaced their comparison with
3914 an inequality of their difference and EPS.
3915 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
3916 comparison of pri and a reference number with an inequality of their
3917 difference and EPS.
3918 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
3919 the comparison of sum and sum_ref with an inequality of their
3920 difference and EPS.
3921 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
3922 the comparison of pri and a reference number with an inequality of
3923 their difference and EPS.
3924
3925 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
3926
3927 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
3928 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
3929 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
3930 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
3931 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
3932 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
3933 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
3934 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
3935 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
3936 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
3937 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
3938 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
3939 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
3940 variables.
3941 (vec_mult): Likewise. Add #pragma omp taskwait.
3942 (main): Adjust caller.
3943 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
3944 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
3945 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
3946 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
3947 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
3948 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
3949 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
3950 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
3951 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
3952 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
3953 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
3954 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
3955 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
3956 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
3957 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
3958 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
3959 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
3960 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
3961 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
3962 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
3963 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
3964 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
3965 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
3966 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
3967 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
3968 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
3969 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
3970 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
3971 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
3972 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
3973 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
3974 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
3975 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
3976 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
3977 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
3978 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
3979 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
3980 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
3981 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
3982 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
3983 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
3984 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
3985 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
3986 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
3987 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
3988 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
3989 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
3990 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
3991 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
3992 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3993 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3994 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3995 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3996 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3997 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3998 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3999 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
4000 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
4001 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
4002 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
4003 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
4004 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
4005 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
4006 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
4007 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
4008 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
4009 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
4010 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
4011 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
4012 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
4013 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
4014 (vec_mult): Add !$omp taskwait.
4015 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
4016 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
4017 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
4018 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
4019 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
4020 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
4021 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
4022 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
4023 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
4024 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
4025 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
4026 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
4027 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
4028 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
4029 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
4030 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
4031 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
4032 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
4033 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
4034 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
4035 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
4036 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
4037 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
4038 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
4039 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
4040 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
4041 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
4042 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
4043 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
4044 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
4045 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
4046 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
4047 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
4048 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
4049 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
4050 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
4051 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
4052 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
4053 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
4054 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
4055 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
4056 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
4057 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
4058 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
4059 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
4060 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
4061 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
4062 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
4063 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
4064 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
4065 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
4066 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
4067 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
4068 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
4069 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
4070 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
4071 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
4072 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
4073 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
4074 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
4075 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
4076 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
4077 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
4078 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
4079 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
4080 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
4081 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
4082
4083 2015-07-10 Tom de Vries <tom@codesourcery.com>
4084
4085 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
4086 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
4087
4088 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
4089
4090 PR libgomp/65099
4091 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
4092 in a 64-bit configuration.
4093 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
4094 offloading testing if no such device is available.
4095 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4096 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4097
4098 2015-07-08 Tom de Vries <tom@codesourcery.com>
4099
4100 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
4101 second call to f.
4102 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4103
4104 2015-07-07 Tom de Vries <tom@codesourcery.com>
4105
4106 PR tree-optimization/66642
4107 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
4108 iteration count case.
4109 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
4110 function, factor out of ...
4111 (main): ... here. Test low iteration count case.
4112
4113 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
4114
4115 * libgomp.h (gomp_thread_pool): Comment last_team field.
4116
4117 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
4118
4119 * testsuite/libgomp.c++/pr66702-1.C: Require
4120 vect_simd_clones effective target.
4121 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
4122
4123 2015-06-30 Tom de Vries <tom@codesourcery.com>
4124
4125 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
4126 already set. Use DEFAULT_CFLAGS in dg-runtest.
4127 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
4128 "-O2".
4129
4130 2015-06-30 Tom de Vries <tom@codesourcery.com>
4131
4132 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
4133 already set. Use DEFAULT_CFLAGS in dg-runtest.
4134 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
4135 * testsuite/libgomp.c++/pr64824.C: Same.
4136 * testsuite/libgomp.c++/pr64868.C: Same.
4137 * testsuite/libgomp.c++/pr66199-1.C: Same.
4138 * testsuite/libgomp.c++/pr66199-2.C: Same.
4139 * testsuite/libgomp.c++/target-2.C: Same.
4140 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
4141 -std=<standard> option.
4142 * testsuite/libgomp.c++/udr-11.C: Same.
4143 * testsuite/libgomp.c++/udr-12.C: Same.
4144 * testsuite/libgomp.c++/udr-13.C: Same.
4145 * testsuite/libgomp.c++/udr-14.C: Same.
4146 * testsuite/libgomp.c++/udr-15.C: Same.
4147 * testsuite/libgomp.c++/udr-16.C: Same.
4148 * testsuite/libgomp.c++/udr-17.C: Same.
4149 * testsuite/libgomp.c++/udr-18.C: Same.
4150 * testsuite/libgomp.c++/udr-19.C: Same.
4151 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
4152 * testsuite/libgomp.c++/simd-1.C: Same.
4153 * testsuite/libgomp.c++/simd-2.C: Same.
4154 * testsuite/libgomp.c++/simd-3.C: Same.
4155 * testsuite/libgomp.c++/simd-4.C: Same.
4156 * testsuite/libgomp.c++/simd-5.C: Same.
4157 * testsuite/libgomp.c++/simd-6.C: Same.
4158 * testsuite/libgomp.c++/simd-7.C: Same.
4159 * testsuite/libgomp.c++/simd-8.C: Same.
4160 * testsuite/libgomp.c++/simd-9.C: Same.
4161 * testsuite/libgomp.c++/simd10.C: Same.
4162 * testsuite/libgomp.c++/simd11.C: Same.
4163 * testsuite/libgomp.c++/simd12.C: Same.
4164 * testsuite/libgomp.c++/simd13.C: Same.
4165
4166 2015-06-30 Jakub Jelinek <jakub@redhat.com>
4167
4168 PR middle-end/66702
4169 * testsuite/libgomp.c++/pr66702-1.C: New test.
4170 * testsuite/libgomp.c++/pr66702-2.C: New test.
4171
4172 2015-06-30 Tom de Vries <tom@codesourcery.com>
4173
4174 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
4175 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
4176 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
4177 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
4178
4179 2015-06-30 Tom de Vries <tom@codesourcery.com>
4180
4181 PR tree-optimization/66652
4182 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
4183 using restrict pointers.
4184 (main): Add arguments to calls to f.
4185 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4186
4187 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
4188
4189 * configure.ac: Fix check for header <sys/sysctl.h>.
4190 * configure: Regenerate.
4191 * config.h.in: Likewise.
4192
4193 2015-06-23 Tom de Vries <tom@codesourcery.com>
4194
4195 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
4196 abort.
4197 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
4198
4199 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
4200
4201 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
4202 acc_device_nvidia.
4203
4204 PR libgomp/66518
4205 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
4206 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4207
4208 2015-06-15 Tom de Vries <tom@codesourcery.com>
4209
4210 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
4211 dg-additional-options for any remaining options.
4212 * testsuite/libgomp.c/atomic-2.c: Same.
4213 * testsuite/libgomp.c/atomic-4.c: Same.
4214 * testsuite/libgomp.c/atomic-5.c: Same.
4215 * testsuite/libgomp.c/atomic-6.c: Same.
4216 * testsuite/libgomp.c/autopar-1.c: Same.
4217 * testsuite/libgomp.c/copyin-1.c: Same.
4218 * testsuite/libgomp.c/copyin-2.c: Same.
4219 * testsuite/libgomp.c/copyin-3.c: Same.
4220 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
4221 * testsuite/libgomp.c/nestedfn-5.c: Same.
4222 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
4223 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
4224 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
4225 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4226 * testsuite/libgomp.c/pr32362-1.c: Same.
4227 * testsuite/libgomp.c/pr32362-2.c: Same.
4228 * testsuite/libgomp.c/pr32362-3.c: Same.
4229 * testsuite/libgomp.c/pr39591-1.c: Same.
4230 * testsuite/libgomp.c/pr39591-2.c: Same.
4231 * testsuite/libgomp.c/pr39591-3.c: Same.
4232 * testsuite/libgomp.c/pr58392.c: Same.
4233 * testsuite/libgomp.c/pr58756.c: Same.
4234 * testsuite/libgomp.c/simd-1.c: Same.
4235 * testsuite/libgomp.c/simd-10.c: Same.
4236 * testsuite/libgomp.c/simd-11.c: Same.
4237 * testsuite/libgomp.c/simd-12.c: Same.
4238 * testsuite/libgomp.c/simd-13.c: Same.
4239 * testsuite/libgomp.c/simd-14.c: Same.
4240 * testsuite/libgomp.c/simd-15.c: Same.
4241 * testsuite/libgomp.c/simd-2.c: Same.
4242 * testsuite/libgomp.c/simd-3.c: Same.
4243 * testsuite/libgomp.c/simd-4.c: Same.
4244 * testsuite/libgomp.c/simd-5.c: Same.
4245 * testsuite/libgomp.c/simd-6.c: Same.
4246 * testsuite/libgomp.c/simd-7.c: Same.
4247 * testsuite/libgomp.c/simd-8.c: Same.
4248 * testsuite/libgomp.c/simd-9.c: Same.
4249
4250 2015-06-15 Tom de Vries <tom@codesourcery.com>
4251
4252 * testsuite/libgomp.c/pr35625.c: Fix typo.
4253
4254 2015-06-15 Tom de Vries <tom@codesourcery.com>
4255
4256 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
4257 in dg-options.
4258 * testsuite/libgomp.c/atomic-3.c: Same.
4259 * testsuite/libgomp.c/debug-1.c: Same.
4260 * testsuite/libgomp.c/nqueens-1.c: Same.
4261 * testsuite/libgomp.c/pr26171.c: Same.
4262 * testsuite/libgomp.c/pr48591.c: Same.
4263 * testsuite/libgomp.c/pr64824.c: Same.
4264 * testsuite/libgomp.c/pr64868.c: Same.
4265 * testsuite/libgomp.c/pr66133.c: Same.
4266 * testsuite/libgomp.c/pr66199-1.c: Same.
4267 * testsuite/libgomp.c/pr66199-2.c: Same.
4268 * testsuite/libgomp.c/target-8.c: Same.
4269
4270 2015-06-15 Tom de Vries <tom@codesourcery.com>
4271
4272 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
4273 -std={gnu99,c99}.
4274 * testsuite/libgomp.c/for-1.c: Same.
4275 * testsuite/libgomp.c/for-2.c: Same.
4276 * testsuite/libgomp.c/for-3.c: Same.
4277 * testsuite/libgomp.c/pr35625.c: Same.
4278 * testsuite/libgomp.c/pr39154.c: Same.
4279 * testsuite/libgomp.c/simd-16.c: Same.
4280 * testsuite/libgomp.c/simd-17.c: Same.
4281
4282 2015-06-13 Tom de Vries <tom@codesourcery.com>
4283
4284 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
4285
4286 2015-06-13 Tom de Vries <tom@codesourcery.com>
4287
4288 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
4289 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4290 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
4291 (N): Define.
4292 (main): Use N instead of hardcoded constants.
4293
4294 2015-06-05 Tom de Vries <tom@codesourcery.com>
4295
4296 merge from gomp4 branch:
4297 2015-05-28 Tom de Vries <tom@codesourcery.com>
4298
4299 PR tree-optimization/65443
4300 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
4301 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
4302 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
4303
4304 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4305
4306 * testsuite/libgomp.graphite/bounds.c: Adjust for
4307 cleanup-tree-dump removal.
4308 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
4309 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4310 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4311 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4312 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4313 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4314 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4315 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4316 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4317 * testsuite/libgomp.graphite/pr41118.c: Likewise.
4318
4319 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
4320
4321 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
4322 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
4323 (futex_wake) [!__x86_64__]: Ditto.
4324
4325 2015-05-28 Julian Brown <julian@codesourcery.com>
4326
4327 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
4328 function comment. Only call gomp_fatal if new argument is true.
4329 (acc_dev_num_out_of_range): New function.
4330 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
4331 acc_dev_num_out_of_range as appropriate.
4332 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
4333 (acc_get_device_num, acc_set_device_num): Update calls to
4334 resolve_device.
4335 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
4336 output.
4337
4338 2015-05-28 Julian Brown <julian@codesourcery.com>
4339
4340 PR libgomp/65742
4341 * oacc-init.c (plugin/plugin-host.h): Include.
4342 (acc_on_device): Check whether we're in an offloaded region for
4343 host_nonshm
4344 plugin. Don't use __builtin_acc_on_device.
4345 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
4346 nonshm_exec flag in thread-local data.
4347 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
4348 data for host_nonshm plugin.
4349 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
4350 for host_nonshm plugin.
4351 * plugin/plugin-host.h: New.
4352
4353 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
4354
4355 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
4356
4357 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
4358
4359 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
4360 Declare as int.
4361 (FUTEX_PRIVATE_FLAG): Remove L suffix.
4362 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
4363 Declare as int.
4364
4365 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
4366
4367 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
4368
4369 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
4370
4371 * target.c (gomp_map_pointer): New function abstracting out
4372 GOMP_MAP_POINTER handling.
4373 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
4374 gomp_map_pointer().
4375
4376 2015-05-19 Jakub Jelinek <jakub@redhat.com>
4377
4378 PR middle-end/66199
4379 * testsuite/libgomp.c/pr66199-1.c: New test.
4380 * testsuite/libgomp.c/pr66199-2.c: New test.
4381 * testsuite/libgomp.c++/pr66199-1.C: New test.
4382 * testsuite/libgomp.c++/pr66199-2.C: New test.
4383 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
4384 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
4385
4386 2015-05-19 Julian Brown <julian@codesourcery.com>
4387
4388 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
4389 on cuInit failure.
4390
4391 2015-05-13 Jakub Jelinek <jakub@redhat.com>
4392
4393 PR middle-end/66133
4394 * testsuite/libgomp.c/pr66133.c: New test.
4395
4396 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
4397
4398 * Makefile.in: Regenerated with automake-1.11.6.
4399 * aclocal.m4: Likewise.
4400 * config.h.in: Likewise.
4401 * configure: Likewise.
4402 * testsuite/Makefile.in: Likewise.
4403
4404 2015-05-08 Jason Merrill <jason@redhat.com>
4405
4406 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
4407 _Complex.
4408
4409 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
4410
4411 2015-05-06 Julian Brown <julian@codesourcery.com>
4412
4413 * oacc-init.c (acc_device_lock): Add explanatory comment.
4414 (resolve_device): Add comment about locking requirement.
4415 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
4416 gomp_init_device and gomp_fini_device calls.
4417 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
4418 (acc_get_device_num, acc_set_device_num): Add locking around
4419 resolve_device and gomp_init_device calls.
4420
4421 2015-05-06 Julian Brown <julian@codesourcery.com>
4422
4423 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
4424 goacc_thread_lock on error paths.
4425 * oacc-mem.c (lookup_host): Remove locking from function. Note
4426 locking requirement for caller in function comment.
4427 (lookup_dev): Likewise.
4428 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
4429 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
4430 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4431 Add locking.
4432
4433 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
4434
4435 PR testsuite/65205
4436 PR libgomp/65993
4437 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
4438 don't expect "0x" prefix for "%p" format specifier, don't expect
4439 "(nil)" for NULL pointer.
4440 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4441 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4442 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4443 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4444 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4445 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4446 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4447 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4448 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4449 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4450 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4451 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4452 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4453 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4454 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4455 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4456 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4457 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4458 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4459 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4460 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4461 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4462 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4463 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4464 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4465 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4466 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4467 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4468 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
4469 accurately specify what we're looking for.
4470 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4471 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4472 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4473 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4474 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4475
4476 2015-04-30 James Norris <jnorris@codesourcery.com>
4477
4478 PR testsuite/65205
4479 * testsuite/lib/libgomp.exp
4480 (check_effective_target_openacc_host_selected)
4481 (check_effective_target_openacc_host_nonshm_selected): New
4482 procedures.
4483 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
4484 dg-shouldfail.
4485 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4486 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4487 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4488 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4489 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4490 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4491 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4492 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4493 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4494 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4495 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4496 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4497 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4498 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4499 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4500 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4501 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4502 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4503 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4504 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4505 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4506 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4507 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4508 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4509 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4510 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4511 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4512 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4513 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4514 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4515 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4516 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4517 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4518 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4519 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4520 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4521 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4522 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4523 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4524 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4525 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4526 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4527 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4528
4529 2015-04-08 Julian Brown <julian@codesourcery.com>
4530
4531 * libgomp.h (target_mem_desc: Remove mem_map field.
4532 (acc_dispatch_t): Remove open_device_func, close_device_func,
4533 get_device_num_func, set_device_num_func, target_data members.
4534 Change create_thread_data_func argument to device number instead of
4535 generic pointer.
4536 * oacc-async.c (assert.h): Include.
4537 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
4538 (acc_wait_all, acc_wait_all_async): Use current host thread's
4539 active device, not base_dev.
4540 * oacc-cuda.c (acc_get_current_cuda_device)
4541 (acc_get_current_cuda_context, acc_get_cuda_stream)
4542 (acc_set_cuda_stream): Likewise.
4543 * oacc-host.c (host_dispatch): Don't set open_device_func,
4544 close_device_func, get_device_num_func or set_device_num_func.
4545 * oacc-init.c (base_dev, init_key): Remove.
4546 (cached_base_dev): New.
4547 (name_of_acc_device_t): New.
4548 (acc_init_1): Initialise default-numbered device, not zeroth.
4549 (acc_shutdown_1): Close all devices of a given type.
4550 (goacc_destroy_thread): Don't use base_dev.
4551 (lazy_open, lazy_init, lazy_init_and_open): Remove.
4552 (goacc_attach_host_thread_to_device): New.
4553 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
4554 (acc_get_num_devices): Don't use base_dev.
4555 (acc_set_device_type): Reimplement.
4556 (acc_get_device_type): Don't use base_dev.
4557 (acc_get_device_num): Tweak logic.
4558 (acc_set_device_num): Likewise.
4559 (acc_on_device): Use acc_get_device_type.
4560 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
4561 (goacc_lazy_initialize): Reimplement with acc_init and
4562 goacc_attach_host_thread_to_device.
4563 * oacc-int.h (goacc_thread): Add base_dev field.
4564 (base_dev): Remove extern declaration.
4565 (goacc_attach_host_thread_to_device): Add prototype.
4566 * oacc-mem.c (acc_malloc): Use current thread's device instead of
4567 base_dev.
4568 (acc_free): Likewise.
4569 (acc_memcpy_to_device): Likewise.
4570 (acc_memcpy_from_device): Likewise.
4571 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
4572 goacc_lazy_initialize (throughout).
4573 (GOACC_parallel): Use tgt_offset to locate target functions.
4574 * target.c (gomp_map_vars): Don't set tgt->mem_map.
4575 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
4576 (gomp_load_plugin_for_device): Remove open_device, close_device,
4577 get_device_num, set_device_num openacc hook initialisation. Don't set
4578 openacc.target_data.
4579 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
4580 (GOMP_OFFLOAD_openacc_close_device)
4581 (GOMP_OFFLOAD_openacc_get_device_num)
4582 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
4583 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
4584 to int.
4585 * plugin/plugin-nvptx.c (ptx_inited): Remove.
4586 (instantiated_devices, ptx_dev_lock): New.
4587 (struct ptx_image_data): New.
4588 (ptx_devices, ptx_images, ptx_image_lock): New.
4589 (fini_streams_for_device): Reorder cuStreamDestroy call.
4590 (nvptx_get_num_devices): Remove forward declaration.
4591 (nvptx_init): Change return type to bool.
4592 (nvptx_fini): Remove.
4593 (nvptx_attach_host_thread_to_device): New.
4594 (nvptx_open_device): Return struct ptx_device* instead of void*.
4595 (nvptx_close_device): Change argument type to struct ptx_device*,
4596 return type to void.
4597 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
4598 (kernel_target_data, kernel_host_table): Remove static globals.
4599 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
4600 (GOMP_OFFLOAD_init_device): Reimplement.
4601 (GOMP_OFFLOAD_fini_device): Likewise.
4602 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
4603 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
4604 (GOMP_OFFLOAD_host2dev): Use ORD argument.
4605 (GOMP_OFFLOAD_openacc_open_device)
4606 (GOMP_OFFLOAD_openacc_close_device)
4607 (GOMP_OFFLOAD_openacc_set_device_num)
4608 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
4609 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
4610 (device number).
4611
4612 testsuite/
4613 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
4614
4615 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
4616
4617 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
4618 * libgomp.h (struct gomp_memory_mapping): Remove.
4619 (struct target_mem_desc): Change type of mem_map from
4620 gomp_memory_mapping * to splay_tree_s *.
4621 (struct gomp_device_descr): Remove register_image_func, get_table_func.
4622 Add load_image_func, unload_image_func.
4623 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
4624 Remove offload_regions_registered.
4625 (gomp_init_tables): Remove.
4626 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4627 to splay_tree_s *.
4628 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
4629 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
4630 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
4631 offload_regions_registered.
4632 Initialize load_image_func, unload_image_func, mem_map.root.
4633 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
4634 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
4635 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
4636 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
4637 gomp_memory_mapping *. Use dev's lock and splay_tree.
4638 (lookup_dev): Use dev's lock.
4639 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
4640 (acc_is_present): Likewise.
4641 (acc_map_data): Likewise.
4642 (acc_unmap_data): Likewise. Use dev's lock.
4643 (present_create_copy): Likewise.
4644 (delete_copyout): Pass dev to lookup_host instead of mem_map.
4645 (update_dev_host): Likewise.
4646 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
4647 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
4648 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
4649 (GOMP_OFFLOAD_get_table): Remove
4650 (GOMP_OFFLOAD_load_image): New function.
4651 (GOMP_OFFLOAD_unload_image): New function.
4652 * target.c (register_lock): New mutex for offload image registration.
4653 (num_devices): Do not guard with PLUGIN_SUPPORT.
4654 (gomp_realloc_unlock): New static function.
4655 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
4656 before gomp_fatal.
4657 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
4658 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
4659 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
4660 mem_map's.
4661 (gomp_unmap_vars): Likewise.
4662 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
4663 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
4664 (gomp_offload_image_to_device): New static function.
4665 (GOMP_offload_register): Add mutex lock.
4666 Call gomp_offload_image_to_device for all initialized devices.
4667 Replace gomp_realloc with gomp_realloc_unlock.
4668 (GOMP_offload_unregister): New function.
4669 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
4670 get_table_func from the plugin with calls to init_device_func and
4671 gomp_offload_image_to_device.
4672 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4673 to splay_tree_s *.
4674 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
4675 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
4676 (GOMP_target_data): Do not call gomp_init_tables.
4677 (GOMP_target_update): Likewise. Remove argument from gomp_update.
4678 (gomp_load_plugin_for_device): Replace register_image and get_table
4679 with load_image and unload_image in DLSYM ().
4680 (gomp_register_images_for_device): Remove function.
4681 (gomp_target_init): Do not initialize current_device.mem_map.*,
4682 current_device.offload_regions_registered.
4683 Remove call to gomp_register_images_for_device.
4684 Do not free offload_images and num_offload_images.
4685
4686 2015-03-30 Jakub Jelinek <jakub@redhat.com>
4687
4688 PR fortran/65597
4689 * testsuite/libgomp.fortran/pr65597.f90: New test.
4690
4691 2015-03-27 Tom de Vries <tom@codesourcery.com>
4692
4693 PR testsuite/65594
4694 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
4695 (init, check): New function.
4696 (foo): Change return type to void.
4697 (main): Call init and check.
4698
4699 2015-03-27 Tom de Vries <tom@codesourcery.com>
4700
4701 PR testsuite/65594
4702 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
4703 (foo): Use M for non-inner loops to scale down test-case.
4704
4705 2015-03-25 Kai Tietz <ktietz@redhat.com>
4706
4707 PR libgomp/64972
4708 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
4709 (GOACC_data_start): Likewise.
4710 * target.c (gomp_map_vars): Likewise.
4711
4712 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
4713
4714 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
4715 hppa*-*-hpux*.
4716
4717 2015-03-19 Jakub Jelinek <jakub@redhat.com>
4718
4719 * testsuite/libgomp.c/target-10.c: New test.
4720 * testsuite/libgomp.c++/target-4.C: New test.
4721
4722 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
4723
4724 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
4725 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
4726
4727 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
4728
4729 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
4730 * configure.ac (*-*-rtems*): Assume Pthread is supported.
4731 (pthread.h): Check for this header file.
4732 * configure: Regenerate.
4733
4734 2015-02-25 Tom de Vries <tom@codesourcery.com>
4735
4736 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
4737 (check_reduction_op, check_reduction_macro, max, min):
4738 Declare.
4739 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
4740 function.
4741 (main): Use new functions.
4742
4743 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
4744
4745 * target.c (gomp_load_plugin_for_device): Use const char * instead of
4746 char * for variables holding dlerror return values.
4747 (DLSYM_OPT): Ditto.
4748
4749 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
4750
4751 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
4752
4753 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
4754 Cesar Philippidis <cesar@codesourcery.com>
4755
4756 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
4757 GOACC_ctaid, and GOACC_nctaid routines.
4758
4759 2015-02-11 Jakub Jelinek <jakub@redhat.com>
4760
4761 PR c/64824
4762 * testsuite/libgomp.c/atomic-18.c: New test.
4763 * testsuite/libgomp.c++/atomic-16.C: New test.
4764
4765 2015-02-04 Jakub Jelinek <jakub@redhat.com>
4766
4767 PR c/64824
4768 PR c/64868
4769 * testsuite/libgomp.c/pr64824.c: New test.
4770 * testsuite/libgomp.c/pr64868.c: New test.
4771 * testsuite/libgomp.c++/pr64824.C: New test.
4772 * testsuite/libgomp.c++/pr64868.C: New test.
4773
4774 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
4775
4776 PR libgomp/64635
4777 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
4778 Link with -lpthread.
4779 * config/aix/plugin-suffix.h: Delete.
4780
4781 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
4782
4783 PR libgomp/64635
4784 * configure.tgt (*-*-aix*): Use config_path "aix posix".
4785 (*-*-darwin*): Use config_path "bsd darwin posix".
4786 (*-*-hpux*): Use config_path "hpux posix".
4787 * target.c: Add include of plugin-suffix.h and use
4788 SONAME_SUFFIX macro.
4789 * config/aix/plugin-suffix.h: New file.
4790 * config/darwin/plugin-suffix.h: New file.
4791 * config/hpux/plugin-suffix.h: New file.
4792 * config/posix/plugin-suffix.h: New file.
4793
4794 2015-01-23 Jakub Jelinek <jakub@redhat.com>
4795
4796 PR middle-end/64734
4797 * libgomp.c/pr64734.c: New test.
4798
4799 2015-01-23 Tom de Vries <tom@codesourcery.com>
4800
4801 PR libgomp/64672
4802 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
4803
4804 2015-01-23 Tom de Vries <tom@codesourcery.com>
4805
4806 PR libgomp/64707
4807 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
4808 dg-options.
4809
4810 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
4811
4812 PR libgomp/64625
4813 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
4814 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
4815 formal parameter. Update all users.
4816 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
4817 Document unused formal parameter.
4818
4819 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
4820
4821 * oacc-parallel.c: Don't include <alloca.h>.
4822 (GOACC_parallel): Use gomp_alloca instead of alloca.
4823
4824 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
4825
4826 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
4827
4828 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4829 James Norris <jnorris@codesourcery.com>
4830 Tom de Vries <tom@codesourcery.com>
4831 Julian Brown <julian@codesourcery.com>
4832 Cesar Philippidis <cesar@codesourcery.com>
4833 Nathan Sidwell <nathan@codesourcery.com>
4834 Tobias Burnus <burnus@net-b.de>
4835
4836 * Makefile.am (search_path): Add $(top_srcdir)/../include.
4837 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
4838 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
4839 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
4840 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
4841 Include $(top_srcdir)/plugin/Makefrag.am.
4842 (nodist_libsubinclude_HEADERS): Add openacc.h.
4843 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
4844 openacc.f90, openacc.mod, openacc_kinds.mod.
4845 (omp_lib.mod): Generalize into...
4846 (%.mod): ... this new rule.
4847 (openacc_kinds.mod, openacc.mod): New rules.
4848 * plugin/configfrag.ac: New file.
4849 * configure.ac: Move plugin/offloading support into it. Include
4850 it. Instantiate testsuite/libgomp-test-support.pt.exp.
4851 * plugin/Makefrag.am: New file.
4852 * testsuite/Makefile.am (OFFLOAD_TARGETS)
4853 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
4854 export.
4855 (libgomp-test-support.exp): New rule.
4856 (all-local): Depend on it.
4857 * Makefile.in: Regenerate.
4858 * testsuite/Makefile.in: Regenerate.
4859 * config.h.in: Likewise.
4860 * configure: Likewise.
4861 * configure.tgt: Harden shell syntax.
4862 * env.c: Include "oacc-int.h".
4863 (parse_acc_device_type): New function.
4864 (gomp_debug_var, goacc_device_type, goacc_device_num): New
4865 variables.
4866 (initialize_env): Initialize those. Call
4867 goacc_runtime_initialize.
4868 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
4869 (gomp_fatal): Call gomp_vfatal.
4870 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
4871 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
4872 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
4873 (splay_tree_node, splay_tree, splay_tree_key)
4874 (struct target_mem_desc, struct splay_tree_key_s)
4875 (struct gomp_memory_mapping, struct acc_dispatch_t)
4876 (struct gomp_device_descr, gomp_acc_insert_pointer)
4877 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
4878 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
4879 (gomp_free_memmap, gomp_fini_device): New declarations.
4880 (gomp_vdebug, gomp_debug): New macros.
4881 Include "splay-tree.h".
4882 * libgomp.map (OACC_2.0): New symbol version. Use for
4883 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
4884 acc_set_device_type_h_, acc_get_device_type,
4885 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
4886 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
4887 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
4888 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
4889 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
4890 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
4891 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
4892 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
4893 acc_copyin_array_h_, acc_present_or_copyin,
4894 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
4895 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
4896 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
4897 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
4898 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
4899 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
4900 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
4901 acc_update_device, acc_update_device_32_h_,
4902 acc_update_device_64_h_, acc_update_device_array_h_,
4903 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
4904 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
4905 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
4906 acc_is_present_64_h_, acc_is_present_array_h_,
4907 acc_memcpy_to_device, acc_memcpy_from_device,
4908 acc_get_current_cuda_device, acc_get_current_cuda_context,
4909 acc_get_cuda_stream, acc_set_cuda_stream.
4910 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
4911 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
4912 GOACC_update, GOACC_wait, GOACC_get_thread_num,
4913 GOACC_get_num_threads.
4914 (GOMP_PLUGIN_1.0): New symbol version. Use for
4915 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
4916 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
4917 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
4918 GOMP_PLUGIN_acc_thread.
4919 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
4920 environment variable.
4921 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
4922 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
4923 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
4924 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
4925 (splay_tree_remove): New declarations.
4926 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
4927 (splay_tree_remove, splay_tree_lookup): Move into...
4928 * splay-tree.c: ... this new file.
4929 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
4930 (splay_tree_node, splay_tree, splay_tree_key)
4931 (struct target_mem_desc, struct splay_tree_key_s)
4932 (struct gomp_device_descr): Don't declare.
4933 (num_devices_openmp): New variable.
4934 (gomp_get_num_devices ): Use it.
4935 (gomp_init_targets_once): New function.
4936 (gomp_get_num_devices ): Use it.
4937 (get_kind, gomp_copy_from_async, gomp_free_memmap)
4938 (gomp_fini_device, gomp_register_image_for_device): New functions.
4939 (gomp_map_vars): Add devaddrs parameter.
4940 (gomp_update): Add mm parameter.
4941 (gomp_init_device): Move most of it into...
4942 (gomp_init_tables): ... this new function.
4943 (gomp_register_images_for_device): Remove function.
4944 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
4945 Make them hidden instead of static.
4946 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
4947 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
4948 (GOMP_target_end_data, GOMP_target_update)
4949 (gomp_load_plugin_for_device, gomp_target_init): Update for
4950 OpenACC changes.
4951 * oacc-async.c: New file.
4952 * oacc-cuda.c: Likewise.
4953 * oacc-host.c: Likewise.
4954 * oacc-init.c: Likewise.
4955 * oacc-int.h: Likewise.
4956 * oacc-mem.c: Likewise.
4957 * oacc-parallel.c: Likewise.
4958 * oacc-plugin.c: Likewise.
4959 * oacc-plugin.h: Likewise.
4960 * oacc-ptx.h: Likewise.
4961 * openacc.f90: Likewise.
4962 * openacc.h: Likewise.
4963 * openacc_lib.h: Likewise.
4964 * plugin/plugin-host.c: Likewise.
4965 * plugin/plugin-nvptx.c: Likewise.
4966 * libgomp-plugin.c: Likewise.
4967 * libgomp-plugin.h: Likewise.
4968 * libgomp_target.h: Remove file after merging content into the
4969 former file. Update all users.
4970 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
4971 (offload_targets_s, offload_targets_s_openacc): New variables.
4972 (check_effective_target_openacc_nvidia_accel_present)
4973 (check_effective_target_openacc_nvidia_accel_selected): New
4974 procedures.
4975 (libgomp_init): Update for OpenACC changes.
4976 * testsuite/libgomp-test-support.exp.in: New file.
4977 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4978 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4979 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4980 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
4981 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
4982 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4983 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
4984 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4985 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4986 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
4987 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
4988 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4989 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
4990 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4991 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
4992 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4993 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4994 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4995 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4996 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4997 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4998 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4999 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5000 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
5001 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5002 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5003 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5004 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5005 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5006 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5007 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5008 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5009 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5010 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
5011 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
5012 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5013 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5014 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5015 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
5016 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5017 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5018 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5019 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5020 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5021 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5022 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
5023 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5024 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5025 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5026 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5027 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5028 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5029 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5030 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5031 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5032 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5033 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5034 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5035 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5036 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
5037 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
5038 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
5039 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5040 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5041 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5042 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
5043 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
5044 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5045 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5046 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5047 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
5048 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5049 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5050 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5051 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
5052 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
5053 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5054 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5055 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
5056 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
5057 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
5058 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
5059 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5060 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5061 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5062 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
5063 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
5064 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5065 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5066 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
5067 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5068 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
5069 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
5070 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5071 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5072 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5073 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5074 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
5075 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5076 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5077 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5078 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
5079 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5080 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5081 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5082 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5083 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5084 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5085 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5086 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5087 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5088 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5089 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5090 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5091 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5092 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5093 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5094 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5095 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5096 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5097 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5098 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5099 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5100 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5101 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5102 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5103 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5104 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
5105 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
5106 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
5107 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
5108 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
5109 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5110 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
5111 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5112 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5113 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5114 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5115 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5116 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
5117 Likewise.
5118 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
5119 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
5120 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
5121 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5122 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
5123 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5124 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5125 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5126 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5127 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5128 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5129 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5130 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5131 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5132 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5133 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5134 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5135 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5136 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5137 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5138 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5139 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5140 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5141 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5142 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5143 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5144 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5145 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5146 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5147 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5148 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5149 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5150 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5151 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5152 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5153 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5154 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5155 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5156 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5157 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5158 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5159 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5160 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5161 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5162 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5163 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5164 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5165 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5166 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5167 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5168 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5169 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5170 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5171 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5172 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5173 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5174 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5175 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5176 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5177 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5178
5179 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
5180 Julian Brown <julian@codesourcery.com>
5181 David Malcolm <dmalcolm@redhat.com>
5182
5183 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
5184 to "GNU Offloading and Multi Processing Runtime Library". Change
5185 all users.
5186 * configure: Regenerate.
5187 * libgomp.texi: Update.
5188
5189 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
5190
5191 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
5192 "$tgt_dir/lib32".
5193 * configure: Regenerate.
5194
5195 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
5196 "intelmic" in $offload_targets.
5197
5198 2015-01-05 Jakub Jelinek <jakub@redhat.com>
5199
5200 Update copyright years.
5201
5202 * libgomp.texi: Bump @copying's copyright year.
5203
5204 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5205
5206 * testsuite/lib/libgomp.exp: Load target-utils.exp.
5207 Move load of target-supportes.exp earlier.
5208
5209 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
5210
5211 * testsuite/libgomp.c/target-9.c: New test.
5212
5213 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
5214
5215 * config.h.in: Regenerate.
5216 * configure: Regenerate.
5217 * configure.ac: Add GCC_CHECK_EMUTLS.
5218 * libgomp.h: Add check for USE_EMUTLS: this case
5219 is equal to HAVE_TLS.
5220 * team.c: Likewise.
5221
5222 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
5223
5224 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
5225
5226 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
5227 Ilya Verbin <ilya.verbin@intel.com>
5228
5229 * testsuite/libgomp.c/target-critical-1.c: New test.
5230
5231 2014-11-26 Jakub Jelinek <jakub@redhat.com>
5232
5233 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
5234 to dg-options unless expensive testing is on.
5235 (TESTITERS): Define to N if not defined.
5236 (main): Use TESTITERS instead of N.
5237 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
5238 dg-additional-options depending on whether expensive testing is on.
5239 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
5240 Decrease N to 100000 and CHUNKSZ to 10000.
5241
5242 2014-11-24 Jakub Jelinek <jakub@redhat.com>
5243
5244 PR fortran/63938
5245 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
5246 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
5247
5248 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
5249
5250 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
5251
5252 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
5253
5254 PR bootstrap/63784
5255 * configure: Regenerated.
5256
5257 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
5258
5259 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
5260 vect_simd_clones effective target.
5261 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
5262
5263 2014-11-14 Jakub Jelinek <jakub@redhat.com>
5264
5265 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
5266 of 32 as block_size.
5267 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
5268 instead of 32 as block_size.
5269
5270 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
5271 Ilya Verbin <ilya.verbin@intel.com>
5272
5273 * Makefile.in: Regenerate.
5274 * configure: Regenerate.
5275 * configure.ac: Set up offload_additional_options,
5276 offload_additional_lib_paths and offload_targets.
5277 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
5278 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
5279 * testsuite/Makefile.in: Regenerate.
5280 * testsuite/lib/libgomp.exp (libgomp_init): Append
5281 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
5282 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
5283 build directory to LD_LIBRARY_PATH for intelmic offload targets.
5284
5285 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
5286 Ilya Verbin <ilya.verbin@intel.com>
5287 Kirill Yukhin <kirill.yukhin@intel.com>
5288 Ilya Tocar <ilya.tocar@intel.com>
5289
5290 * testsuite/lib/libgomp.exp
5291 (check_effective_target_offload_device): New.
5292 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
5293 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
5294 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
5295 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
5296 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
5297 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
5298 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
5299 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
5300 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
5301 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
5302 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
5303 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
5304 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
5305 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
5306 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
5307 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
5308 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
5309 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
5310 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
5311 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
5312 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
5313 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
5314 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
5315 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
5316 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
5317 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
5318 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
5319 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
5320 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
5321 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
5322 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
5323 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
5324 * testsuite/libgomp.c/target-7.c: Fix test.
5325 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
5326 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
5327 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
5328 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
5329 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
5330 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
5331 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
5332 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
5333 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
5334 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
5335 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
5336 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
5337 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
5338 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
5339 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
5340 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
5341 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
5342 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
5343 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
5344 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
5345 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
5346 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
5347 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
5348 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
5349 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
5350 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
5351 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
5352 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
5353 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
5354 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
5355 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
5356
5357 2014-11-13 Jakub Jelinek <jakub@redhat.com>
5358 Ilya Verbin <ilya.verbin@intel.com>
5359 Thomas Schwinge <thomas@codesourcery.com>
5360 Andrey Turetskiy <andrey.turetskiy@intel.com>
5361
5362 * libgomp.map (GOMP_4.0.1): New symbol version.
5363 Add GOMP_offload_register.
5364 * libgomp_target.h: New file.
5365 * splay-tree.h: New file.
5366 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
5367 (gomp_target_init): New forward declaration.
5368 (gomp_is_initialized): New static variable.
5369 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
5370 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
5371 New structures.
5372 (offload_images, num_offload_images, devices, num_devices): New static
5373 variables.
5374 (splay_compare): New static function.
5375 (struct gomp_device_descr): New structure.
5376 (gomp_get_num_devices): Call gomp_target_init.
5377 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
5378 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
5379 (GOMP_offload_register): New function.
5380 (GOMP_target): Arrange for host callback to be performed in a separate
5381 initial thread and contention group, inheriting ICVs from
5382 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
5383 Add device initialization and lookup for target function in splay tree.
5384 (GOMP_target_data): Add device initialization and call gomp_map_vars.
5385 (GOMP_target_end_data): Call gomp_unmap_vars.
5386 (GOMP_target_update): Add device initialization and call gomp_update.
5387 (gomp_load_plugin_for_device, gomp_register_images_for_device)
5388 (gomp_target_init): New static functions.
5389
5390 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
5391 Thomas Schwinge <thomas@codesourcery.com>
5392 Ilya Verbin <ilya.verbin@intel.com>
5393 Andrey Turetskiy <andrey.turetskiy@intel.com>
5394
5395 * config.h.in: Regenerate.
5396 * configure: Regenerate.
5397 * configure.ac: Check for libdl, required for plugin support.
5398 (PLUGIN_SUPPORT): Define if plugins are supported.
5399 (enable_offload_targets): Support Intel MIC targets.
5400 (OFFLOAD_TARGETS): List of target names suitable for offloading.
5401
5402 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5403
5404 PR target/63610
5405 * configure: Regenerate.
5406
5407 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5408
5409 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
5410
5411 2014-10-06 Marek Polacek <polacek@redhat.com>
5412
5413 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
5414 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
5415 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
5416 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5417
5418 2014-10-06 Marek Polacek <polacek@redhat.com>
5419
5420 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
5421 * testsuite/libgomp.c/nqueens-1.c: Likewise.
5422 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5423 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5424 * testsuite/libgomp.c/pr36802-2.c: Likewise.
5425 * testsuite/libgomp.c/pr36802-3.c: Likewise.
5426 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
5427 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5428 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
5429 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
5430 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
5431 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
5432 * testsuite/libgomp.c/omp-single-1.c: Likewise.
5433 * testsuite/libgomp.c/omp-single-2.c: Likewise.
5434 * testsuite/libgomp.c/omp_matvec.c: Likewise.
5435 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
5436 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
5437 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
5438 declarations.
5439
5440 2014-10-03 Jakub Jelinek <jakub@redhat.com>
5441
5442 PR libgomp/61200
5443 * testsuite/libgomp.c/pr61200.c: New test.
5444
5445 2014-09-18 Jakub Jelinek <jakub@redhat.com>
5446
5447 PR c++/63248
5448 * testsuite/libgomp.c++/pr63248.C: New test.
5449
5450 2014-08-04 Jakub Jelinek <jakub@redhat.com>
5451
5452 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
5453 is not zero, but taskgroup->children is NULL and there are
5454 any task->children, schedule those instead of waiting.
5455 * testsuite/libgomp.c/depend-6.c: New test.
5456 * testsuite/libgomp.c/depend-7.c: New test.
5457 * testsuite/libgomp.c/depend-8.c: New test.
5458 * testsuite/libgomp.c/depend-9.c: New test.
5459 * testsuite/libgomp.c/depend-10.c: New test.
5460
5461 2014-08-01 Jakub Jelinek <jakub@redhat.com>
5462
5463 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
5464 (struct gomp_taskwait): New type.
5465 (struct gomp_task): Add taskwait and parent_depends_on, remove
5466 in_taskwait and taskwait_sem fields.
5467 (gomp_finish_task): Don't destroy taskwait_sem.
5468 * task.c (gomp_init_task): Don't init in_taskwait, instead init
5469 taskwait and parent_depends_on.
5470 (GOMP_task): For if (0) tasks with depend clause that depend on
5471 earlier tasks don't defer them, instead call
5472 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
5473 Initialize redundant_out field, for redundant out entries just
5474 move them at the end of linked list instead of removing them
5475 completely, and set redundant_out flag instead of redundant.
5476 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
5477 that task.
5478 (gomp_task_run_post_handle_dependers): If parent is in
5479 gomp_task_maybe_wait_for_dependencies and newly runnable task
5480 is not parent_depends_on, queue it in parent->children linked
5481 list after all runnable tasks with parent_depends_on set.
5482 Adjust for addition of taskwait indirection.
5483 (gomp_task_run_post_remove_parent): If parent is in
5484 gomp_task_maybe_wait_for_dependencies and task to be removed
5485 is parent_depends_on, decrement n_depend and if needed awake
5486 parent. Adjust for addition of taskwait indirection.
5487 (GOMP_taskwait): Adjust for addition of taskwait indirection.
5488 (gomp_task_maybe_wait_for_dependencies): New function.
5489 * testsuite/libgomp.c/depend-5.c: New test.
5490
5491 2014-07-13 Tobias Burnus <burnus@net-b.de>
5492
5493 * testsuite/libgomp.fortran/pr34020.f90: Make compile
5494 with TS 18508/Fortran 2015.
5495
5496 2014-07-06 Marek Polacek <polacek@redhat.com>
5497
5498 PR c/6940
5499 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
5500
5501 2014-07-03 Jakub Jelinek <jakub@redhat.com>
5502
5503 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
5504 matches regex $lang_source_re, add $lang_include_flags to options.
5505 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
5506 * testsuite/libgomp.c++/c++.exp: Likewise.
5507 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
5508 and lang_include_flags instead of adding -fintrinsic-modules-path= to
5509 ALWAYS_CFLAGS.
5510 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
5511
5512 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
5513
5514 * testsuite/libgomp.fortran/fortran.exp: Explain
5515 gfortran-dg-runtest usage.
5516
5517 2014-06-25 Jakub Jelinek <jakub@redhat.com>
5518
5519 * testsuite/libgomp.fortran/simd5.f90: New test.
5520 * testsuite/libgomp.fortran/simd6.f90: New test.
5521 * testsuite/libgomp.fortran/simd7.f90: New test.
5522
5523 2014-06-24 Jakub Jelinek <jakub@redhat.com>
5524
5525 * testsuite/libgomp.c/for-2.c: Define SC to static for
5526 #pragma omp for simd testing.
5527 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
5528 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
5529 SC macro.
5530 * testsuite/libgomp.c/simd-14.c: New test.
5531 * testsuite/libgomp.c/simd-15.c: New test.
5532 * testsuite/libgomp.c/simd-16.c: New test.
5533 * testsuite/libgomp.c/simd-17.c: New test.
5534 * testsuite/libgomp.c++/for-10.C: Define SC to static for
5535 #pragma omp for simd testing.
5536 * testsuite/libgomp.c++/simd10.C: New test.
5537 * testsuite/libgomp.c++/simd11.C: New test.
5538 * testsuite/libgomp.c++/simd12.C: New test.
5539 * testsuite/libgomp.c++/simd13.C: New test.
5540
5541 * testsuite/libgomp.fortran/aligned1.f03: New test.
5542 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
5543 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
5544 tasks with !$omp parallel !$omp single.
5545 * testsuite/libgomp.fortran/target8.f90: New test.
5546 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
5547 not to use trim in the combiner, instead call elemental function.
5548 (fn): New elemental function.
5549 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
5550 Make elemental.
5551 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
5552 omp_in): Likewise.
5553 * testsuite/libgomp.fortran/udr12.f90: New test.
5554 * testsuite/libgomp.fortran/udr13.f90: New test.
5555 * testsuite/libgomp.fortran/udr14.f90: New test.
5556 * testsuite/libgomp.fortran/udr15.f90: New test.
5557
5558 2014-06-18 Jakub Jelinek <jakub@redhat.com>
5559
5560 * omp_lib.f90.in (openmp_version): Set to 201307.
5561 * omp_lib.h.in (openmp_version): Likewise.
5562 * testsuite/libgomp.c/target-8.c: New test.
5563 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
5564 and inbranch clauses.
5565 * testsuite/libgomp.fortran/depend-3.f90: New test.
5566 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
5567 openmp_version.
5568 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5569 * testsuite/libgomp.fortran/target1.f90: New test.
5570 * testsuite/libgomp.fortran/target2.f90: New test.
5571 * testsuite/libgomp.fortran/target3.f90: New test.
5572 * testsuite/libgomp.fortran/target4.f90: New test.
5573 * testsuite/libgomp.fortran/target5.f90: New test.
5574 * testsuite/libgomp.fortran/target6.f90: New test.
5575 * testsuite/libgomp.fortran/target7.f90: New test.
5576
5577 2014-06-10 Jakub Jelinek <jakub@redhat.com>
5578
5579 PR fortran/60928
5580 * testsuite/libgomp.fortran/allocatable9.f90: New test.
5581 * testsuite/libgomp.fortran/allocatable10.f90: New test.
5582 * testsuite/libgomp.fortran/allocatable11.f90: New test.
5583 * testsuite/libgomp.fortran/allocatable12.f90: New test.
5584 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
5585 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
5586 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
5587 * testsuite/libgomp.fortran/associate1.f90: New test.
5588 * testsuite/libgomp.fortran/associate2.f90: New test.
5589 * testsuite/libgomp.fortran/procptr1.f90: New test.
5590
5591 2014-06-06 Jakub Jelinek <jakub@redhat.com>
5592
5593 * testsuite/libgomp.fortran/simd1.f90: New test.
5594 * testsuite/libgomp.fortran/udr1.f90: New test.
5595 * testsuite/libgomp.fortran/udr2.f90: New test.
5596 * testsuite/libgomp.fortran/udr3.f90: New test.
5597 * testsuite/libgomp.fortran/udr4.f90: New test.
5598 * testsuite/libgomp.fortran/udr5.f90: New test.
5599 * testsuite/libgomp.fortran/udr6.f90: New test.
5600 * testsuite/libgomp.fortran/udr7.f90: New test.
5601 * testsuite/libgomp.fortran/udr8.f90: New test.
5602 * testsuite/libgomp.fortran/udr9.f90: New test.
5603 * testsuite/libgomp.fortran/udr10.f90: New test.
5604 * testsuite/libgomp.fortran/udr11.f90: New test.
5605
5606 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
5607
5608 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
5609 vect_simd_clones effective target.
5610 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
5611
5612 2014-05-21 Jakub Jelinek <jakub@redhat.com>
5613
5614 PR middle-end/61252
5615 * testsuite/libgomp.c++/simd-9.C: New test.
5616
5617 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
5618
5619 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
5620 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
5621 texts according to their @menu entry positions.
5622
5623 2014-05-11 Jakub Jelinek <jakub@redhat.com>
5624
5625 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
5626 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
5627 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
5628 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
5629 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
5630 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
5631 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
5632 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
5633 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
5634 * testsuite/libgomp.fortran/depend-1.f90: New test.
5635 * testsuite/libgomp.fortran/depend-2.f90: New test.
5636 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
5637 * testsuite/libgomp.fortran/simd1.f90: New test.
5638 * testsuite/libgomp.fortran/simd2.f90: New test.
5639 * testsuite/libgomp.fortran/simd3.f90: New test.
5640 * testsuite/libgomp.fortran/simd4.f90: New test.
5641 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
5642
5643 2014-05-02 Jakub Jelinek <jakub@redhat.com>
5644
5645 * testsuite/libgomp.c/simd-10.c: New test.
5646 * testsuite/libgomp.c/simd-11.c: New test.
5647 * testsuite/libgomp.c/simd-12.c: New test.
5648 * testsuite/libgomp.c/simd-13.c: New test.
5649
5650 2014-04-24 Jakub Jelinek <jakub@redhat.com>
5651
5652 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
5653 atomic type clauses in any order and optional comma in between.
5654 * testsuite/libgomp.c++/atomic-15.C: Likewise.
5655 * testsuite/libgomp.c/atomic-17.c: Likewise.
5656
5657 * testsuite/libgomp.c/simd-7.c: New test.
5658 * testsuite/libgomp.c/simd-8.c: New test.
5659 * testsuite/libgomp.c/simd-9.c: New test.
5660 * testsuite/libgomp.c/loop-16.c: New test.
5661
5662 2014-04-02 Richard Henderson <rth@redhat.com>
5663
5664 * config/linux/futex.h (futex_wait): Get error value from errno.
5665 (futex_wake): Likewise.
5666
5667 2014-03-25 Jakub Jelinek <jakub@redhat.com>
5668
5669 PR c++/60331
5670 * testsuite/libgomp.c++/udr-11.C: New test.
5671 * testsuite/libgomp.c++/udr-12.C: New test.
5672 * testsuite/libgomp.c++/udr-13.C: New test.
5673 * testsuite/libgomp.c++/udr-14.C: New test.
5674 * testsuite/libgomp.c++/udr-15.C: New test.
5675 * testsuite/libgomp.c++/udr-16.C: New test.
5676 * testsuite/libgomp.c++/udr-17.C: New test.
5677 * testsuite/libgomp.c++/udr-18.C: New test.
5678 * testsuite/libgomp.c++/udr-19.C: New test.
5679
5680 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5681
5682 Update copyright years
5683
5684 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5685
5686 * hashtab.h: Use the standard form for the copyright notice.
5687
5688 2014-01-02 Tobias Burnus <burnus@net-b.de>
5689
5690 * libgomp.texi: Bump @copying's copyright year.
5691
5692 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
5693
5694 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
5695 alloca () with __builtin_alloca ().
5696 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
5697 * testsuite/libgomp.c/lock-3.c: Likewise.
5698 * testsuite/libgomp.c/pr48591.c: Likewise.
5699
5700 2013-12-17 Jakub Jelinek <jakub@redhat.com>
5701
5702 PR testsuite/59534
5703 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
5704 comparisons.
5705
5706 2013-12-16 Jakub Jelinek <jakub@redhat.com>
5707
5708 PR libgomp/58756
5709 * testsuite/libgomp.c/pr58756.c: New test.
5710
5711 2013-12-12 Jakub Jelinek <jakub@redhat.com>
5712
5713 PR libgomp/59467
5714 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
5715 !$omp parallel.
5716
5717 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
5718
5719 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
5720 ALWAYS_CFLAGS.
5721 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
5722 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
5723 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5724 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
5725 Likewise.
5726
5727 * libgomp_g.h: Include <stddef.h> for size_t.
5728
5729 * libgomp.spec.in: Update comment about libgomp's dependencies.
5730 * configure.ac: Likewise.
5731 * configure: Regenerate.
5732
5733 2013-10-16 Tobias Burnus <burnus@net-b.de>
5734
5735 * libgomp.texi: (Runtime Library Routines): Update references for
5736 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
5737 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
5738 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
5739 (Environment Variables): Update references for OpenMP 4.0. Add
5740 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
5741 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
5742 order.
5743
5744 2013-10-14 Jakub Jelinek <jakub@redhat.com>
5745
5746 * env.c (parse_bind_var): Initialize value to avoid
5747 (false positive) warning.
5748
5749 2013-10-12 Jakub Jelinek <jakub@redhat.com>
5750
5751 PR libgomp/58691
5752 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
5753 to check variable.
5754 (gomp_init_num_threads): Move i variable declaration into
5755 #ifdef CPU_ALLOC_SIZE block.
5756 * config/linux/affinity.c (gomp_affinity_init_level): Test
5757 gomp_places_list_len == 0 rather than gomp_places_list == 0
5758 when checking for topology reading error.
5759 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
5760 * env.c (parse_affinity): Add ignore argument, if true, don't populate
5761 gomp_places_list, only parse env var and always return false.
5762 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
5763 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
5764 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
5765 and either of these variables were parsed correctly into a places
5766 list.
5767
5768 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
5769 Jakub Jelinek <jakub@redhat.com>
5770
5771 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
5772 of 5 loopfn matches.
5773 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5774 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5775 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5776 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5777 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5778 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5779 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5780 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5781
5782 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
5783
5784 * Makefile.am (omp_lib.mod): Streamline rule.
5785 * Makefile.in: Regenerate.
5786
5787 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
5788 exceptions.
5789
5790 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
5791 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5792 * testsuite/libgomp.fortran/lib2.f: Likewise.
5793 * testsuite/libgomp.fortran/lib3.f: Likewise.
5794
5795 * configure.ac: Typo fix.
5796 * configure: Regenerate.
5797
5798 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
5799 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5800
5801 * omp.h.in: Don't touch the user's namespace.
5802
5803 2013-10-11 Jakub Jelinek <jakub@redhat.com>
5804 Tobias Burnus <burnus@net-b.de>
5805 Richard Henderson <rth@redhat.com>
5806
5807 * target.c: New file.
5808 * Makefile.am (libgomp_la_SOURCES): Add target.c.
5809 * Makefile.in: Regenerated.
5810 * libgomp_g.h (GOMP_task): Add depend argument.
5811 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5812 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5813 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
5814 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5815 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5816 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
5817 GOMP_taskgroup_start, GOMP_taskgroup_end,
5818 GOMP_parallel_sections): New prototypes.
5819 * fortran.c (omp_is_initial_device): Add ialias_redirect.
5820 (omp_is_initial_device_): New function.
5821 (ULP, STR1, STR2, ialias_redirect): Removed.
5822 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
5823 omp_set_default_device_8_, omp_get_default_device_,
5824 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
5825 functions.
5826 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5827 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5828 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
5829 @@GOMP_4.0.
5830 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
5831 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
5832 omp_set_default_device, omp_set_default_device_,
5833 omp_set_default_device_8_, omp_get_default_device,
5834 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
5835 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
5836 omp_get_team_num_): Export @@OMP_4.0.
5837 * team.c (struct gomp_thread_start_data): Add place field.
5838 (gomp_thread_start): Clear thr->thread_pool and
5839 thr->task before returning. Use gomp_team_barrier_wait_final
5840 instead of gomp_team_barrier_wait. Initialize thr->place.
5841 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
5842 team_cancelled and task_queued_count fields.
5843 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
5844 before calling pthread_exit.
5845 (gomp_free_thread): No longer static. Use
5846 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
5847 (gomp_team_start): Add flags argument. Set
5848 thr->thread_pool->threads_busy to nthreads immediately after creating
5849 new pool. Use gomp_managed_threads_lock instead of
5850 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
5851 (gomp_team_end): Use gomp_managed_threads_lock instead of
5852 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
5853 of gomp_team_barrier_wait. If team->team_cancelled, call
5854 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
5855 rather than thr->ts.work_share.
5856 (initialize_team): Don't call gomp_sem_init here.
5857 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
5858 caller.
5859 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
5860 * env.c (gomp_global_icv): Add default_device_var, target_data and
5861 bind_var initializers.
5862 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5863 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5864 gomp_places_list_len): New variables.
5865 (parse_bind_var, parse_one_place, parse_places_var): New functions.
5866 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
5867 sized places.
5868 (gomp_cancel_var): New global variable.
5869 (parse_int): New function.
5870 (handle_omp_display_env): New function.
5871 (initialize_env): Use it. Initialize default_device_var.
5872 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
5873 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
5874 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
5875 been successfully parsed (and call gomp_init_affinity in that case).
5876 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5877 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5878 omp_get_team_num, omp_is_initial_device): New functions.
5879 * libgomp.h: Include stdlib.h.
5880 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
5881 Define.
5882 (struct target_mem_desc): Forward declare.
5883 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
5884 and thread_limit_var fields.
5885 (gomp_get_num_devices): New prototype.
5886 (gomp_cancel_var): New extern decl.
5887 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
5888 team_cancelled and task_queued_count fields. Add comments about
5889 task_{,queued_,running_}count.
5890 (gomp_cancel_kind): New enum.
5891 (gomp_work_share_end_cancel): New prototype.
5892 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
5893 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
5894 and depend fields.
5895 (struct gomp_taskgroup): New type.
5896 (struct gomp_task_depend_entry,
5897 struct gomp_dependers_vec): New types.
5898 (gomp_finish_task): Free depend_hash if non-NULL.
5899 (struct gomp_team_state): Add place_partition_off
5900 and place_partition_len fields.
5901 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5902 gomp_places_list_len): New extern decls.
5903 (struct gomp_thread): Add place field.
5904 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5905 (gomp_init_thread_affinity): Add place argument.
5906 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5907 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5908 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5909 gomp_affinity_init_level, gomp_affinity_print_place): New
5910 prototypes.
5911 (gomp_team_start): Add flags argument.
5912 (gomp_thread_limit_var, gomp_remaining_threads_count,
5913 gomp_remaining_threads_lock): Remove.
5914 (gomp_managed_threads_lock): New variable.
5915 (struct gomp_thread_pool): Add threads_busy field.
5916 (gomp_free_thread): New prototype.
5917 * task.c: Include hashtab.h.
5918 (hash_entry_type): New typedef.
5919 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
5920 (gomp_init_task): Clear dependers, depend_hash, depend_count,
5921 copy_ctors_done and taskgroup fields.
5922 (GOMP_task): Add depend argument, handle depend clauses. If
5923 gomp_team_barrier_cancelled or if it's taskgroup has been
5924 cancelled, don't queue or start new tasks. Set copy_ctors_done
5925 field if needed. Initialize taskgroup field. If copy_ctors_done
5926 and already cancelled, don't discard the task. If taskgroup is
5927 non-NULL, enqueue the task into taskgroup queue. Increment
5928 num_children field in taskgroup. Increment task_queued_count.
5929 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
5930 gomp_task_run_post_remove_taskgroup): New inline functions.
5931 (gomp_task_run_post_handle_depend_hash,
5932 gomp_task_run_post_handle_dependers,
5933 gomp_task_run_post_handle_depend): New functions.
5934 (GOMP_taskwait): Use them. If more than one new tasks
5935 have been queued, wake other threads if needed.
5936 (gomp_barrier_handle_tasks): Likewise. If
5937 gomp_team_barrier_cancelled, don't start any new tasks, just free
5938 all tasks.
5939 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
5940 * omp_lib.f90.in
5941 (omp_proc_bind_kind, omp_proc_bind_false,
5942 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5943 omp_proc_bind_spread): New params.
5944 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5945 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5946 omp_get_team_num, omp_is_initial_device): New interfaces.
5947 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
5948 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
5949 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
5950 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
5951 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
5952 useless use omp_lib_kinds.
5953 * omp.h.in (omp_proc_bind_t): New typedef.
5954 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5955 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5956 omp_get_team_num, omp_is_initial_device): New prototypes.
5957 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
5958 through to gomp_team_start.
5959 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
5960 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
5961 Adjust gomp_parallel_loop_start callers.
5962 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5963 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5964 GOMP_loop_end_cancel): New functions.
5965 (GOMP_parallel_end): Add ialias_redirect.
5966 * hashtab.h: New file.
5967 * libgomp.texi (Environment Variables): Minor cleanup,
5968 update section refs to OpenMP 4.0rc2.
5969 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
5970 environment variables.
5971 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
5972 team->work_shares_to_free to thr->ts.work_share before calling
5973 free_work_share.
5974 (gomp_work_share_end_cancel): New function.
5975 * config/linux/proc.c: Include errno.h.
5976 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
5977 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
5978 sizeof (cpu_set_t) to determine number of iterations. Fix up check
5979 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
5980 gomp_cpuset_size is sizeof (cpu_set_t).
5981 (gomp_init_num_threads): Initialize gomp_cpuset_size,
5982 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
5983 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
5984 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
5985 contain any logical CPUs.
5986 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
5987 is NULL. Use gomp_cpusetp instead of &cpuset and pass
5988 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
5989 pthread_getaffinity_np. Check gomp_places_list instead of
5990 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
5991 * config/linux/bar.c (gomp_barrier_wait_end,
5992 gomp_barrier_wait_last): Use BAR_* defines.
5993 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5994 from state where needed. Set work_share_cancelled to 0 on last
5995 thread.
5996 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5997 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5998 functions.
5999 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
6000 Add cpusetsize argument.
6001 (gomp_cpuset_size, gomp_cpusetp): Declare.
6002 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
6003 (affinity_counter): Remove.
6004 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
6005 if CPU_ALLOC_SIZE isn't defined.
6006 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
6007 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
6008 bind current thread to the first place.
6009 (gomp_init_thread_affinity): Rewritten. Add place argument, just
6010 pthread_setaffinity_np to gomp_places_list[place].
6011 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
6012 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
6013 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
6014 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
6015 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
6016 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
6017 (gomp_barrier_t): Add awaited_final field.
6018 (gomp_barrier_init): Initialize awaited_final field.
6019 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
6020 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
6021 prototypes.
6022 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
6023 defines.
6024 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
6025 gomp_team_barrier_cancelled): New inline functions.
6026 (gomp_barrier_last_thread,
6027 gomp_team_barrier_set_task_pending,
6028 gomp_team_barrier_clear_task_pending,
6029 gomp_team_barrier_set_waiting_for_tasks,
6030 gomp_team_barrier_waiting_for_tasks,
6031 gomp_team_barrier_done): Use BAR_* defines.
6032 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
6033 (gomp_barrier_wait_end): Use BAR_* defines.
6034 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
6035 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
6036 Use BAR_* defines.
6037 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
6038 gomp_team_barrier_cancel): New functions.
6039 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
6040 argument.
6041 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
6042 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
6043 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
6044 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
6045 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
6046 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
6047 (gomp_barrier_t): Add cancellable field.
6048 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
6049 gomp_team_barrier_cancel): New prototypes.
6050 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
6051 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
6052 gomp_team_barrier_cancelled): New inline functions.
6053 (gomp_barrier_wait_start, gomp_barrier_last_thread,
6054 gomp_team_barrier_set_task_pending,
6055 gomp_team_barrier_clear_task_pending,
6056 gomp_team_barrier_set_waiting_for_tasks,
6057 gomp_team_barrier_waiting_for_tasks,
6058 gomp_team_barrier_done): Use BAR_* defines.
6059 * barrier.c (GOMP_barrier_cancel): New function.
6060 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
6061 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
6062 omp_proc_bind_spread): New params.
6063 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
6064 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
6065 omp_get_team_num, omp_is_initial_device): New externals.
6066 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
6067 New functions.
6068 (gomp_resolve_num_threads): Adjust for thread_limit now being in
6069 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
6070 infinity. If not nested, just return minimum of max_num_threads
6071 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
6072 to the returned value. Otherwise, don't update atomically
6073 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
6074 (GOMP_parallel_end): Adjust for thread_limit now being in
6075 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
6076 infinity. Adjust threads_busy in the pool rather than
6077 gomp_remaining_threads_count. Remember team->nthreads and call
6078 gomp_team_end before adjusting threads_busy, if not nested
6079 afterwards, just set it to 1 non-atomically. Add ialias.
6080 (GOMP_parallel_start): Adjust gomp_team_start caller.
6081 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
6082 * testsuite/libgomp.c/affinity-1.c: New test.
6083 * testsuite/libgomp.c/atomic-15.c: New test.
6084 * testsuite/libgomp.c/atomic-16.c: New test.
6085 * testsuite/libgomp.c/atomic-17.c: New test.
6086 * testsuite/libgomp.c/cancel-for-1.c: New test.
6087 * testsuite/libgomp.c/cancel-for-2.c: New test.
6088 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
6089 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
6090 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
6091 * testsuite/libgomp.c/cancel-sections-1.c: New test.
6092 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
6093 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
6094 * testsuite/libgomp.c/depend-1.c: New test.
6095 * testsuite/libgomp.c/depend-2.c: New test.
6096 * testsuite/libgomp.c/depend-3.c: New test.
6097 * testsuite/libgomp.c/depend-4.c: New test.
6098 * testsuite/libgomp.c/for-1.c: New test.
6099 * testsuite/libgomp.c/for-1.h: New file.
6100 * testsuite/libgomp.c/for-2.c: New test.
6101 * testsuite/libgomp.c/for-2.h: New file.
6102 * testsuite/libgomp.c/for-3.c: New test.
6103 * testsuite/libgomp.c/pr58392.c: New test.
6104 * testsuite/libgomp.c/simd-1.c: New test.
6105 * testsuite/libgomp.c/simd-2.c: New test.
6106 * testsuite/libgomp.c/simd-3.c: New test.
6107 * testsuite/libgomp.c/simd-4.c: New test.
6108 * testsuite/libgomp.c/simd-5.c: New test.
6109 * testsuite/libgomp.c/simd-6.c: New test.
6110 * testsuite/libgomp.c/target-1.c: New test.
6111 * testsuite/libgomp.c/target-2.c: New test.
6112 * testsuite/libgomp.c/target-3.c: New test.
6113 * testsuite/libgomp.c/target-4.c: New test.
6114 * testsuite/libgomp.c/target-5.c: New test.
6115 * testsuite/libgomp.c/target-6.c: New test.
6116 * testsuite/libgomp.c/target-7.c: New test.
6117 * testsuite/libgomp.c/taskgroup-1.c: New test.
6118 * testsuite/libgomp.c/thread-limit-1.c: New test.
6119 * testsuite/libgomp.c/thread-limit-2.c: New test.
6120 * testsuite/libgomp.c/thread-limit-3.c: New test.
6121 * testsuite/libgomp.c/udr-1.c: New test.
6122 * testsuite/libgomp.c/udr-2.c: New test.
6123 * testsuite/libgomp.c/udr-3.c: New test.
6124 * testsuite/libgomp.c++/affinity-1.C: New test.
6125 * testsuite/libgomp.c++/atomic-10.C: New test.
6126 * testsuite/libgomp.c++/atomic-11.C: New test.
6127 * testsuite/libgomp.c++/atomic-12.C: New test.
6128 * testsuite/libgomp.c++/atomic-13.C: New test.
6129 * testsuite/libgomp.c++/atomic-14.C: New test.
6130 * testsuite/libgomp.c++/atomic-15.C: New test.
6131 * testsuite/libgomp.c++/cancel-for-1.C: New test.
6132 * testsuite/libgomp.c++/cancel-for-2.C: New test.
6133 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
6134 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
6135 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
6136 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
6137 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
6138 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
6139 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
6140 * testsuite/libgomp.c++/cancel-test.h: New file.
6141 * testsuite/libgomp.c++/for-9.C: New test.
6142 * testsuite/libgomp.c++/for-10.C: New test.
6143 * testsuite/libgomp.c++/for-11.C: New test.
6144 * testsuite/libgomp.c++/simd-1.C: New test.
6145 * testsuite/libgomp.c++/simd-2.C: New test.
6146 * testsuite/libgomp.c++/simd-3.C: New test.
6147 * testsuite/libgomp.c++/simd-4.C: New test.
6148 * testsuite/libgomp.c++/simd-5.C: New test.
6149 * testsuite/libgomp.c++/simd-6.C: New test.
6150 * testsuite/libgomp.c++/simd-7.C: New test.
6151 * testsuite/libgomp.c++/simd-8.C: New test.
6152 * testsuite/libgomp.c++/target-1.C: New test.
6153 * testsuite/libgomp.c++/target-2.C: New test.
6154 * testsuite/libgomp.c++/target-2-aux.cc: New file.
6155 * testsuite/libgomp.c++/target-3.C: New test.
6156 * testsuite/libgomp.c++/taskgroup-1.C: New test.
6157 * testsuite/libgomp.c++/udr-1.C: New test.
6158 * testsuite/libgomp.c++/udr-2.C: New test.
6159 * testsuite/libgomp.c++/udr-3.C: New test.
6160 * testsuite/libgomp.c++/udr-4.C: New test.
6161 * testsuite/libgomp.c++/udr-5.C: New test.
6162 * testsuite/libgomp.c++/udr-6.C: New test.
6163 * testsuite/libgomp.c++/udr-7.C: New test.
6164 * testsuite/libgomp.c++/udr-8.C: New test.
6165 * testsuite/libgomp.c++/udr-9.C: New test.
6166
6167 2013-09-20 Jakub Jelinek <jakub@redhat.com>
6168
6169 PR testsuite/57605
6170 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
6171 ALWAYS_CFLAGS.
6172
6173 2013-09-20 Alan Modra <amodra@gmail.com>
6174
6175 * configure: Regenerate.
6176
6177 2013-09-19 Jakub Jelinek <jakub@redhat.com>
6178
6179 * testsuite/libgomp.c/sections-2.c: New test.
6180
6181 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
6182
6183 * testsuite/libgomp.fortran/strassen.f90:
6184 Add dg-skip-if aarch64_tiny.
6185
6186 2013-06-20 Iain Sandoe <iain@codesourcery.com>
6187 Cesar Philippidis <cesar@codesourcery.com>
6188
6189 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
6190 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
6191 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
6192 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6193 * testsuite/libgomp.graphite/graphite.exp: Likewise.
6194 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
6195 Use dg-runtest rather than gfortran-dg-runtest.
6196
6197 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
6198
6199 * testsuite/libgomp.c/icv-2.c: Extend current handling of
6200 Linux-based x86 systems to cover all GNU systems.
6201 * testsuite/libgomp.c/lock-3.c: Likewise.
6202 * testsuite/libgomp.c/pr48591.c: Likewise.
6203
6204 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
6205
6206 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
6207 GNU/Hurd, as done for Linux-based systems.
6208
6209 * config/posix/ptrlock.h: Fix comment.
6210
6211 2013-05-27 Tobias Burnus <burnus@net-b.de>
6212
6213 PR fortran/57423
6214 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
6215 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
6216 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
6217 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
6218 omp_destroy_nest_lock): Correct arguments to match the one in
6219 the OpenMP spec.
6220 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
6221 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
6222 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
6223 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
6224
6225 2013-05-16 Jakub Jelinek <jakub@redhat.com>
6226
6227 * testsuite/libgomp.c/loop-13.c: New test.
6228 * testsuite/libgomp.c/loop-14.c: New test.
6229 * testsuite/libgomp.c/loop-15.c: New test.
6230 * testsuite/libgomp.c++/loop-13.C: New test.
6231 * testsuite/libgomp.c++/loop-14.C: New test.
6232 * testsuite/libgomp.c++/loop-15.C: New test.
6233
6234 2013-02-06 Jakub Jelinek <jakub@redhat.com>
6235
6236 PR middle-end/56217
6237 * testsuite/libgomp.c++/pr56217.C: New test.
6238
6239 2013-02-01 Alan Modra <amodra@gmail.com>
6240
6241 * task.c (GOMP_task, GOMP_taskwait): Comment.
6242
6243 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
6244 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
6245
6246 PR libgomp/55561
6247 * config/linux/wait.h (do_spin): Use atomic load for addr.
6248 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
6249 for intptr and ptrlock.
6250 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
6251 for ptrlock.
6252
6253 2013-01-22 Alan Modra <amodra@gmail.com>
6254
6255 PR libgomp/51376
6256 PR libgomp/56073
6257 * task.c (GOMP_task): Revert 2011-12-09 change.
6258 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
6259 barrier to read task->children..
6260 (gomp_barrier_handle_tasks): ..and matching atomic store with
6261 release barrier here when setting parent->children to NULL.
6262
6263 2013-01-16 Jakub Jelinek <jakub@redhat.com>
6264 Tobias Burnus <burnus@net-b.de>
6265
6266 PR driver/55884
6267 * testsuite/libgomp.fortran/fortran.exp: Use
6268 -fintrinsic-modules-path= instead of
6269 -fintrinsic-modules-path.
6270
6271 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
6272
6273 Update copyright years.
6274
6275 2012-12-19 Tobias Burnus <burnus@net-b.de>
6276
6277 * testsuite/libgomp.fortran/fortran.exp: Set
6278 -fintrinsic-modules-path.
6279
6280 2012-12-19 Tobias Burnus <burnus@net-b.de>
6281
6282 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
6283 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
6284
6285 2012-11-21 Jakub Jelinek <jakub@redhat.com>
6286
6287 PR libgomp/55411
6288 * team.c (gomp_free_thread): Decrease gomp_managed_threads
6289 if pool had any threads_used.
6290
6291 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
6292
6293 * testsuite/libgomp.c++/pr24455.C: Use
6294 -Wl,-undefined,dynamic_lookup on darwin.
6295
6296 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
6297
6298 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
6299
6300 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
6301
6302 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
6303
6304 2012-10-23 Ian Bolton <ian.bolton@arm.com>
6305 Jim MacArthur <jim.macarthur@arm.com>
6306 Marcus Shawcroft <marcus.shawcroft@arm.com>
6307 Nigel Stephens <nigel.stephens@arm.com>
6308 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6309 Richard Earnshaw <rearnsha@arm.com>
6310 Sofiane Naci <sofiane.naci@arm.com>
6311 Stephen Thomas <stephen.thomas@arm.com>
6312 Tejas Belagod <tejas.belagod@arm.com>
6313 Yufeng Zhang <yufeng.zhang@arm.com>
6314
6315 * configure.tgt: Add AArch64.
6316
6317 2012-10-04 Jason Merrill <jason@redhat.com>
6318
6319 * testsuite/libgomp.c++/tls-init1.C: New.
6320
6321 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
6322
6323 * configure: Regenerated.
6324
6325 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
6326
6327 * config/linux/mips/futex.h (sys_futex0): Change to static
6328 function with noinline, nomips16 attributes under MIPS16. Adjust
6329 asm statement to place 'li v0,SYS_futex' immediately before
6330 syscall insn.
6331
6332 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
6333
6334 * libgomp.texi (Library Index): Renamed from "Index" to prevent
6335 conflict with index.html on case-insensitive file systems.
6336
6337 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
6338
6339 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
6340 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
6341
6342 2012-07-02 Richard Guenther <rguenther@suse.de>
6343 Michael Matz <matz@suse.de>
6344 Tobias Grosser <tobias@grosser.es>
6345 Sebastian Pop <sebpop@gmail.com>
6346
6347 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
6348 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6349 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6350 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6351
6352 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
6353
6354 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
6355
6356 2012-06-22 Richard Guenther <rguenther@suse.de>
6357
6358 Merge from graphite branch
6359 2012-01-13 Tobias Grosser <tobias@grosser.es>
6360
6361 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6362 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6363
6364 2012-06-07 Jakub Jelinek <jakub@redhat.com>
6365
6366 PR middle-end/53580
6367 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
6368 use GOMP_barrier () call instead.
6369 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6370 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6371 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
6372 call GOMP_barrier instead.
6373 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6374
6375 2012-06-06 Jakub Jelinek <jakub@redhat.com>
6376
6377 PR libgomp/52993
6378 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
6379 argument to memset call.
6380
6381 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
6382
6383 * configure: Regenerated.
6384
6385 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6386
6387 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
6388
6389 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
6390
6391 PR bootstrap/52812
6392 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
6393
6394 2012-03-22 Jakub Jelinek <jakub@redhat.com>
6395
6396 PR middle-end/52547
6397 * testsuite/libgomp.c/pr52547.c: New test.
6398
6399 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6400
6401 * testsuite/lib/libgomp.exp: load fortran-modules.exp
6402
6403 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6404
6405 * configure.tgt (mips-sgi-irix6*): Remove.
6406
6407 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6408
6409 * configure.tgt (alpha*-dec-osf*): Remove.
6410
6411 * config/osf/sem.h: Remove.
6412 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
6413
6414 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
6415
6416 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
6417
6418 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6419
6420 PR libstdc++/52188
6421 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
6422 Remove ENABLE_SYMVERS_SOL2.
6423 * configure: Regenerate.
6424 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
6425 (PREPROCESS): New variable.
6426 (libgomp.ver): New target.
6427 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
6428 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
6429 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
6430 Use libgomp.ver.
6431 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
6432 * Makefile.in: Regenerate.
6433
6434 2012-02-14 Walter Lee <walt@tilera.com>
6435
6436 * configure.tgt: Handle tilegx and tilepro.
6437 * config/linux/tile/futex.h: New file.
6438
6439 2012-02-08 Richard Guenther <rguenther@suse.de>
6440
6441 PR tree-optimization/46886
6442 * testsuite/libgomp.c/pr46886.c: New testcase.
6443
6444 2012-01-25 Matthias Klose <doko@ubuntu.com>
6445
6446 * config/linux/arm: Remove empty directory.
6447 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
6448
6449 2011-12-09 Alan Modra <amodra@gmail.com>
6450
6451 PR libgomp/51376
6452 * task.c (GOMP_taskwait): Don't access task->children outside of
6453 task_lock mutex region.
6454 (GOMP_task): Likewise.
6455
6456 2011-12-06 Jakub Jelinek <jakub@redhat.com>
6457
6458 PR libgomp/51132
6459 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
6460 to file scope.
6461 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6462 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6463 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6464 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6465 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6466
6467 2011-12-02 Alan Modra <amodra@gmail.com>
6468
6469 * config/linux/affinity.c: Use atomic rather than sync builtin.
6470 * config/linux/lock.c: Likewise.
6471 * config/linux/ptrlock.h: Likewise.
6472 * config/linux/ptrlock.c: Likewise.
6473 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
6474 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
6475 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
6476 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
6477 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
6478 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
6479 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
6480 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
6481 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
6482 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
6483
6484 2011-11-30 Alan Modra <amodra@gmail.com>
6485
6486 PR libgomp/51298
6487 * config/linux/bar.h: Use atomic rather than sync builtins.
6488 * config/linux/bar.c: Likewise. Add missing acquire
6489 synchronisation on generation field.
6490 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
6491 double unlock.
6492
6493 2011-11-30 Alan Modra <amodra@gmail.com>
6494
6495 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
6496 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
6497 * config/linux/mutex.h: Use atomic rather than sync builtins.
6498 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
6499 * config/linux/omp-lock.h: Comment fix.
6500 * config/linux/arm/mutex.h: Delete.
6501 * config/linux/powerpc/mutex.h: Delete.
6502 * config/linux/ia64/mutex.h: Delete.
6503 * config/linux/mips/mutex.h: Delete.
6504
6505 2011-11-30 Alan Modra <amodra@gmail.com>
6506
6507 PR libgomp/51249
6508 * config/linux/sem.h: Rewrite.
6509 * config/linux/sem.c: Rewrite.
6510
6511 2011-11-28 Richard Henderson <rth@redhat.com>
6512
6513 * libgomp.h (enum memmodel): New.
6514
6515 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
6516
6517 * configure: Regenerate.
6518
6519 2011-10-10 Matthias Klose <doko@ubuntu.com>
6520
6521 * config/posix95: Remove empty directory.
6522
6523 2011-08-26 Jakub Jelinek <jakub@redhat.com>
6524
6525 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
6526
6527 2011-08-19 Jakub Jelinek <jakub@redhat.com>
6528
6529 PR fortran/49792
6530 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
6531 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
6532
6533 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6534
6535 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
6536
6537 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6538
6539 PR libgomp/49965
6540 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
6541
6542 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
6543
6544 * config/linux/proc.h: New.
6545 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
6546 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
6547 (gomp_init_num_threads): Update call to cpuset_popcount.
6548 (get_num_procs): Ditto.
6549 * config/linux/affinity.c (gomp_init_affinity): Call
6550 gomp_cpuset_popcount.
6551
6552 2011-08-02 Jakub Jelinek <jakub@redhat.com>
6553
6554 PR fortran/42041
6555 PR fortran/46752
6556 * omp.h.in (omp_in_final): New prototype.
6557 * omp_lib.f90.in (omp_in_final): New interface.
6558 (omp_integer_kind, omp_logical_kind): Remove
6559 and replace all its uses in the module with 4.
6560 (openmp_version): Change to 201107.
6561 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
6562 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
6563 kind for the parameters.
6564 (omp_in_final): New external.
6565 (openmp_version): Change to 201107.
6566 * task.c (omp_in_final): New function.
6567 (gomp_init_task): Initialize final_task.
6568 (GOMP_task): Remove unused attribute from flags. Handle final
6569 tasks.
6570 (GOMP_taskyield): New function.
6571 (omp_in_final): Return true if if (false) or final (true) task
6572 or descendant of final (true).
6573 * fortran.c (omp_in_final_): New function.
6574 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
6575 (GOMP_3.0): Export GOMP_taskyield.
6576 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
6577 variables.
6578 (parse_unsigned_long_list): New function.
6579 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
6580 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
6581 even if parse_affinity returned false.
6582 * config/linux/affinity.c (gomp_init_affinity): Handle
6583 gomp_cpu_affinity_len == 0.
6584 * libgomp_g.h (GOMP_taskyield): New prototype.
6585 * libgomp.h (struct gomp_task): Add final_task field.
6586 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
6587 * team.c (gomp_team_start): Override new task's nthreads_var icv
6588 if list form OMP_NUM_THREADS has been used and it has value for
6589 the new nesting level.
6590
6591 * testsuite/libgomp.c/atomic-11.c: New test.
6592 * testsuite/libgomp.c/atomic-12.c: New test.
6593 * testsuite/libgomp.c/atomic-13.c: New test.
6594 * testsuite/libgomp.c/atomic-14.c: New test.
6595 * testsuite/libgomp.c/reduction-6.c: New test.
6596 * testsuite/libgomp.c/task-5.c: New test.
6597 * testsuite/libgomp.c++/atomic-2.C: New test.
6598 * testsuite/libgomp.c++/atomic-3.C: New test.
6599 * testsuite/libgomp.c++/atomic-4.C: New test.
6600 * testsuite/libgomp.c++/atomic-5.C: New test.
6601 * testsuite/libgomp.c++/atomic-6.C: New test.
6602 * testsuite/libgomp.c++/atomic-7.C: New test.
6603 * testsuite/libgomp.c++/atomic-8.C: New test.
6604 * testsuite/libgomp.c++/atomic-9.C: New test.
6605 * testsuite/libgomp.c++/task-8.C: New test.
6606 * testsuite/libgomp.c++/reduction-4.C: New test.
6607 * testsuite/libgomp.fortran/allocatable7.f90: New test.
6608 * testsuite/libgomp.fortran/allocatable8.f90: New test.
6609 * testsuite/libgomp.fortran/crayptr3.f90: New test.
6610 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
6611 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
6612 * testsuite/libgomp.fortran/pointer1.f90: New test.
6613 * testsuite/libgomp.fortran/pointer2.f90: New test.
6614 * testsuite/libgomp.fortran/task4.f90: New test.
6615
6616 2011-08-02 Tobias Burnus <burnus@net-b.de>
6617
6618 * libgomp.texi: Update OpenMP spec references to 3.1.
6619 (omp_in_final,OMP_PROC_BIND): New sections.
6620 (OMP_NUM_THREADS): Document that the value can be now a list.
6621 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
6622
6623 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
6624
6625 * config/linux/x86/futex.h: Check __x86_64__ instead of
6626 __LP64__.
6627
6628 2011-07-29 Jakub Jelinek <jakub@redhat.com>
6629
6630 PR middle-end/49897
6631 PR middle-end/49898
6632 * testsuite/libgomp.c/pr49897-1.c: New test.
6633 * testsuite/libgomp.c/pr49897-2.c: New test.
6634 * testsuite/libgomp.c/pr49898-1.c: New test.
6635 * testsuite/libgomp.c/pr49898-2.c: New test.
6636
6637 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
6638
6639 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
6640 for ia32 instead of ilp32.
6641
6642 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
6643 * testsuite/libgomp.c/atomic-6.c: Likewise.
6644
6645 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
6646
6647 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
6648 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
6649
6650 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6651
6652 PR libgomp/45351
6653 * config/osf/sem.h: New file.
6654 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
6655
6656 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6657
6658 PR target/49541
6659 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
6660 ldflags.
6661
6662 2011-07-15 Jakub Jelinek <jakub@redhat.com>
6663
6664 * config/linux/wait.h (do_spin): New inline, largely copied
6665 from do_wait, just don't do futex_wait here, instead return true if
6666 it should be done.
6667 (do_wait): Implement using do_spin.
6668 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
6669 to prototype.
6670 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6671 __sync_bool_compare_and_swap, pass the oldval to
6672 gomp_mutex_lock_slow.
6673 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
6674 If all mutex contenders are just spinning and not sleeping, don't
6675 change state to 2 unnecessarily. Optimize the loop when state has
6676 already become 2 to use just one atomic operation per loop instead
6677 of two.
6678 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
6679 to prototype.
6680 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6681 __sync_bool_compare_and_swap, pass the oldval to
6682 gomp_mutex_lock_slow.
6683
6684 2011-06-22 Jakub Jelinek <jakub@redhat.com>
6685
6686 PR libgomp/49490
6687 * iter.c (gomp_iter_static_next): For chunk size 0
6688 only use n ceil/ nthreads size for the first
6689 n % nthreads threads in the team instead of
6690 all threads except for the last few ones which
6691 get less work or none at all.
6692 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
6693 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
6694 chunk argument, set run_sched_modifier to 0 for static
6695 resp. 1 for other kinds. If chunk argument is 0
6696 and not static, set value to 1.
6697
6698 2011-05-19 Jakub Jelinek <jakub@redhat.com>
6699
6700 PR c++/49043
6701 * testsuite/libgomp.c++/pr49043.C: New test.
6702
6703 PR c++/48869
6704 * testsuite/libgomp.c++/pr48869.C: New test.
6705
6706 2011-05-06 Jakub Jelinek <jakub@redhat.com>
6707
6708 PR fortran/48894
6709 * fortran.c: Include limits.h.
6710 (TO_INT): Define.
6711 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
6712 *set.
6713 (omp_set_num_threads_8_, omp_set_schedule_8_,
6714 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
6715 omp_get_team_size_8_): Use TO_INT macro.
6716 * testsuite/libgomp.fortran/pr48894.f90: New test.
6717
6718 2011-04-13 Jakub Jelinek <jakub@redhat.com>
6719
6720 PR middle-end/48591
6721 * testsuite/libgomp.c/pr48591.c: New test.
6722
6723 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6724
6725 PR bootstrap/48135
6726 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
6727 * configure: Regenerate.
6728
6729 2011-02-27 Jakub Jelinek <jakub@redhat.com>
6730
6731 PR fortran/47886
6732 * testsuite/libgomp.fortran/task3.f90: New test.
6733
6734 2011-02-24 Tobias Burnus <burnus@net-b.de>
6735
6736 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
6737
6738 2011-02-23 Jakub Jelinek <jakub@redhat.com>
6739
6740 PR libgomp/47854
6741 * libgomp.texi (omp_get_wtime): Don't say time in the past
6742 must be Unix Epoch.
6743
6744 2011-02-18 Jakub Jelinek <jakub@redhat.com>
6745
6746 PR libgomp/47804
6747 * testsuite/libgomp.fortran/fortran.exp: Check for both
6748 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
6749 but $blddir != "", still append ${blddir}/${lang_library_path}
6750 to ld_library_path.
6751
6752 2011-02-16 Tobias Burnus <burnus@net-b.de>
6753
6754 PR libgomp/47758
6755 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
6756 of libquadmath.a before adding its libpath to ldflags.
6757
6758 2011-02-14 Jakub Jelinek <jakub@redhat.com>
6759
6760 PR libgomp/47731
6761 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
6762 to FUTEX_WAIT futex syscall.
6763 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
6764
6765 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6766
6767 * configure: Regenerate.
6768
6769 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
6770
6771 PR libstdc++/36104
6772 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
6773
6774 2011-01-16 Gerald Pfeifer
6775
6776 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
6777
6778 2010-12-14 Jakub Jelinek <jakub@redhat.com>
6779
6780 PR fortran/46874
6781 * libgomp.fortran/allocatable6.f90: New test.
6782
6783 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6784
6785 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
6786 * configure: Regenerate.
6787
6788 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
6789
6790 PR target/40125
6791 PR lto/46695
6792 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
6793 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
6794 * aclocal.m4: Regenerate.
6795 * configure: Regenerate.
6796 * Makefile.in: Regenerate.
6797 * testsuite/Makefile.in: Regenerate.
6798
6799 2010-12-02 Jakub Jelinek <jakub@redhat.com>
6800
6801 PR fortran/46753
6802 * libgomp.fortran/pr46753.f90: New test.
6803
6804 PR libgomp/43706
6805 * env.c (initialize_env): Default to spin count 300000
6806 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
6807 is specified.
6808
6809 PR libgomp/45240
6810 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
6811 at the end if sync builtins aren't supported.
6812
6813 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6814
6815 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
6816
6817 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6818
6819 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
6820
6821 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
6822
6823 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
6824
6825 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6826 Tobias Burnus <burnus@net-b.de>
6827
6828 PR fortran/32049
6829 * configure.ac:
6830 * configure: Regenerate.
6831
6832 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
6833
6834 * config/linux/futex.h: New.
6835 * config/linux/arm/mutex.h: New.
6836 * configure.tgt (arm*-*-linux*): Add config path.
6837
6838 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6839
6840 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6841
6842 2010-09-23 Tobias Burnus <burnus@net-b.de>
6843
6844 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
6845 Change Fortran datatype to LOGICAL.
6846 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
6847 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
6848
6849 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6850
6851 * configure: Regenerate.
6852
6853 2010-07-26 Jakub Jelinek <jakub@redhat.com>
6854
6855 * libgomp.texi: Add function keyword to a couple of Fortran
6856 interfaces, use integer instead of int for Fortran.
6857
6858 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
6859
6860 * libgomp.texi: Fix spelling and pasto problems throughout.
6861 Adjust prototypes to match code.
6862
6863 2010-07-24 Tobias Burnus <burnus@net-b.de>
6864
6865 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
6866 silence -fwhole-file warning.
6867
6868 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6869
6870 * configure.tgt (*-*-solaris2.[56]*): Removed.
6871
6872 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6873
6874 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
6875 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
6876 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
6877 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
6878 targetting solaris2*.
6879 * configure: Regenerate.
6880 * config.h.in: Regenerate.
6881
6882 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
6883 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
6884 Add libgomp_version_dep.
6885 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
6886 versioning.
6887 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
6888 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
6889 * Makefile.in: Regenerate.
6890
6891 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
6892 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6893 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
6894 to common block, protected by
6895 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6896
6897 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
6898
6899 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
6900
6901 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
6902
6903 PR bootstrap/43170
6904 * configure: Regenerate.
6905
6906 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6907
6908 PR other/43620
6909 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
6910 * configure: Regenerate.
6911 * Makefile.in: Regenerate.
6912 * testsuite/Makefile.in: Regenerate.
6913
6914 2010-04-26 Jakub Jelinek <jakub@redhat.com>
6915
6916 PR c/43893
6917 * testsuite/libgomp.c/pr43893.c: New test.
6918 * testsuite/libgomp.c++/pr43893.C: New test.
6919
6920 2010-04-21 Jakub Jelinek <jakub@redhat.com>
6921
6922 PR middle-end/43570
6923 * testsuite/libgomp.fortran/vla8.f90: New test.
6924
6925 2010-04-20 Jakub Jelinek <jakub@redhat.com>
6926
6927 PR libgomp/43706
6928 * config/linux/affinity.c (gomp_init_affinity): Decrease
6929 gomp_available_cpus if affinity mask confines the process to fewer
6930 CPUs.
6931 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
6932 non-NULL, just return gomp_available_cpus.
6933
6934 PR libgomp/43569
6935 * sections.c (gomp_sections_init): Initialize ws->mode.
6936
6937 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
6938
6939 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
6940 not unused bar variable.
6941 * configure: Regenerate.
6942
6943 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6944
6945 * Makefile.in: Regenerate.
6946 * aclocal.m4: Regenerate.
6947 * testsuite/Makefile.in: Regenerate.
6948
6949 2010-03-22 Jakub Jelinek <jakub@redhat.com>
6950
6951 PR libgomp/42942
6952 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
6953 (initialize_env): Adjust callers.
6954 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
6955 when the argument is 0.
6956
6957 * testsuite/libgomp.c/pr42942.c: New test.
6958
6959 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
6960
6961 PR middle-end/42644
6962 PR middle-end/42130
6963 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6964 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
6965
6966 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6967
6968 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
6969 * testsuite/libgomp.c++/task-6.C: Likewise.
6970
6971 2010-01-28 Steve Ellcey <sje@cup.hp.com>
6972
6973 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
6974
6975 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
6976
6977 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
6978 * configure: Regenerate.
6979
6980 2010-01-26 Jakub Jelinek <jakub@redhat.com>
6981
6982 PR fortran/42866
6983 * testsuite/libgomp.fortran/allocatable5.f90: New test.
6984
6985 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
6986
6987 * configure.ac: Test for executability of GFORTRAN.
6988 * configure: Regenerate.
6989
6990 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6991
6992 * configure: Regenerate.
6993
6994 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
6995
6996 PR libgomp/42602
6997 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
6998
6999 2010-01-03 Richard Guenther <rguenther@suse.de>
7000
7001 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
7002
7003 2009-12-23 Sebastian Pop <sebpop@gmail.com>
7004
7005 * testsuite/libgomp.graphite/pr4118.c: New.
7006
7007 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
7008
7009 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
7010 for darwin, protect the test with require-effective-target tls_runtime.
7011 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
7012
7013 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
7014
7015 PR target/41605
7016 * testsuite/lib/libgomp.exp: Provide -B options to allow for
7017 link spec %s substitutions for static libraries.
7018
7019 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
7020
7021 PR testsuite/42135
7022 * libgomp.graphite/force-parallel-2.c: Reduce array size.
7023
7024 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7025
7026 * Makefile.in: Regenerate.
7027 * configure: Regenerate.
7028 * testsuite/Makefile.in: Regenerate.
7029
7030 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
7031
7032 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
7033 settings for LC_ALL and LANG.
7034
7035 2009-11-25 Jakub Jelinek <jakub@redhat.com>
7036
7037 PR fortran/42162
7038 * testsuite/libgomp.fortran/pr42162.f90: New test.
7039
7040 2009-11-13 Jakub Jelinek <jakub@redhat.com>
7041
7042 PR middle-end/42029
7043 * testsuite/libgomp.c/pr42029.c: New test.
7044
7045 2009-10-26 Jakub Jelinek <jakub@redhat.com>
7046
7047 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
7048 *s. Accept ld version without text in ()s.
7049 * configure: Regenerated.
7050
7051 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
7052
7053 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
7054
7055 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7056
7057 PR libgomp/41418
7058 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
7059 or a hyphen (happens with fortran language disabled).
7060 * configure: Regenerate.
7061
7062 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7063
7064 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
7065 use sed script portable to Solaris /bin/sed for extracting ld
7066 version.
7067 * configure: Regenerate.
7068
7069 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
7070
7071 * testsuite/libgomp.graphite/bounds.c: New test.
7072
7073 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7074
7075 * Makefile.am (libgomp_la_LINK): New.
7076 * Makefile.in: Regenerate.
7077
7078 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7079
7080 * configure.ac (AC_PREREQ): Bump to 2.64.
7081
7082 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7083
7084 * Makefile.am (install-html, install-pdf): Remove.
7085 * Makefile.in: Regenerate.
7086
7087 * Makefile.in: Regenerate.
7088 * aclocal.m4: Regenerate.
7089 * config.h.in: Regenerate.
7090 * configure: Regenerate.
7091 * testsuite/Makefile.in: Regenerate.
7092
7093 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7094
7095 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
7096 * Makefile.in: Regenerate.
7097
7098 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
7099
7100 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
7101 * Makefile.in: Regenerate.
7102
7103 2009-08-19 Tobias Burnus <burnus@net-b.de>
7104
7105 PR fortran/41102
7106 omp_lib.h.in: Fix -std=f95 errors.
7107
7108 2009-08-14 David Edelsohn <edelsohn@gnu.org>
7109
7110 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
7111 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
7112 * testsuite/libgomp.graphite/graphite.exp: New.
7113
7114 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
7115
7116 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
7117 only build.
7118
7119 2009-08-04 David Daney <ddaney@caviumnetworks.com>
7120
7121 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
7122 needed memory barrier semantics.
7123 * config/linux/mips/mutex.h: New file.
7124
7125 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7126
7127 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
7128
7129 2009-07-16 Joseph Myers <joseph@codesourcery.com>
7130
7131 * configure: Regenerate.
7132
7133 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
7134
7135 PR testsuite/40699
7136 PR testsuite/40707
7137 PR testsuite/40709
7138 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
7139 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
7140 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
7141
7142 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
7143
7144 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
7145 options when choosing a multilib.
7146
7147 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
7148
7149 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
7150 ld_library_path. Use add_path. Add just find_libgcc_s to
7151 ld_library_path, not every libgcc multilib directory.
7152 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
7153 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
7154 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
7155 Use add_path.
7156 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
7157
7158 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
7159
7160 * Makefile.am (LTLDFLAGS): Define.
7161 (LINK): Define.
7162 * Makefile.in: Regenerate.
7163
7164 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
7165
7166 PR fortran/39718
7167 * testsuite/libgomp.fortran/fortran.exp: Don't link with
7168 libgfortranbegin, check existence of libgfortran.a instead of
7169 libgfortranbegin.a.
7170
7171 2009-05-20 Jakub Jelinek <jakub@redhat.com>
7172
7173 PR libgomp/40174
7174 * team.c (gomp_thread_start): Destroy thr->release semaphore.
7175 (gomp_free_pool_helper): Likewise.
7176
7177 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
7178 Jakub Jelinek <jakub@redhat.com>
7179
7180 PR fortran/35423
7181 * testsuite/libgomp.fortran/workshare2.f90: New test.
7182
7183 2009-04-09 Nick Clifton <nickc@redhat.com>
7184
7185 * iter.c: Change copyright header to refer to version 3 of the
7186 GNU General Public License with version 3.1 of the GCC Runtime
7187 Library Exception and to point readers at the COPYING3 and
7188 COPYING3.RUNTIME files and the FSF's license web page.
7189 * alloc.c: Likewise.
7190 * barrier.c: Likewise.
7191 * config/bsd/proc.c: Likewise.
7192 * config/linux/affinity.c: Likewise.
7193 * config/linux/alpha/futex.h: Likewise.
7194 * config/linux/bar.c: Likewise.
7195 * config/linux/bar.h: Likewise.
7196 * config/linux/ia64/futex.h: Likewise.
7197 * config/linux/ia64/mutex.h: Likewise.
7198 * config/linux/lock.c: Likewise.
7199 * config/linux/mips/futex.h: Likewise.
7200 * config/linux/mutex.c: Likewise.
7201 * config/linux/mutex.h: Likewise.
7202 * config/linux/powerpc/futex.h: Likewise.
7203 * config/linux/proc.c: Likewise.
7204 * config/linux/ptrlock.c: Likewise.
7205 * config/linux/ptrlock.h: Likewise.
7206 * config/linux/s390/futex.h: Likewise.
7207 * config/linux/sem.c: Likewise.
7208 * config/linux/sem.h: Likewise.
7209 * config/linux/sparc/futex.h: Likewise.
7210 * config/linux/wait.h: Likewise.
7211 * config/linux/x86/futex.h: Likewise.
7212 * config/mingw32/proc.c: Likewise.
7213 * config/mingw32/time.c: Likewise.
7214 * config/posix/affinity.c: Likewise.
7215 * config/posix/bar.c: Likewise.
7216 * config/posix/bar.h: Likewise.
7217 * config/posix/lock.c: Likewise.
7218 * config/posix/mutex.h: Likewise.
7219 * config/posix/proc.c: Likewise.
7220 * config/posix/ptrlock.h: Likewise.
7221 * config/posix/sem.c: Likewise.
7222 * config/posix/sem.h: Likewise.
7223 * config/posix/time.c: Likewise.
7224 * config/posix95/lock.c: Likewise.
7225 * critical.c: Likewise.
7226 * env.c: Likewise.
7227 * error.c: Likewise.
7228 * fortran.c: Likewise.
7229 * iter_ull.c: Likewise.
7230 * libgomp.h: Likewise.
7231 * libgomp_f.h.in: Likewise.
7232 * libgomp_g.h: Likewise.
7233 * loop.c: Likewise.
7234 * loop_ull.c: Likewise.
7235 * omp.h.in: Likewise.
7236 * omp_lib.f90.in: Likewise.
7237 * omp_lib.h.in: Likewise.
7238 * ordered.c: Likewise.
7239 * parallel.c: Likewise.
7240 * sections.c: Likewise.
7241 * single.c: Likewise.
7242 * task.c: Likewise.
7243 * team.c: Likewise.
7244 * work.c: Likewise.
7245
7246 2009-04-09 Jakub Jelinek <jakub@redhat.com>
7247
7248 * testsuite/config/default.exp: Change copyright header to refer to
7249 version 3 of the GNU General Public License and to point readers
7250 at the COPYING3 file and the FSF's license web page.
7251
7252 2009-04-08 Jakub Jelinek <jakub@redhat.com>
7253
7254 PR middle-end/39573
7255 * libgomp.c++/pr39573.C: New test.
7256
7257 2009-04-01 Jakub Jelinek <jakub@redhat.com>
7258
7259 PR other/39591
7260 * testsuite/libgomp.c/pr39591-1.c: New test.
7261 * testsuite/libgomp.c/pr39591-2.c: New test.
7262 * testsuite/libgomp.c/pr39591-3.c: New test.
7263
7264 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
7265
7266 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
7267 * testsuite/libgomp.c/atomic-6.c: Ditto.
7268
7269 2009-03-23 Jakub Jelinek <jakub@redhat.com>
7270
7271 PR c/39495
7272 * testsuite/libgomp.c/loop-12.c: New test.
7273 * testsuite/libgomp.c/loop-11.c: New test.
7274 * testsuite/libgomp.c++/loop-11.C: New test.
7275 * testsuite/libgomp.c++/loop-12.C: New test.
7276 * testsuite/libgomp.c++/for-8.C: New test.
7277
7278 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7279
7280 * configure: Regenerate.
7281
7282 2009-02-11 Jakub Jelinek <jakub@redhat.com>
7283
7284 PR middle-end/39154
7285 * testsuite/libgomp.c/pr39154.c: New test.
7286
7287 2009-01-30 Ian Lance Taylor <iant@google.com>
7288
7289 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
7290 libgomp_ld_is_gold. Get gold version number.
7291 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
7292 * configure: Rebuild.
7293
7294 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
7295
7296 * testsuite/lib/libgomp.exp: Add -B option for targets that
7297 use libgfortran.a%s in their specs.
7298
7299 2009-01-07 Jakub Jelinek <jakub@redhat.com>
7300
7301 PR libgomp/38086
7302 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
7303 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
7304 HAVE_AS_SYMVER_DIRECTIVE is not defined.
7305 * configure: Regenerated.
7306 * config.h.in: Likewise.
7307
7308 2008-12-28 Jakub Jelinek <jakub@redhat.com>
7309
7310 PR c++/38650
7311 * testsuite/libgomp.c/pr38650.c: New test.
7312 * testsuite/libgomp.c++/pr38650.C: New test.
7313
7314 2008-12-27 Jakub Jelinek <jakub@redhat.com>
7315
7316 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
7317
7318 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
7319
7320 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
7321
7322 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7323
7324 * configure: Regenerate.
7325
7326 2008-12-08 Jakub Jelinek <jakub@redhat.com>
7327
7328 PR middle-end/36802
7329 * testsuite/libgomp.c/pr36802-1.c: New test.
7330 * testsuite/libgomp.c/pr36802-2.c: New test.
7331 * testsuite/libgomp.c/pr36802-3.c: New test.
7332
7333 2008-12-01 Janis Johnson <janis187@us.ibm.com>
7334
7335 PR libgomp/38270
7336 * config/linux/powerpc/mutex.h: New.
7337
7338 2008-12-01 Jakub Jelinek <jakub@redhat.com>
7339
7340 PR c++/38257
7341 * testsuite/libgomp.c++/for-7.C: New test.
7342
7343 PR c++/38348
7344 * testsuite/libgomp.c++/for-6.C: New test.
7345
7346 2008-11-26 Janis Johnson <janis187@us.ibm.com>
7347
7348 PR testsuite/28870
7349 * testsuite/lib/libgomp.exp: Include new timeout library files.
7350 (libgomp_target_compile): Set timeout value from new proc.
7351
7352 2008-11-13 Steve Ellcey <sje@cup.hp.com>
7353
7354 PR libgomp/37938
7355 * config/linux/ia64/mutex.h: New.
7356
7357 2008-11-04 Tobias Burnus <burnus@net-b.de>
7358
7359 PR libgomp/37935
7360 * libgomp.texi (Runtime library routines, environment variables):
7361 Update for OpenMP version 3.0.
7362
7363 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
7364 Steve Ellcey <sje@cup.hp.com>
7365
7366 * configure: Regenerate for new libtool.
7367 * Makefile.in: Ditto.
7368 * testsuite/Makefile.in: Ditto.
7369
7370 2008-09-19 Jakub Jelinek <jakub@redhat.com>
7371 Andreas Tobler <a.tobler@schweiz.org>
7372
7373 * config/bsd/proc.c: New file.
7374 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
7375 * configure.ac: Check for header <sys/sysctl.h>
7376 * configure: Regenerate.
7377 * config.h.in: Likewise.
7378
7379 2008-09-05 Janis Johnson <janis187@us.ibm.com>
7380
7381 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
7382
7383 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
7384
7385 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
7386 * Makefile.in: Regenerated.
7387 * testsuite/Makefile.in: Regenerated.
7388
7389 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
7390
7391 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
7392 depend on blddir if blddir exists.
7393 (libgomp_target_compile): Likewise.
7394 * testsuite/libgomp.c++/c++.exp: Likewise.
7395 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7396
7397 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7398
7399 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
7400 Do not list GPL as Invariant Section.
7401
7402 2008-07-28 Ilie Garbacea <ilie@mips.com>
7403 Chao-ying Fu <fu@mips.com>
7404
7405 * configure.tgt: Enable futex for MIPS.
7406 * config/linux/mips/futex.h: New file.
7407
7408 2008-07-16 Jakub Jelinek <jakub@redhat.com>
7409
7410 * team.c (gomp_team_end): Free team immediately if it has
7411 just one thread.
7412
7413 2008-07-08 David Edelsohn <edelsohn@gnu.org>
7414
7415 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
7416 * testsuite/libgomp.fortran/fortran.exp: Same.
7417 * testsuite/libgomp.c/c.exp: Same.
7418 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
7419 directory to library path first.
7420
7421 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
7422
7423 * env.c (parse_stacksize): Add cast to avoid warning.
7424 (parse_spincount): Likewise.
7425
7426 2008-06-27 Jakub Jelinek <jakub@redhat.com>
7427
7428 * testsuite/libgomp.c/loop-10.c: New test.
7429 * libgomp.c/loop-3.c (main): Add lastprivate clause.
7430 * libgomp.c++/loop-6.C (main): Likewise.
7431
7432 PR debug/36617
7433 * testsuite/libgomp.c/debug-1.c: New test.
7434
7435 2008-06-19 Jakub Jelinek <jakub@redhat.com>
7436
7437 * testsuite/libgomp.c/nqueens-1.c: New test.
7438
7439 PR c++/36523
7440 * testsuite/libgomp.c++/task-7.C: New function.
7441
7442 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7443
7444 * configure: Regenerate.
7445
7446 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7447
7448 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
7449 mutex when HAVE_SYNC_BUILTINS isn't defined.
7450
7451 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7452
7453 * libgomp.texi (omp_test_lock): Fix typo.
7454
7455 2008-06-12 Tobias Burnus <burnus@net-b.de>
7456
7457 * omp_lib.f90.in: Add "implicit none".
7458
7459 2008-06-12 Jakub Jelinek <jakub@redhat.com>
7460
7461 PR middle-end/36506
7462 * testsuite/libgomp.c/reduction-5.c: New test.
7463
7464 2008-06-11 Jakub Jelinek <jakub@redhat.com>
7465
7466 * libgomp.h (struct gomp_task): Add in_tied_task field.
7467 * task.c (gomp_init_task): Initialize it.
7468 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
7469 unconditionally. Don't call gomp_team_barrier_wake if
7470 current task is implicit or if(0) from implicit and number of
7471 running tasks is equal to nthreads - 1.
7472
7473 PR libgomp/36471
7474 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
7475 omp_get_team_size_8): Fix pastos.
7476
7477 PR libgomp/36469
7478 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
7479 * configure: Regenerated.
7480 * config.h.in: Regenerated.
7481 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
7482 defined.
7483
7484 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
7485
7486 PR bootstrap/36452
7487 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
7488 (GOMP_loop_ull_dynamic_start): Likewise.
7489 (GOMP_loop_ull_guided_start): Likewise.
7490 (GOMP_loop_ull_ordered_static_start): Likewise.
7491 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
7492 (GOMP_loop_ull_ordered_guided_start): Likewise.
7493
7494 2008-06-06 Jakub Jelinek <jakub@redhat.com>
7495 Richard Henderson <rth@redhat.com>
7496 Ulrich Drepper <drepper@redhat.com>
7497 Jakob Blomer <jakob.blomer@ira.uka.de>
7498
7499 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
7500 Substitute also OMP_*LOCK_25*.
7501 * configure: Regenerated.
7502 * config.h.in: Regenerated.
7503 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
7504 ptrlock.c and task.c.
7505 * Makefile.in: Regenerated.
7506 * testsuite/Makefile.in: Regenerated.
7507 * task.c: New file.
7508 * loop_ull.c: New file.
7509 * iter_ull.c: New file.
7510 * libgomp.h: Include ptrlock.h.
7511 (enum gomp_task_kind): New type.
7512 (struct gomp_team): Add task_lock, task_queue, task_count,
7513 task_running_count, single_count fields. Add
7514 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
7515 Remove work_share_lock, generation_mask,
7516 oldest_live_gen, num_live_gen and init_work_shares fields, add
7517 work work_share_list_alloc, work_share_list_free and work_share_chunk
7518 fields. Change work_shares from pointer to pointers into an array.
7519 Change ordered_release field into gomp_sem_t ** from flexible array
7520 member. Add implicit_task and initial_work_shares fields.
7521 Move close to the end of the struct.
7522 (struct gomp_team_state): Add single_count, last_work_share,
7523 active_level and level fields, remove work_share_generation.
7524 (gomp_barrier_handle_tasks): New prototype.
7525 (gomp_finish_task): New inline function.
7526 (struct gomp_work_share): Move chunk_size, end, incr into
7527 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
7528 next_ll fields. Reshuffle fields. Add next_alloc,
7529 next_ws, next_free and inline_ordered_team_ids fields, change
7530 ordered_team_ids into pointer from flexible array member.
7531 Add mode field. Put lock and next into a different cache line
7532 from most of the write-once fields.
7533 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
7534 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
7535 gomp_iter_ull_guided_next): New prototypes.
7536 (gomp_new_icv): New prototype.
7537 (struct gomp_thread): Add thread_pool and task fields.
7538 (struct gomp_thread_pool): New type.
7539 (gomp_new_team): New prototype.
7540 (gomp_team_start): Change type of last argument.
7541 (gomp_new_work_share): Removed.
7542 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
7543 (gomp_work_share_init_done): New static inline.
7544 (gomp_throttled_spin_count_var, gomp_available_cpus,
7545 gomp_managed_threads): New extern decls.
7546 (gomp_init_task): New prototype.
7547 (gomp_spin_count_var): New extern var decl.
7548 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
7549 or no alias support, or if not PIC.
7550 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
7551 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
7552 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
7553 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
7554 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
7555 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
7556 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
7557 gomp_test_nest_lock_25): New prototypes.
7558 (omp_lock_symver, strong_alias): Define.
7559 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
7560 decls.
7561 (gomp_end_task): New.
7562 (struct gomp_task_icv, gomp_global_icv): New.
7563 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
7564 (struct gomp_task): New.
7565 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7566 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7567 (gomp_icv): New.
7568 (gomp_schedule_type): Reorder enum to match
7569 omp_sched_t.
7570 * team.c (struct gomp_thread_start_data): Add thread_pool and task
7571 fields.
7572 (gomp_thread_start): Add gomp_team_barrier_wait call.
7573 For non-nested case remove clearing of docked thread thr fields.
7574 Use pool fields instead of global gomp_* variables. Use
7575 gomp_barrier_wait_last when needed. Initialize ts.active_level.
7576 Create tasks for each member thread.
7577 (free_team): Only destroy team barrier, task_lock here and free it.
7578 (gomp_free_thread): Free last_team if non-NULL.
7579 (gomp_team_end): Call gomp_team_barrier_wait instead of
7580 gomp_barrier_wait. For nested case call one extra
7581 gomp_barrier_wait. Move here some destruction from free_team.
7582 Call free_team on pool->last_team if any, rather than freeing
7583 current team. Destroy work_share_list_free_lock ifndef
7584 HAVE_SYNC_BUILTINS.
7585 (gomp_new_icv): New function.
7586 (gomp_threads, gomp_threads_size, gomp_threads_used,
7587 gomp_threads_dock): Removed.
7588 (gomp_thread_destructor): New variable.
7589 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
7590 functions.
7591 (gomp_team_start): Create new pool if current thread doesn't have
7592 one. Use pool fields instead of global gomp_* variables.
7593 Initialize thread_pool field for new threads. Clear single_count.
7594 Change last argument from ws to team, don't create
7595 new team, set ts.work_share to &team->work_shares[0] and clear
7596 ts.last_work_share. Don't clear ts.work_share_generation.
7597 If number of threads changed, adjust atomically gomp_managed_threads.
7598 Use gomp_init_task instead of gomp_new_task,
7599 set thr->task to the corresponding implicit_task array entry.
7600 Create tasks for each member thread. Initialize ts.level.
7601 (initialize_team): Call pthread_key_create on
7602 gomp_thread_destructor.
7603 (team_destructor): New function.
7604 (new_team): Removed.
7605 (gomp_new_team): New function.
7606 (free_team): Free gomp_work_share blocks chained through next_alloc,
7607 instead of freeing work_shares and destroying work_share_lock.
7608 (gomp_team_end): Call gomp_fini_work_share. If number of threads
7609 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
7610 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
7611 of gomp_barrier_wait.
7612 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
7613 instead of gomp_barrier_wait. Call gomp_work_share_init_done
7614 if gomp_work_share_start returned true. Don't unlock ws->lock.
7615 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
7616 of gomp_barrier_wait.
7617 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
7618 gomp_work_share_init_done if gomp_work_share_start returned true.
7619 Don't unlock ws->lock.
7620 * work.c: Include stddef.h.
7621 (free_work_share): Use work_share_list_free_lock instead
7622 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
7623 Call gomp_fini_work_share and then either free ws if orphaned, or
7624 put it into work_share_list_free list of the current team.
7625 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
7626 functions.
7627 (gomp_work_share_start, gomp_work_share_end,
7628 gomp_work_share_end_nowait): Rewritten.
7629 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
7630 (openmp_version): Set to 200805.
7631 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7632 omp_sched_guided, omp_sched_auto): New parameters.
7633 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7634 omp_set_max_active_levels, omp_get_max_active_levels,
7635 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7636 omp_get_active_level): New interfaces.
7637 * omp_lib.h.in (openmp_version): Set to 200805.
7638 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7639 omp_sched_guided, omp_sched_auto): New parameters.
7640 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7641 omp_set_max_active_levels, omp_get_max_active_levels,
7642 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7643 omp_get_active_level): New externals.
7644 * loop.c: Include limits.h.
7645 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
7646 GFS_AUTO.
7647 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
7648 Likewise. Use gomp_icv.
7649 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
7650 ts.static_trip here.
7651 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
7652 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
7653 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
7654 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
7655 don't unlock ws->lock, otherwise lock it.
7656 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
7657 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
7658 (gomp_parallel_loop_start): Call gomp_new_team instead of
7659 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
7660 Adjust gomp_team_start caller. Pass 0 as second argument to
7661 gomp_resolve_num_threads.
7662 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
7663 If adding ws->chunk_size nthreads + 1 times after end won't
7664 overflow, set ws->mode to 1.
7665 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
7666 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
7667 GOMP_loop_ull_ordered_static_start,
7668 GOMP_loop_ull_ordered_dynamic_start,
7669 GOMP_loop_ull_ordered_guided_start,
7670 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
7671 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
7672 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
7673 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
7674 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
7675 prototypes.
7676 * libgomp.map: Export lock routines also @@OMP_2.0.
7677 (GOMP_loop_ordered_dynamic_first,
7678 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
7679 GOMP_loop_ordered_static_first): Remove.
7680 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
7681 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
7682 GOMP_loop_ull_ordered_dynamic_next,
7683 GOMP_loop_ull_ordered_dynamic_start,
7684 GOMP_loop_ull_ordered_guided_next,
7685 GOMP_loop_ull_ordered_guided_start,
7686 GOMP_loop_ull_ordered_runtime_next,
7687 GOMP_loop_ull_ordered_runtime_start,
7688 GOMP_loop_ull_ordered_static_next,
7689 GOMP_loop_ull_ordered_static_start,
7690 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
7691 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
7692 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
7693 (omp_set_schedule, omp_get_schedule,
7694 omp_get_thread_limit, omp_set_max_active_levels,
7695 omp_get_max_active_levels, omp_get_level,
7696 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
7697 omp_set_schedule_, omp_set_schedule_8_,
7698 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7699 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7700 omp_get_max_active_levels_, omp_get_level_,
7701 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7702 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7703 New exports @@OMP_3.0.
7704 * omp.h.in (omp_sched_t): New type.
7705 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7706 omp_set_max_active_levels, omp_get_max_active_levels,
7707 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7708 omp_get_active_level): New prototypes.
7709 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
7710 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
7711 gomp_thread_limit_var, gomp_remaining_threads_count,
7712 gomp_remaining_threads_lock): New variables.
7713 (parse_spincount): New function.
7714 (initialize_env): Call gomp_init_num_threads unconditionally.
7715 Initialize gomp_available_cpus. Call parse_spincount,
7716 initialize gomp_{,throttled_}spin_count_var
7717 depending on presence and value of OMP_WAIT_POLICY and
7718 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
7719 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
7720 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
7721 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
7722 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
7723 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7724 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7725 (gomp_global_icv): New.
7726 (parse_schedule): Use it. Parse "auto".
7727 (omp_set_num_threads): Use gomp_icv.
7728 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
7729 Likewise.
7730 (omp_get_max_threads): Move from parallel.c.
7731 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7732 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
7733 add ialias.
7734 (parse_stacksize, parse_wait_policy): New functions.
7735 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
7736 both wrappers for compatibility and new locks.
7737 (omp_set_schedule, omp_get_schedule,
7738 omp_get_thread_limit, omp_set_max_active_levels,
7739 omp_get_max_active_levels, omp_get_level,
7740 omp_get_ancestor_thread_num, omp_get_team_size,
7741 omp_get_active_level): New ialias_redirect.
7742 (omp_set_schedule_, omp_set_schedule_8_,
7743 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7744 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7745 omp_get_max_active_levels_, omp_get_level_,
7746 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7747 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7748 New functions.
7749 * parallel.c: Include limits.h.
7750 (gomp_resolve_num_threads): Add count argument. Rewritten.
7751 (GOMP_parallel_start): Call gomp_new_team and pass that as last
7752 argument to gomp_team_start. Pass 0 as second argument to
7753 gomp_resolve_num_threads.
7754 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
7755 if gomp_thread_limit_var != ULONG_MAX.
7756 (omp_in_parallel): Implement using ts.active_level.
7757 (omp_get_max_threads): Move to env.c.
7758 (omp_get_level, omp_get_ancestor_thread_num,
7759 omp_get_team_size, omp_get_active_level): New functions,
7760 add ialias.
7761 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
7762 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
7763 gomp_iter_dynamic_next instead of the _locked variant and don't take
7764 lock around it, otherwise acquire it before calling
7765 gomp_iter_dynamic_next_locked.
7766 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
7767 gomp_iter_dynamic_next instead of the _locked variant and don't take
7768 lock around it.
7769 (GOMP_parallel_sections_start): Call gomp_new_team instead of
7770 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
7771 Adjust gomp_team_start caller. Pass count as second argument to
7772 gomp_resolve_num_threads, don't adjust num_threads after the call.
7773 Use gomp_icv.
7774 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
7775 ws->chunk_size by incr.
7776 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
7777 code.
7778 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
7779 types.
7780 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
7781 (omp_check_defines): Check even the compat defines.
7782 * config/linux/ptrlock.c: New file.
7783 * config/linux/ptrlock.h: New file.
7784 * config/linux/wait.h: New file.
7785 * config/posix/ptrlock.c: New file.
7786 * config/posix/ptrlock.h: New file.
7787 * config/linux/bar.h (gomp_team_barrier_wait,
7788 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7789 (gomp_team_barrier_set_task_pending,
7790 gomp_team_barrier_clear_task_pending,
7791 gomp_team_barrier_set_waiting_for_tasks,
7792 gomp_team_barrier_waiting_for_tasks,
7793 gomp_team_barrier_done): New inlines.
7794 (gomp_barrier_t): Rewritten.
7795 (gomp_barrier_state_t): New typedef.
7796 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
7797 gomp_barrier_wait_start): Rewritten.
7798 (gomp_barrier_wait_end): Change second argument to
7799 gomp_barrier_state_t.
7800 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7801 inlines.
7802 * config/linux/bar.c: Include wait.h instead of libgomp.h and
7803 futex.h.
7804 (gomp_barrier_wait_end): Rewritten.
7805 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7806 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
7807 * config/posix/bar.h (gomp_barrier_t): Add generation field.
7808 (gomp_barrier_state_t): New typedef.
7809 (gomp_team_barrier_wait,
7810 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7811 (gomp_barrier_wait_start): Or all but low 2 bits from generation
7812 into the return value. Return gomp_barrier_state_t.
7813 (gomp_team_barrier_set_task_pending,
7814 gomp_team_barrier_clear_task_pending,
7815 gomp_team_barrier_set_waiting_for_tasks,
7816 gomp_team_barrier_waiting_for_tasks,
7817 gomp_team_barrier_done): New inlines.
7818 (gomp_barrier_wait_end): Change second argument to
7819 gomp_barrier_state_t.
7820 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7821 inlines.
7822 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
7823 (gomp_barrier_wait_end): Change second argument to
7824 gomp_barrier_state_t.
7825 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7826 gomp_team_barrier_wake): New functions.
7827 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
7828 futex.h.
7829 (gomp_futex_wake, gomp_futex_wait): New variables.
7830 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
7831 * config/linux/lock.c: Rewrite to make locks task owned,
7832 for backwards compatibility provide the old entrypoints
7833 if symbol versioning. Include wait.h instead of libgomp.h and
7834 futex.h.
7835 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
7836 * config/posix95/lock.c: Rewrite to make locks task owned,
7837 for backwards compatibility provide the old entrypoints
7838 if symbol versioning.
7839 * config/posix/lock.c: Rewrite to make locks task owned,
7840 for backwards compatibility provide the old entrypoints
7841 if symbol versioning.
7842 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
7843 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
7844 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
7845 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7846 (sys_futex0): Return error code.
7847 (futex_wake, futex_wait): If ENOSYS was returned, clear
7848 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7849 (cpu_relax, atomic_write_barrier): New static inlines.
7850 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7851 (futex_wake, futex_wait): If ENOSYS was returned, clear
7852 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7853 (cpu_relax, atomic_write_barrier): New static inlines.
7854 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7855 (sys_futex0): Return error code.
7856 (futex_wake, futex_wait): If ENOSYS was returned, clear
7857 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7858 (cpu_relax, atomic_write_barrier): New static inlines.
7859 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7860 (sys_futex0): Return error code.
7861 (futex_wake, futex_wait): If ENOSYS was returned, clear
7862 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7863 (cpu_relax, atomic_write_barrier): New static inlines.
7864 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7865 (sys_futex0): Return error code.
7866 (futex_wake, futex_wait): If ENOSYS was returned, clear
7867 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7868 (cpu_relax, atomic_write_barrier): New static inlines.
7869 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7870 (sys_futex0): Return error code.
7871 (futex_wake, futex_wait): If ENOSYS was returned, clear
7872 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7873 (cpu_relax, atomic_write_barrier): New static inlines.
7874 * config/linux/sem.c: Include wait.h instead of libgomp.h and
7875 futex.h.
7876 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
7877 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
7878 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
7879 types.
7880 (omp_nest_lock_t): Change owner into void *, add lock field.
7881 * config/posix95/omp-lock.h: Include semaphore.h.
7882 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7883 (omp_lock_t): Use sem_t instead of mutex if semaphores
7884 aren't broken.
7885 (omp_nest_lock_t): Likewise. Change owner to void *.
7886 * config/posix/omp-lock.h: Include semaphore.h.
7887 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7888 (omp_lock_t): Use sem_t instead of mutex if semaphores
7889 aren't broken.
7890 (omp_nest_lock_t): Likewise. Add owner field.
7891
7892 2008-06-06 Jakub Jelinek <jakub@redhat.com>
7893
7894 * testsuite/libgomp.c/collapse-1.c: New test.
7895 * testsuite/libgomp.c/collapse-2.c: New test.
7896 * testsuite/libgomp.c/collapse-3.c: New test.
7897 * testsuite/libgomp.c/icv-1.c: New test.
7898 * testsuite/libgomp.c/icv-2.c: New test.
7899 * testsuite/libgomp.c/lib-2.c: New test.
7900 * testsuite/libgomp.c/lock-1.c: New test.
7901 * testsuite/libgomp.c/lock-2.c: New test.
7902 * testsuite/libgomp.c/lock-3.c: New test.
7903 * testsuite/libgomp.c/loop-4.c: New test.
7904 * testsuite/libgomp.c/loop-5.c: New test.
7905 * testsuite/libgomp.c/loop-6.c: New test.
7906 * testsuite/libgomp.c/loop-7.c: New test.
7907 * testsuite/libgomp.c/loop-8.c: New test.
7908 * testsuite/libgomp.c/loop-9.c: New test.
7909 * testsuite/libgomp.c/nested-3.c: New test.
7910 * testsuite/libgomp.c/nestedfn-6.c: New test.
7911 * testsuite/libgomp.c/sort-1.c: New test.
7912 * testsuite/libgomp.c/task-1.c: New test.
7913 * testsuite/libgomp.c/task-2.c: New test.
7914 * testsuite/libgomp.c/task-3.c: New test.
7915 * testsuite/libgomp.c/task-4.c: New test.
7916 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
7917 to C++ testsuite default compiler options.
7918 * testsuite/libgomp.c++/collapse-1.C: New test.
7919 * testsuite/libgomp.c++/collapse-2.C: New test.
7920 * testsuite/libgomp.c++/ctor-10.C: New test.
7921 * testsuite/libgomp.c++/for-1.C: New test.
7922 * testsuite/libgomp.c++/for-2.C: New test.
7923 * testsuite/libgomp.c++/for-3.C: New test.
7924 * testsuite/libgomp.c++/for-4.C: New test.
7925 * testsuite/libgomp.c++/for-5.C: New test.
7926 * testsuite/libgomp.c++/loop-8.C: New test.
7927 * testsuite/libgomp.c++/loop-9.C: New test.
7928 * testsuite/libgomp.c++/loop-10.C: New test.
7929 * testsuite/libgomp.c++/task-1.C: New test.
7930 * testsuite/libgomp.c++/task-2.C: New test.
7931 * testsuite/libgomp.c++/task-3.C: New test.
7932 * testsuite/libgomp.c++/task-4.C: New test.
7933 * testsuite/libgomp.c++/task-5.C: New test.
7934 * testsuite/libgomp.c++/task-6.C: New test.
7935 * testsuite/libgomp.fortran/allocatable1.f90: New test.
7936 * testsuite/libgomp.fortran/allocatable2.f90: New test.
7937 * testsuite/libgomp.fortran/allocatable3.f90: New test.
7938 * testsuite/libgomp.fortran/allocatable4.f90: New test.
7939 * testsuite/libgomp.fortran/collapse1.f90: New test.
7940 * testsuite/libgomp.fortran/collapse2.f90: New test.
7941 * testsuite/libgomp.fortran/collapse3.f90: New test.
7942 * testsuite/libgomp.fortran/collapse4.f90: New test.
7943 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
7944 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
7945 * testsuite/libgomp.fortran/lib4.f90: New test.
7946 * testsuite/libgomp.fortran/lock-1.f90: New test.
7947 * testsuite/libgomp.fortran/lock-2.f90: New test.
7948 * testsuite/libgomp.fortran/nested1.f90: New test.
7949 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
7950 * testsuite/libgomp.fortran/strassen.f90: New test.
7951 * testsuite/libgomp.fortran/tabs1.f90: New test.
7952 * testsuite/libgomp.fortran/tabs2.f: New test.
7953 * testsuite/libgomp.fortran/task1.f90: New test.
7954 * testsuite/libgomp.fortran/task2.f90: New test.
7955 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
7956 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7957 * testsuite/libgomp.c/pr26943-2.c: Likewise.
7958 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7959 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7960
7961 2008-05-23 Jakub Jelinek <jakub@redhat.com>
7962
7963 PR c++/36308
7964 * testsuite/libgomp.c++/ctor-11.C: New test.
7965 * testsuite/libgomp.c++/ctor-12.C: New test.
7966
7967 2008-05-15 Janis Johnson <janis187@us.ibm.com>
7968
7969 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
7970
7971 2008-05-07 Jakub Jelinek <jakub@redhat.com>
7972
7973 PR middle-end/36106
7974 * testsuite/libgomp.c/atomic-5.c: New test.
7975 * testsuite/libgomp.c/atomic-6.c: New test.
7976 * testsuite/libgomp.c/autopar-1.c: New test.
7977
7978 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7979
7980 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
7981 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
7982 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
7983 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
7984 * configure: Regenerate.
7985 * Makefile.in, testsuite/Makefile.in: Likewise.
7986
7987 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
7988
7989 PR bootstrap/35457
7990 * aclocal.m4: Regenerate.
7991 * configure: Regenerate.
7992
7993 2008-03-18 Jakub Jelinek <jakub@redhat.com>
7994
7995 PR middle-end/35611
7996 * testsuite/libgomp.c/atomic-4.c: New test.
7997
7998 PR libgomp/35625
7999 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
8000 (gomp_iter_guided_next): Likewise.
8001 * testsuite/libgomp.c/pr35625.c: New test.
8002
8003 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8004
8005 * aclocal.m4: Regenerate.
8006 * configure: Likewise.
8007 * Makefile.in: Likewise.
8008 * testsuite/Makefile.in: Likewise.
8009
8010 2008-03-13 Jakub Jelinek <jakub@redhat.com>
8011
8012 PR middle-end/35185
8013 * testsuite/libgomp.c++/pr35185.C: New test.
8014
8015 2008-03-12 Jakub Jelinek <jakub@redhat.com>
8016
8017 PR middle-end/35549
8018 * testsuite/libgomp.c/pr35549.c: New test.
8019
8020 2008-03-06 Jakub Jelinek <jakub@redhat.com>
8021
8022 * testsuite/libgomp.c/atomic-3.c: New test.
8023
8024 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8025
8026 PR fortran/33197
8027 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
8028 .F08 file suffixes.
8029
8030 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
8031
8032 PR libgomp/33131
8033 * configure.ac: Add ACX_HEADER_STRING.
8034 * env.c: Include strings.h.
8035 * aclocal.m4: Regenerate.
8036 * config.h.in: Regenerate.
8037 * configure: Regenerate.
8038 * Makefile.in: Regenerate.
8039 * testsuite/Makefile.in: Regenerate.
8040
8041 2008-02-15 Jakub Jelinek <jakub@redhat.com>
8042
8043 PR middle-end/35196
8044 * testsuite/libgomp.c/pr35196.c: New test.
8045
8046 PR middle-end/35130
8047 * testsuite/libgomp.fortran/pr35130.f90: New test.
8048 * testsuite/libgomp.c/pr35130.c: New test.
8049
8050 2008-01-25 Jakub Jelinek <jakub@redhat.com>
8051
8052 PR middle-end/33880
8053 * testsuite/libgomp.c/pr33880.c: New test.
8054 * testsuite/libgomp.fortran/pr33880.f90: New test.
8055
8056 2008-01-24 David Edelsohn <edelsohn@gnu.org>
8057
8058 * configure: Regenerate.
8059
8060 2008-01-08 Jakub Jelinek <jakub@redhat.com>
8061
8062 * configure.ac: Move futex checking into ../config/futex.m4.
8063 * configure: Rebuilt.
8064 * aclocal.m4: Rebuilt.
8065 * Makefile.in: Rebuilt.
8066
8067 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
8068 2007-10-15 ../config/tls.m4 change.
8069
8070 2007-12-19 Jakub Jelinek <jakub@redhat.com>
8071
8072 PR c++/34513
8073 * testsuite/libgomp.c/pr34513.c: New test.
8074 * testsuite/libgomp.c++/pr34513.C: New test.
8075
8076 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
8077
8078 PR target/32765
8079 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
8080
8081 2007-12-04 Jakub Jelinek <jakub@redhat.com>
8082
8083 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
8084
8085 2007-12-03 Jakub Jelinek <jakub@redhat.com>
8086
8087 * testsuite/libgomp.c/private-1.c: New test.
8088
8089 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
8090 Paolo Bonzini <bonzini@gnu.org>
8091
8092 * Makefile.am: Use space as vpath separator. Use 'vpath %'
8093 instead of 'VPATH ='.
8094 * Makefile.in: Regenerate.
8095
8096 2007-11-23 Matthias Klose <doko@ubuntu.com>
8097
8098 * configure.ac: Adjust makeinfo version check.
8099 * configure: Regenerate.
8100
8101 2007-11-10 Jakub Jelinek <jakub@redhat.com>
8102
8103 PR fortran/34020
8104 * testsuite/libgomp.fortran/pr34020.f90: New test.
8105
8106 2007-11-06 Jakub Jelinek <jakub@redhat.com>
8107
8108 PR c++/33894
8109 * testsuite/libgomp.c++/atomic-1.C: New test.
8110
8111 2007-10-25 Jakub Jelinek <jakub@redhat.com>
8112
8113 PR libgomp/33275
8114 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
8115 Make x and y integers rather than (implicit) reals. Add private (j)
8116 clause to the last omp parallel.
8117
8118 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
8119
8120 * configure: Regenerate following changes to ../config/tls.m4.
8121
8122 2007-09-28 Jakub Jelinek <jakub@redhat.com>
8123
8124 * testsuite/libgomp.fortran/stack.f90: New test.
8125
8126 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
8127
8128 * config/mingw32/proc.c: New file.
8129
8130 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
8131
8132 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
8133 (main): Use __get_cpuid to get i386 target fetaures.
8134 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
8135 (main): Use __get_cpuid to get x86_64 target fetaures.
8136
8137 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
8138
8139 PR target/32765
8140 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
8141 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
8142
8143 2007-07-12 Jakub Jelinek <jakub@redhat.com>
8144
8145 PR fortran/32550
8146 * testsuite/libgomp.fortran/pr32550.f90: New test.
8147 * testsuite/libgomp.fortran/crayptr2.f90: New test.
8148
8149 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
8150
8151 * aclocal.m4: Regenerated.
8152
8153 2007-07-05 Tobias Burnus <burnus@net-b.de>
8154
8155 PR fortran/32359
8156 * testsuite/libgomp.fortran/pr32359.f90: New.
8157
8158 2007-07-02 Jakub Jelinek <jakub@redhat.com>
8159
8160 PR libgomp/32468
8161 * sections.c (GOMP_parallel_sections_start): Only decrease
8162 number of threads to COUNT if dyn_var is true.
8163 * testsuite/libgomp.c/pr32468.c: New test.
8164
8165 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8166
8167 PR libgomp/26308
8168 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
8169
8170 2007-06-21 Jakub Jelinek <jakub@redhat.com>
8171
8172 PR middle-end/32362
8173 * testsuite/libgomp.c/pr32362-1.c: New test.
8174 * testsuite/libgomp.c/pr32362-2.c: New test.
8175 * testsuite/libgomp.c/pr32362-3.c: New test.
8176
8177 2007-06-07 Jakub Jelinek <jakub@redhat.com>
8178
8179 * team.c (gomp_team_start): Fix setting up thread_attr
8180 stack size.
8181
8182 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
8183
8184 * configure: Regenerate.
8185
8186 2007-05-23 Steve Ellcey <sje@cup.hp.com>
8187
8188 * Makefile.in: Regenerate.
8189 * configure: Regenerate.
8190 * aclocal.m4: Regenerate.
8191 * testsuite/Makefile.in: Regenerate.
8192
8193 2007-05-04 Jakub Jelinek <jakub@redhat.com>
8194
8195 * config/linux/proc.c: New file.
8196
8197 PR libgomp/28482
8198 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
8199
8200 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
8201
8202 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
8203
8204 2007-04-16 Matthias Klose <doko@debian.org>
8205
8206 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
8207 flags if not building with -m64.
8208 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
8209 flag for i?86-*-* targets, if current target matches -m64.
8210
8211 2007-04-14 Steve Ellcey <sje@cup.hp.com>
8212
8213 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
8214 * Makefile.in: Regenerate.
8215
8216 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8217
8218 PR testsuite/31369
8219 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
8220 ld_library_path.
8221 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8222
8223 2007-04-04 Jakub Jelinek <jakub@redhat.com>
8224
8225 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
8226 decls.
8227 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
8228 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
8229 (parse_affinity): New function.
8230 (initialize_env): Call it and gomp_init_affinity.
8231 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
8232 create new pthread_attr_t and call gomp_init_thread_affinity
8233 on it for each thread before passing the attribute to pthread_create.
8234 * config/linux/affinity.c: New file.
8235 * config/posix/affinity.c: New file.
8236 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
8237 * configure: Rebuilt.
8238 * config.h.in: Rebuilt.
8239 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
8240 * Makefile.in: Rebuilt.
8241
8242 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
8243
8244 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
8245 *-*-darwin*.
8246 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
8247 and use it if found.
8248
8249 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
8250
8251 * testsuite/config/default.exp: New file.
8252 * testsuite/lib/libgomp.exp: New file.
8253 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
8254 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
8255 load_lib *, load_gcc_lib *): Move to libgomp.exp.
8256 (libgomp_load): Remove.
8257 * testsuite/lib/libgomp.exp (libgomp_init): Compute
8258 always_ld_library_path, not ld_library_path. Set additional_flags
8259 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
8260 (target_compile): Do not call libgomp_init. Append lang_library_path
8261 and lang_link_flags to options.
8262 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
8263 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
8264 here.
8265 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
8266 always_ld_library_path. Set LD_LIBRARY_PATH here.
8267 * testsuite/libgomp.fortran/fortran.exp: Ditto.
8268 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
8269 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
8270 CX8 flag.
8271 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
8272 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
8273 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
8274 * testsuite/libgomp.c/pr29947-1.c: Ditto.
8275 * testsuite/libgomp.c/atomic-10.c: Ditto.
8276
8277 2007-03-21 Jakub Jelinek <jakub@redhat.com>
8278
8279 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
8280 dg-final cleanup-modules line.
8281 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
8282 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
8283 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
8284 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8285 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8286 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8287 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8288
8289 2007-03-18 Andreas Schwab <schwab@suse.de>
8290
8291 * acinclude.m4: Adjust regular expression for ld version
8292 extraction.
8293 * configure: Regenerate.
8294
8295 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
8296
8297 * Makefile.am: Add install-pdf target as copied from
8298 automake v1.10 rules.
8299 * Makefile.in: Regenerate
8300
8301 2007-02-07 Jakub Jelinek <jakub@redhat.com>
8302
8303 PR libgomp/28486
8304 * configure: Regenerate.
8305
8306 PR c++/30703
8307 * testsuite/libgomp.c++/pr30703.C: New test.
8308
8309 2007-02-02 Jakub Jelinek <jakub@redhat.com>
8310
8311 Revert:
8312 2006-07-05 Eric Christopher <echristo@apple.com>
8313 * configure.ac: Depend addition of -pthread on host OS.
8314 * configure: Regenerate.
8315
8316 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8317
8318 * libgomp.texi: Fix spacing after abbreviations.
8319
8320 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
8321
8322 PR libgomp/30546
8323 * configure.ac: Add check for makeinfo
8324 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
8325 if an appropiate version of makeinfo is found.
8326 * aclocal.m4: Regenerated.
8327 * configure: Regenerated.
8328 * Makefile.in: Regenerated.
8329 * testsuite/Makefile.in: Regenerated.
8330
8331 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
8332
8333 PR libgomp/30540
8334 * libgomp.texi: More about implementation-dependent settings.
8335
8336 2007-01-26 Tobias Burnus <burnus@net-b.de>
8337
8338 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
8339
8340 2007-01-24 Jakub Jelinek <jakub@redhat.com>
8341
8342 PR middle-end/30494
8343 * testsuite/libgomp.c/pr30494.c: New test.
8344
8345 2007-01-15 Tom Tromey <tromey@redhat.com>
8346
8347 * configure: Rebuilt.
8348 * configure.ac: Fixed comment.
8349
8350 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
8351
8352 * libgomp.texi: Document implementation specific default values of
8353 environment variables.
8354
8355 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
8356
8357 PR libgomp/28209
8358 * libgomp.texi: New file.
8359 * configure.ac: Add --enable-generated-files-in-srcdir option.
8360 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
8361 files to srcdir.
8362 * Makefile.in: Regenerated.
8363 * config.h.in: Regenerated.
8364 * testsuite/Makefile.in: Regenerated.
8365 * NOTES: Removed.
8366
8367 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
8368
8369 PR libgomp/29949
8370 * env.c (omp_set_num_threads): Set illegal thread count to 1.
8371
8372 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
8373
8374 * configure: Regenerate.
8375
8376 2006-12-04 Jakub Jelinek <jakub@redhat.com>
8377
8378 PR libgomp/29947
8379 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
8380 start if there shouldn't be any loop iterations.
8381 (gomp_loop_ordered_static_start): Remove start == end test.
8382 * testsuite/libgomp.c/pr29947-1.c: New test.
8383 * testsuite/libgomp.c/pr29947-2.c: New test.
8384
8385 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
8386
8387 * configure.tgt: Force initial-exec TLS model on Linux only.
8388
8389 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
8390
8391 * configure: Regenerated.
8392
8393 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
8394
8395 * env.c (parse_schedule): Reject out of range values.
8396 (parse_unsigned_long): Reject out of range, negative or zero values.
8397
8398 2006-10-29 Jakub Jelinek <jakub@redhat.com>
8399
8400 PR fortran/29629
8401 * testsuite/libgomp.fortran/pr29629.f90: New test.
8402
8403 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
8404
8405 PR libgomp/29494
8406 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
8407 * config/posix95: New directory.
8408 * config/posix95/omp-lock.h: New file.
8409 * config/posix95/lock.c: Likewise.
8410
8411 2006-10-14 Geoffrey Keating <geoffk@apple.com>
8412
8413 * aclocal.m4: Regenerate.
8414 * configure: Regenerate.
8415
8416 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
8417
8418 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
8419 '<' to '<='.
8420
8421 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
8422
8423 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
8424 test.
8425 * configure: Regenerate.
8426 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
8427
8428 2006-09-26 Jakub Jelinek <jakub@redhat.com>
8429
8430 PR middle-end/25261
8431 PR middle-end/28790
8432 * testsuite/libgomp.c/nestedfn-4.c: New test.
8433 * testsuite/libgomp.c/nestedfn-5.c: New test.
8434 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
8435
8436 PR fortran/29097
8437 * testsuite/libgomp.fortran/condinc1.f: New test.
8438 * testsuite/libgomp.fortran/condinc2.f: New test.
8439 * testsuite/libgomp.fortran/condinc3.f90: New test.
8440 * testsuite/libgomp.fortran/condinc4.f90: New test.
8441 * testsuite/libgomp.fortran/condinc1.inc: New file.
8442
8443 2006-09-18 Tom Tromey <tromey@redhat.com>
8444
8445 * configure: Rebuilt.
8446
8447 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
8448
8449 PR c/28768
8450 PR preprocessor/14634
8451 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
8452 to AC_DEFINE.
8453 * configure: Regenerate.
8454
8455 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
8456
8457 * testsuite/libgomp.fortran/reduction3.f90: Change
8458 -2147483648 to -huge(i)-1 to avoid overflow.
8459 * testsuite/libgomp.fortran/reduction4.f90: Change
8460 Z'ffffffff' to not(0) to avoid overflow.
8461
8462 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
8463
8464 PR libgomp/25938
8465 * Makefile.am (libsubincludedir): New.
8466 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
8467 * Makefile.in: Regenerate.
8468
8469 2006-08-17 Jakub Jelinek <jakub@redhat.com>
8470
8471 PR libgomp/28725
8472 * env.c: Include ctype.h.
8473 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
8474 leading and/or trailing whitespace and compare strings case
8475 insensitively.
8476
8477 2006-07-16 Jakub Jelinek <jakub@redhat.com>
8478
8479 PR fortran/28390
8480 * testsuite/libgomp.fortran/pr28390.f: New test.
8481
8482 2006-07-05 Eric Christopher <echristo@apple.com>
8483
8484 * configure.ac: Depend addition of -pthread on host OS.
8485 * configure: Regenerate.
8486
8487 2006-06-21 Jakub Jelinek <jakub@redhat.com>
8488
8489 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
8490 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
8491 defined.
8492
8493 2006-06-20 Jakub Jelinek <jakub@redhat.com>
8494
8495 PR libgomp/26175
8496 PR libgomp/26477
8497 * configure.ac: If neither --enable-linux-futex nor
8498 --disable-linux-futex is passed, determine the default by checking
8499 for compiling and/or running against NPTL. With --enable-linux-futex,
8500 check if SYS_gettid and SYS_futex are defined.
8501 * configure: Rebuilt.
8502
8503 2006-06-14 Richard Henderson <rth@redhat.com>
8504
8505 PR libgomp/28008
8506 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
8507 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
8508
8509 2006-06-09 Richard Henderson <rth@redhat.com>
8510
8511 * env.c (gomp_nthreads_var): Change to unsigned long.
8512 (gomp_run_sched_chunk): Likewise.
8513 (parse_unsigned_long): Rename from parse_num_threads and generalize.
8514 (initialize_env): Initialize gomp_thread_attr.
8515 * libgomp.h (gomp_nthreads_var): Update decl.
8516 (gomp_run_sched_chunk): Likewise.
8517 (gomp_thread_attr): Declare.
8518 * team.c (gomp_thread_attr): Export.
8519 (initialize_team): Don't initialize it.
8520
8521 2006-06-09 Jakub Jelinek <jakub@redhat.com>
8522
8523 PR fortran/27916
8524 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
8525 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
8526
8527 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
8528
8529 * config/mingw32/time.c: New file.
8530 * configure.tgt: Use it.
8531
8532 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
8533
8534 * Makefile.am: Add install-html target. Add install-html to .PHONY
8535 * Makefile.in: Regenerate.
8536
8537 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8538
8539 PR libgomp/27612
8540 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
8541 * testsuite/libgomp.c/critical-1.c: Likewise.
8542 * testsuite/libgomp.c/loop-1.c: Likewise.
8543 * testsuite/libgomp.c/loop-2.c: Likewise.
8544 * testsuite/libgomp.c/single-1.c: Likewise.
8545 * testsuite/libgomp.c/ordered-1.c: Likewise.
8546 * testsuite/libgomp.c/ordered-2.c: Likewise.
8547
8548 2006-05-15 Jakub Jelinek <jakub@redhat.com>
8549
8550 PR middle-end/27416
8551 * libgomp.fortran/pr27416-1.f90: New test.
8552
8553 2006-05-03 Jakub Jelinek <jakub@redhat.com>
8554
8555 PR fortran/27395
8556 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
8557 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
8558
8559 2006-05-02 Jakub Jelinek <jakub@redhat.com>
8560
8561 PR c++/26943
8562 * testsuite/libgomp.c/pr26943-1.c: New test.
8563 * testsuite/libgomp.c/pr26943-2.c: New test.
8564 * testsuite/libgomp.c/pr26943-3.c: New test.
8565 * testsuite/libgomp.c/pr26943-4.c: New test.
8566 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
8567 * testsuite/libgomp.c++/pr26943.C: New test.
8568
8569 2006-05-02 Jakub Jelinek <jakub@redhat.com>
8570
8571 PR middle-end/27337
8572 * testsuite/libgomp.c++/pr27337.C: New test.
8573
8574 2006-04-26 Jakub Jelinek <jakub@redhat.com>
8575
8576 PR c/26171
8577 * testsuite/libgomp.c/pr26171.c: New test.
8578
8579 2006-04-25 Richard Henderson <rth@redhat.com>
8580
8581 PR libgomp/25865
8582 * configure.ac: Use GCC_CHECK_TLS.
8583 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
8584 * Makefile.in, aclocal.m4, configure: Regenerate.
8585
8586 2006-04-10 Matthias Klose <doko@debian.org>
8587
8588 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
8589 directory names containing underscores.
8590
8591 2006-03-21 Jakub Jelinek <jakub@redhat.com>
8592
8593 PR c++/26691
8594 * testsuite/libgomp.c++/pr26691.C: New test.
8595
8596 2006-03-13 Jakub Jelinek <jakub@redhat.com>
8597
8598 * testsuite/libgomp.fortran/retval2.f90: New test.
8599
8600 2006-03-09 Diego Novillo <dnovillo@redhat.com>
8601
8602 * testsuite/libgomp.c++: New directory.
8603
8604 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
8605
8606 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
8607 * config/posix/sem.c: Implement the above.
8608
8609 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
8610
8611 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
8612 define HAVE_BROKEN_POSIX_SEMAPHORES.
8613 * configure: Rebuilt.
8614 * config.h.in: Rebuilt.
8615
8616 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
8617
8618 PR bootstrap/26161
8619 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
8620 for the other pthread check.
8621 * configure: Regenerate.
8622 * config.h.in: Regenerate.
8623
8624 2006-02-15 Jakub Jelinek <jakub@redhat.com>
8625
8626 PR libgomp/25938
8627 PR libgomp/25984
8628 * Makefile.am (fincludedir): New variable.
8629 (nodist_include_HEADERS): Remove Fortran files.
8630 (nodist_finclude_HEADERS): New variable.
8631 * Makefile.in: Regenerated.
8632
8633 2006-02-13 Jakub Jelinek <jakub@redhat.com>
8634
8635 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
8636 Remove tests for returning assumed character length arrays.
8637
8638 2006-02-12 Roger Sayle <roger@eyesopen.com>
8639 John David Anglin <dave@hiauly1.hia.nrc.ca>
8640
8641 PR libgomp/25936
8642 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
8643
8644 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
8645
8646 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
8647
8648 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8649
8650 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
8651 part of LD_LIBRARY_PATH manually.
8652
8653 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
8654
8655 PR libgomp/25852
8656 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
8657 libgomp_init.
8658
8659 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
8660
8661 PR libgomp/25884
8662 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
8663 * configure.ac (PERL): Don't set.
8664 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
8665 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
8666 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
8667 * omp.h.in: Wrap the new configure substitutions with @ characters.
8668 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
8669 * aclocal.m4, configure, Makefile.in: Regenerate.
8670 * mkomp_h.pl: Delete.
8671
8672 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
8673
8674 PR libgomp/25259
8675 * configure.ac: Use GCC_HEADER_STDINT.
8676 * libgomp.h: Include gstdint.h.
8677 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
8678 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
8679
8680 2006-01-24 Richard Henderson <rth@redhat.com>
8681
8682 PR libgomp/25942
8683 * configure.ac: Add AM_MAINTAINER_MODE.
8684 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
8685
8686 2006-01-24 Diego Novillo <dnovillo@redhat.com>
8687
8688 * Makefile.in: Regenerate.
8689 * testsuite/Makefile.in: Regenerate.
8690 * aclocal.m4: Regenerate.
8691
8692 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
8693
8694 * config/posix/proc.c: Conditional include of sys/loadavg.h for
8695 Solaris.
8696 * configure.ac: Add check for loadavg.h.
8697 (link_gomp): Adjust comment.
8698 * configure: Regenerate.
8699 * config.h.in: Regenerate.
8700
8701 2006-01-21 Steve Ellcey <sje@cup.hp.com>
8702
8703 PR libgomp/25877
8704 * configure.ac: Remove check for alloca.h.
8705 * configure: Regenerate.
8706 * config.h.in: Regenerate.
8707 * libgomp.h: define gomp_alloca to be __builtin_alloca.
8708 * team.c: Remove use of alloca.h.
8709 Call gomp_alloca instead of alloca.
8710
8711 2006-01-20 Steve Ellcey <sje@cup.hp.com>
8712
8713 PR libgomp/25877
8714 * team.c: Add include of alloca.h.
8715 * configure.ac: Add check for alloca.h.
8716 * configure: Regenerate.
8717 * config.h.in: Regenerate.
8718
8719 2006-01-17 Jakub Jelinek <jakub@redhat.com>
8720
8721 PR fortran/25219
8722 * testsuite/libgomp.fortran/pr25219.f90: New test.
8723
8724 2005-12-05 Uros Bizjak <uros@kss-loka.si>
8725
8726 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
8727 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
8728 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8729 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8730 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
8731 testsuite/libgomp.fortran/threadprivate1.f90,
8732 testsuite/libgomp.fortran/threadprivate2.f90,
8733 testsuite/libgomp.fortran/threadprivate3.f90,
8734 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8735 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8736 testsuite/libgomp.fortran/omp_parse3.f90: Change required
8737 effective-target to TLS runtime.
8738
8739 * testsuite/libgomp.fortran/pr25162.f: Require
8740 effective-target TLS runtime.
8741
8742 2005-12-01 Jakub Jelinek <jakub@redhat.com>
8743
8744 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
8745 * testsuite/libgomp.c/nestedfn-3.c: New test.
8746
8747 2005-11-30 Jakub Jelinek <jakub@redhat.com>
8748
8749 PR fortran/25162
8750 * testsuite/libgomp.fortran/pr25162.f: New test.
8751
8752 2005-11-28 Jakub Jelinek <jakub@redhat.com>
8753
8754 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
8755 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
8756
8757 2005-11-25 Jakub Jelinek <jakub@redhat.com>
8758
8759 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
8760 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
8761 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
8762 single.c, team.c, work.c, config/linux/alpha/futex.h,
8763 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
8764 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
8765 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
8766 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
8767 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
8768 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
8769 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
8770 FSF address.
8771
8772 2005-11-18 Jakub Jelinek <jakub@redhat.com>
8773
8774 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
8775 to nodist_noinst_HEADERS.
8776 * Makefile.in: Rebuilt.
8777
8778 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
8779 add integer count field.
8780 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
8781 omp_nest_lock_t type change.
8782 (omp_init_nest_lock): Likewise. Initialize count to 0.
8783 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
8784 Increment count.
8785 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
8786 Decrement count.
8787 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
8788 Increment count if successful and return the new nesting level.
8789 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
8790 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
8791 * testsuite/libgomp.c/lib-1.c: New test.
8792 * testsuite/libgomp.fortran/lib1.f90: New test.
8793 * testsuite/libgomp.fortran/lib2.f: New test.
8794 * testsuite/libgomp.fortran/lib3.f: New test.
8795
8796 2005-11-17 Richard Henderson <rth@redhat.com>
8797
8798 PR 24845
8799 * Makefile.am (nodist_toolexeclib_HEADERS): New.
8800 * configure.ac (link_gomp): New. Substitute it.
8801 (AC_CONFIG_FILES): Add libgomp.spec.
8802 * libgomp.spec.in: New file.
8803 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
8804 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
8805
8806 2005-11-18 Jakub Jelinek <jakub@redhat.com>
8807
8808 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
8809 reduction(-:var) behaving the same as reduction(+:var).
8810 * testsuite/libgomp.c/reduction-4.c: New test.
8811
8812 2005-11-15 Uros Bizjak <uros@kss-loka.si>
8813
8814 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
8815 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
8816 testsuite/libgomp.c/copyin-3.c,
8817 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8818 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8819 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
8820 testsuite/libgomp.c++/pr24455.C,
8821 testsuite/libgomp.fortran/threadprivate1.f90,
8822 testsuite/libgomp.fortran/threadprivate2.f90,
8823 testsuite/libgomp.fortran/threadprivate3.f90,
8824 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8825 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8826 testsuite/libgomp.fortran/omp_parse3.f90: Require
8827 effective-target TLS.
8828
8829 2005-11-14 Diego Novillo <dnovillo@redhat.com>
8830
8831 * HEADER: Remove.
8832
8833 2005-11-13 Jakub Jelinek <jakub@redhat.com>
8834
8835 PR libgomp/24797
8836 * team.c (initialize_team): Pass NULL rather than free as
8837 pthread_key_create destructor. Initialize thread specific data
8838 pointer in initial thread to a static local variable rather than
8839 malloced memory.
8840
8841 2005-11-11 Uros Bizjak <uros@kss-loka.si>
8842
8843 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
8844 its location to ld_library_path.
8845
8846 2005-11-10 Diego Novillo <dnovillo@redhat.com>
8847
8848 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
8849
8850 2005-11-10 Diego Novillo <dnovillo@redhat.com>
8851
8852 * testsuite/libgomp.c: Rename from libgomp.dg.
8853
8854 2005-11-09 Diego Novillo <dnovillo@redhat.com>
8855
8856 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
8857 threadprivate variable 'i'.
8858
8859 2005-11-09 Jakub Jelinek <jakub@redhat.com>
8860
8861 * config/linux/s390/futex.h: New file.
8862 * configure.tgt: Use it.
8863
8864 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
8865 before the parallel.
8866
8867 2005-11-08 Jakub Jelinek <jakub@redhat.com>
8868
8869 PR c++/24734
8870 * testsuite/libgomp.c++/master-1.C: New test.
8871
8872 2005-11-07 Jakub Jelinek <jakub@redhat.com>
8873
8874 * testsuite/libgomp.dg/copyin-3.c: New test.
8875
8876 2005-11-07 Jakub Jelinek <jakub@redhat.com>
8877
8878 * testsuite/libgomp.fortran/retval1.f90: New test.
8879 * testsuite/libgomp.fortran/vla7.f90: New test.
8880
8881 2005-11-06 Jakub Jelinek <jakub@redhat.com>
8882
8883 * testsuite/libgomp.fortran/vla2.f90: New test.
8884 * testsuite/libgomp.fortran/vla3.f90: New test.
8885 * testsuite/libgomp.fortran/vla4.f90: New test.
8886 * testsuite/libgomp.fortran/vla5.f90: New test.
8887 * testsuite/libgomp.fortran/vla6.f90: New test.
8888
8889 2005-11-01 Jakub Jelinek <jakub@redhat.com>
8890
8891 * config/linux/sparc/futex.h: New file.
8892 * configure.tgt: Use it.
8893 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
8894
8895 * critical.c: Include stdlib.h.
8896 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
8897 ignoring return value.
8898 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
8899 LIBGOMP_CHECK_SYNC_BUILTINS check.
8900 * configure: Rebuilt.
8901
8902 2005-10-31 Jakub Jelinek <jakub@redhat.com>
8903
8904 * testsuite/libgomp.fortran/vla1.f90: New test.
8905
8906 2005-10-31 Richard Henderson <rth@redhat.com>
8907
8908 * testsuite/libgomp.fortran/character2.f90: Fix race condition
8909 setting 's' in different threads.
8910
8911 2005-10-31 Jakub Jelinek <jakub@redhat.com>
8912
8913 * libgomp.h (attribute_hidden, ialias): Define.
8914 * config/posix/proc.c (omp_get_num_procs): Add ialias.
8915 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
8916 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
8917 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8918 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8919 omp_test_lock, omp_test_nest_lock): Likewise.
8920 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
8921 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8922 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8923 omp_test_lock, omp_test_nest_lock): Likewise.
8924 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
8925 omp_get_dynamic, omp_get_nested): Likewise.
8926 * parallel.c (omp_get_num_threads, omp_get_max_threads,
8927 omp_get_thread_num, omp_in_parallel): Likewise.
8928 * fortran.c (ialias_redirect): Define.
8929 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
8930 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
8931 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
8932 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
8933 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
8934 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
8935 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
8936 omp_get_wtime): Add ialias_redirect.
8937
8938 2005-10-30 Jakub Jelinek <jakub@redhat.com>
8939
8940 * fortran.c: Include stdlib.h.
8941
8942 2005-10-29 Jakub Jelinek <jakub@redhat.com>
8943
8944 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
8945 * Makefile.in: Regenerated.
8946
8947 2005-10-28 Jakub Jelinek <jakub@redhat.com>
8948
8949 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
8950 * libgomp_f.h.in (omp_check_defines): New function.
8951 * env.c: Include libgomp_f.h.
8952 (initialize_env): Call omp_check_defines.
8953
8954 * testsuite/libgomp.dg/copyin-2.c: New test.
8955 * testsuite/libgomp.c++/copyin-2.C: New test.
8956 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
8957
8958 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
8959 * testsuite/libgomp.fortran/sharing2.f90: New test.
8960
8961 * testsuite/libgomp.dg/copyin-1.c: New test.
8962 * testsuite/libgomp.c++/copyin-1.C: New test.
8963
8964 2005-10-26 Jakub Jelinek <jakub@redhat.com>
8965
8966 * testsuite/libgomp.fortran/crayptr1.f90: New test.
8967
8968 * testsuite/libgomp.fortran/workshare1.f90: New test.
8969
8970 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
8971 only test.
8972 * libgomp.fortran/sharing1.f90: New test.
8973
8974 2005-10-24 Jakub Jelinek <jakub@redhat.com>
8975
8976 PR c++/24502
8977 * testsuite/libgomp.c++/loop-7.C: New test.
8978
8979 * testsuite/libgomp.dg/nestedfn-2.c: New test.
8980
8981 * testsuite/libgomp.dg/nestedfn-1.c: New test.
8982 * testsuite/libgomp.fortran/reduction6.f90: New test.
8983 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
8984
8985 2005-10-23 Richard Henderson <rth@redhat.com>
8986
8987 * testsuite/libgomp.c++/ctor-1.C: New.
8988 * testsuite/libgomp.c++/ctor-2.C: New.
8989 * testsuite/libgomp.c++/ctor-3.C: New.
8990 * testsuite/libgomp.c++/ctor-4.C: New.
8991 * testsuite/libgomp.c++/ctor-5.C: New.
8992 * testsuite/libgomp.c++/ctor-6.C: New.
8993 * testsuite/libgomp.c++/ctor-7.C: New.
8994 * testsuite/libgomp.c++/ctor-8.C: New.
8995 * testsuite/libgomp.c++/ctor-9.C: New.
8996
8997 2005-10-21 Diego Novillo <dnovillo@redhat.com>
8998
8999 PR 24455
9000 * testsuite/libgomp.c++/pr24455-1.C: New test.
9001 * testsuite/libgomp.c++/pr24455.C: New test.
9002 * testsuite/libgomp.dg/pr24455-1.c: New test.
9003 * testsuite/libgomp.dg/pr24455.c: New test.
9004
9005 2005-10-20 Richard Henderson <rth@redhat.com>
9006
9007 * testsuite/libgomp.c++/loop-6.C: New.
9008 * testsuite/libgomp.dg/loop-3.c: New.
9009
9010 2005-10-20 Jakub Jelinek <jakub@redhat.com>
9011
9012 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
9013 explicitly private.
9014 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
9015 explicitly shared.
9016
9017 2005-10-19 Diego Novillo <dnovillo@redhat.com>
9018
9019 * testsuite/libgomp.fortran/jacobi.f: New test.
9020
9021 2005-10-19 Richard Henderson <rth@redhat.com>
9022
9023 * configure.tgt (i?86-linux): Default to with_arch instead of
9024 CFLAGS. Add -mtune to match target_cpu.
9025 (x86_64-linux): Tune to i686.
9026
9027 * fortran.c (omp_test_nest_lock_): Fix typo.
9028
9029 2005-10-19 Jakub Jelinek <jakub@redhat.com>
9030
9031 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
9032 gomp_ordered_sync): Do nothing if team->nthreads == 1.
9033 * testsuite/libgomp.dg/ordered-3.c: New test.
9034
9035 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
9036 Remove volatile keyword.
9037
9038 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
9039 in COMMON block to avoid warnings on 64-bit targets.
9040
9041 2005-10-18 Diego Novillo <dnovillo@redhat.com>
9042
9043 * testsuite/libgomp.dg/shared-3.c: New test.
9044
9045 2005-10-18 Jakub Jelinek <jakub@redhat.com>
9046
9047 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
9048 * testsuite/libgomp.fortran/reduction5.f90: New test.
9049
9050 2005-10-18 Jakub Jelinek <jakub@redhat.com>
9051
9052 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
9053 dg-options.
9054 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
9055 flush loop now that __sync_synchronize has proper memory barrier.
9056 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
9057 Add -ffixed-form to dg-options.
9058
9059 2005-10-17 Diego Novillo <dnovillo@redhat.com>
9060
9061 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
9062 from subdirectories.
9063 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
9064 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
9065 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
9066 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
9067 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
9068 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
9069 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
9070 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
9071 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
9072 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
9073 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
9074 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
9075 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
9076 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
9077 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
9078 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
9079 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
9080 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
9081 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
9082 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
9083 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
9084 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
9085 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
9086 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
9087 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
9088
9089 2005-10-17 Jakub Jelinek <jakub@redhat.com>
9090
9091 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
9092 lang_library_path exists. Use find instead of glob to gather tests.
9093 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
9094
9095 2005-10-17 Diego Novillo <dnovillo@redhat.com>
9096
9097 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
9098 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
9099 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
9100 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
9101 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
9102 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
9103 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
9104 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
9105 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
9106 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
9107 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
9108 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
9109 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
9110
9111 2005-10-15 Jakub Jelinek <jakub@redhat.com>
9112
9113 * testsuite/libgomp.dg/vla-1.c: New test.
9114
9115 * testsuite/libgomp.fortran/reference2.f90: New test.
9116
9117 * testsuite/libgomp.fortran/character2.f90: Remove explicit
9118 declaration of omp_get_thread_num.
9119 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
9120 use omp_lib.
9121
9122 * testsuite/libgomp.fortran/reduction1.f90: New test.
9123 * testsuite/libgomp.fortran/reduction2.f90: New test.
9124 * testsuite/libgomp.fortran/reduction3.f90: New test.
9125 * testsuite/libgomp.fortran/reduction4.f90: New test.
9126
9127 2005-10-13 Richard Henderson <rth@redhat.com>
9128
9129 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
9130 * Makefile.in: Regenerate.
9131 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
9132 * libgomp.h: Include bar.h.
9133 (struct gomp_barrier): Remove.
9134 (struct gomp_team): Add barrier. Replace master_barrier with
9135 master_release. Replace threads with ordered_release.
9136 (struct gomp_thread): Replace barrier with release.
9137 * ordered.c (gomp_ordered_first): Update for ordered_release change.
9138 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
9139 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
9140 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
9141 (GOMP_single_copy_end): Likewise.
9142 * team.c (gomp_threads_dock): New.
9143 (gomp_barrier_init, gomp_barrier_destroy): Remove.
9144 (gomp_thread_start): Use gomp_barrier_wait.
9145 (new_team, free_team): Update for gomp_team changes.
9146 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
9147 (gomp_team_end): Use gomp_barrier_wait.
9148 (initialize_team): Update for gomp_thread changes.
9149 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
9150 (gomp_work_share_end_nowait): Use atomic ops when available.
9151 * config/linux/bar.c, config/linux/bar.h: New files.
9152 * config/posix/bar.c, config/posix/bar.h: New files.
9153
9154 2005-10-13 Jakub Jelinek <jakub@redhat.com>
9155
9156 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
9157 * testsuite/libgomp.dg/single-2.c: New test.
9158
9159 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
9160 lang_link_flags): Unset, so that they aren't inherited from previously
9161 sourced *.exp.
9162
9163 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
9164
9165 2005-10-12 Richard Henderson <rth@redhat.com>
9166
9167 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
9168 (libgomp_init): Use lang_test_file, lang_library_path, and
9169 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
9170
9171 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
9172 (lang_test_file, lang_link_flags): New.
9173 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
9174
9175 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
9176 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
9177 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
9178 testsuite/libgomp.c++/parallel-1.C,
9179 testsuite/libgomp.c++/reduction-1.C,
9180 testsuite/libgomp.c++/reduction-2.C,
9181 testsuite/libgomp.c++/reduction-3.C,
9182 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
9183 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
9184 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
9185 New files, largely cribbed from the C testsuite.
9186
9187 2005-10-12 Jakub Jelinek <jakub@redhat.com>
9188
9189 * testsuite/libgomp.fortran/character1.f90: New test.
9190 * testsuite/libgomp.fortran/character2.f90: New test.
9191
9192 * testsuite/libgomp.dg/nested-1.c: New test.
9193 * testsuite/libgomp.dg/nested-2.c: New test.
9194 * testsuite/libgomp.fortran/do1.f90: New test.
9195 * testsuite/libgomp.fortran/do2.f90: New test.
9196
9197 * testsuite/libgomp.fortran/reference1.f90: New test.
9198
9199 2005-10-11 Jakub Jelinek <jakub@redhat.com>
9200
9201 * testsuite/libgomp.dg/reduction-1.c: New test.
9202 * testsuite/libgomp.dg/reduction-2.c: New test.
9203 * testsuite/libgomp.dg/reduction-3.c: New test.
9204
9205 2005-10-10 Jakub Jelinek <jakub@redhat.com>
9206
9207 * testsuite/libgomp.dg/atomic-1.c: New test.
9208 * testsuite/libgomp.dg/atomic-2.c: New test.
9209
9210 2005-10-09 Richard Henderson <rth@redhat.com>
9211
9212 * critical.c (atomic_lock): New.
9213 (initialize_critical): Initialize it.
9214 (GOMP_atomic_start, GOMP_atomic_end): New.
9215 * libgomp.map: Export them.
9216 * libgomp_g.h: Declare them.
9217
9218 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
9219
9220 2005-10-02 Richard Henderson <rth@redhat.com>
9221
9222 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
9223 to XCFLAGS instead of CFLAGS.
9224
9225 2005-09-30 Richard Henderson <rth@redhat.com>
9226
9227 * configure.ac: Determine whether -pthread or -lpthread is needed.
9228 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
9229 * Makefine.in, configure: Rebuild.
9230
9231 2005-09-28 Richard Henderson <rth@redhat.com>
9232
9233 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
9234 * testsuite/libgomp.dg/omp-single-3.c: New test.
9235
9236 2005-09-28 Diego Novillo <dnovillo@redhat.com>
9237
9238 * testsuite/libgomp.dg/omp-single-2.c: New test.
9239 * testsuite/libgomp.dg/shared-2.c: Fix return code.
9240
9241 2005-09-27 Richard Henderson <rth@redhat.com>
9242
9243 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
9244 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
9245
9246 2005-09-27 Jakub Jelinek <jakub@redhat.com>
9247
9248 * testsuite/libgomp.dg/omp-loop03.c: New test.
9249
9250 2005-09-27 Diego Novillo <dnovillo@redhat.com>
9251
9252 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
9253
9254 2005-09-27 Diego Novillo <dnovillo@redhat.com>
9255
9256 * testsuite/libgomp.dg/omp-single-1.c: New test.
9257 * testsuite/libgomp.dg/shared-1.c: Return 0.
9258 Add prototype for abort.
9259 * testsuite/libgomp.dg/shared-2.c: Likewise.
9260
9261 2005-09-26 Jakub Jelinek <jakub@redhat.com>
9262
9263 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
9264 constructs.
9265
9266 2005-09-26 Diego Novillo <dnovillo@redhat.com>
9267
9268 * testsuite/libgomp.dg/shared-1.c: New test.
9269 * testsuite/libgomp.dg/shared-2.c: New test.
9270
9271 2005-09-24 Richard Henderson <rth@redhat.com>
9272
9273 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
9274
9275 2005-09-24 Richard Henderson <rth@redhat.com>
9276
9277 * iter.c (gomp_iter_static_next): Round up when computing number
9278 of iterations. Don't bother distributing a remainder equally.
9279
9280 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
9281 Don't call srand. Zero b before testing.
9282 (main): New.
9283
9284 2005-09-24 Jakub Jelinek <jakub@redhat.com>
9285
9286 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
9287 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
9288
9289 2005-09-23 Jakub Jelinek <jakub@redhat.com>
9290
9291 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
9292 without !$omp end do, followed immediately by subroutine end.
9293
9294 2005-09-23 Diego Novillo <dnovillo@redhat.com>
9295
9296 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
9297
9298 2005-09-22 Richard Henderson <rth@redhat.com>
9299
9300 * critical.c (GOMP_critical_name_start): Change argument to void**.
9301 Reuse the pointer space if the mutex fits.
9302 (GOMP_critical_name_end): Likewise.
9303 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
9304 * libgomp_g.h (GOMP_critical_name_start): Update decl.
9305 (GOMP_critical_name_end): Likewise.
9306 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
9307 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
9308
9309 2005-09-20 Richard Henderson <rth@redhat.com>
9310
9311 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
9312 (create_lock_lock): New.
9313 (initialize_critical): Initialize it.
9314 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
9315 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
9316
9317 2005-09-20 Diego Novillo <dnovillo@redhat.com>
9318
9319 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
9320
9321 2005-09-20 Diego Novillo <dnovillo@redhat.com>
9322
9323 * testsuite/libgomp.dg/omp-loop01.c: New test.
9324 * testsuite/libgomp.dg/omp-loop02.c: New test.
9325
9326 2005-09-20 Jakub Jelinek <jakub@redhat.com>
9327
9328 * configure.ac (AC_PROG_FC): Add.
9329 (USE_FORTRAN): New automake conditional.
9330 * configure: Rebuilt.
9331 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
9332 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
9333 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
9334 Add rules to build them.
9335 * Makefile.in: Rebuilt.
9336 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
9337 OMP_NEST_LOCK_KIND.
9338 * libgomp.map: Add Fortran wrappers.
9339 * libgomp_f.h.in: New file.
9340 * omp_lib.h.in: New file.
9341 * omp_lib.f90.in: New file.
9342 * fortran.c: New file.
9343 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
9344 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
9345 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
9346 libgfortran has been built.
9347 * testsuite/libgomp.fortran/fortran.exp: New file.
9348 * testsuite/libgomp.fortran/omp_cond1.f: New test.
9349 * testsuite/libgomp.fortran/omp_cond2.f: New test.
9350 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
9351 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
9352 * testsuite/libgomp.fortran/omp_hello.f: New test.
9353 * testsuite/libgomp.fortran/omp_orphan.f: New test.
9354 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
9355 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
9356 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
9357 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
9358 * testsuite/libgomp.fortran/omp_reduction.f: New test.
9359 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
9360 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
9361
9362 2005-08-30 Richard Henderson <rth@redhat.com>
9363
9364 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
9365 function for when aliases are not usable.
9366 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
9367 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9368 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
9369 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
9370 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
9371 GOMP_loop_ordered_guided_next): Likewise.
9372 * ordered.c (GOMP_ordered_start): Likewise.
9373
9374 2005-08-01 Diego Novillo <dnovillo@redhat.com>
9375
9376 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
9377 * testsuite/libgomp.dg/omp_hello.c: Fix return code
9378 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
9379 * testsuite/libgomp.dg/omp_orphan.c: Likewise
9380 * testsuite/libgomp.dg/omp_reduction.c: Likewise
9381 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
9382 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
9383 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
9384 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
9385
9386 2005-07-07 Eric Christopher <echristo@redhat.com>
9387 Diego Novillo <dnovillo@redhat.com>
9388
9389 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
9390 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
9391 up code.
9392 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
9393 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
9394 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
9395 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
9396 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
9397 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
9398 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
9399
9400 2005-06-13 Diego Novillo <dnovillo@redhat.com>
9401
9402 * TOPLEVEL.patch: Remove.
9403
9404 2005-05-16 Richard Henderson <rth@redhat.com>
9405
9406 * configure.ac: Test for clock_gettime.
9407 * config.h.in, configure: Rebuild.
9408 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
9409 (omp_get_wtime): Use clock_gettime if available.
9410 (omp_get_wtick): Use clock_getres if available.
9411
9412 2005-05-11 Richard Henderson <rth@redhat.com>
9413
9414 * config/linux/ia64/futex.h: New file.
9415 * configure.tgt: Use it.
9416
9417 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
9418
9419 2005-05-07 Richard Henderson <rth@redhat.com>
9420
9421 * config/linux/powerpc/futex.h: New file.
9422 * configure.tgt: Use it.
9423
9424 * config/linux/i486/futex.h: Merge ...
9425 * config/linux/x86_64/futex.h: ... into ...
9426 * config/linux/x86/futex.h: ... here.
9427 * configure.tgt: Update to match.
9428
9429 2005-05-06 Richard Henderson <rth@redhat.com>
9430
9431 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
9432 * config/linux/i486/futex.h: Likewise.
9433 * config/linux/x86_64/futex.h: Likewise.
9434
9435 * config/linux/lock.c: New file.
9436 * config/linux/omp-lock.h: New file.
9437
9438 * critical.c, env.h: Don't include omp.h
9439 * config/posix/lock.c: Include libgomp.h instead of omp.h.
9440 * config/posix/time.c: Likewise.
9441 * config/posix/omp-lock.h: New file.
9442 * libgomp.h: Include omp-lock.h and omp.h.
9443 * Makefile.am (nodist_include_HEADERS): New.
9444 (omp.h): New rule.
9445 * configure.ac (PERL): New.
9446 * mkomp_h.pl: New file.
9447 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
9448 with templates.
9449 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
9450
9451 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
9452 build directory. Re-add -march=i486 hack.
9453
9454 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
9455 (libgomp_link_flags): Remove.
9456 (libgomp_initialized): Remove.
9457 (libgomp_init): Don't protect from reinitialization. Copy code
9458 from libstdc++ for getting the multilib set correctly.
9459
9460 2005-05-05 Richard Henderson <rth@redhat.com>
9461
9462 * config/linux/alpha/futex.h: New file.
9463 * configure.tgt (alpha*-*-linux*): Use it.
9464
9465 * config/posix/mutex.c: New file.
9466 * config/posix/sem.c: Use libgomp.h.
9467
9468 * configure.tgt (x86_64-linux): Also test CC for -m32.
9469 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
9470
9471 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
9472 after $gccpath.
9473
9474 * Makefile.am (SUBDIRS): New.
9475 (libgomp_la_LDFLAGS): Add -lpthread.
9476 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
9477 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
9478
9479 * libgomp_g.h: New file.
9480 * libgomp.h: Split out all public declarations to libgomp_g.h.
9481 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
9482 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
9483 * config/linux/sem.h: Likewise.
9484 * config/posix/sem.h: Likewise.
9485
9486 * Makefile.am (AM_LDFLAGS): New.
9487 (libgomp_version_script): Split out from ...
9488 (libgomp_la_LDFLAGS): ... here.
9489 (libgomp_version_info): New.
9490 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
9491 (LIBGOMP_ENABLE): New.
9492 (LIBGOMP_CHECK_LINKER_FEATURES): New.
9493 (LIBGOMP_ENABLE_SYMVERS): New.
9494 * configure.ac (AC_INIT): Version 1.0.
9495 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
9496 (enable-linux-futex): Likewise. Rename from enable-futex.
9497 (libtool_VERSION): New.
9498 (LIBGOMP_ENABLE_SYMVERS): Use it.
9499 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
9500 * Makefile.in, aclocal.m4, configure: Rebuild.
9501
9502 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
9503 (gomp_mutex_unlock_slow): Fix typo.
9504 * config/linux/sem.c: Similarly.
9505 (gomp_sem_post_slow): Fix typo.
9506 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
9507 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
9508 [__PIC__] (sys_futex0): Don't use tmp output in asm.
9509
9510 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
9511 (libgomp_la_LDFLAGS): Add top_srcdir to path.
9512 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
9513 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
9514 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
9515 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
9516 LDFLAGS. Pull enable_futex check to top-level.
9517 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
9518 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
9519
9520 First attempt at real configury.
9521 * Makefile, config.h: Remove file.
9522 * Makefile.am, Makefile.in: New file.
9523 * acinclude.m4 aclocal.m4: New file.
9524 * configure.ac, configure.tgt, configure: New file.
9525
9526 * config/posix/lock.c: Rename from sys-lock.c.
9527 * config/posix/mutex.h: Rename from sys-mutex.h.
9528 * config/posix/sem.c: Rename from sys-sem.c.
9529 * config/posix/sem.h: Rename from sys-sem.h.
9530 * config/posix/proc.c: Rename from sys-proc.c.
9531 * config/posix/time.c: Rename from sys-proc.c.
9532
9533 * config/linux/mutex.c: New file.
9534 * config/linux/mutex.h: New file.
9535 * config/linux/sem.c: New file.
9536 * config/linux/sem.h: New file.
9537 * config/linux/i486/futex.h: New file.
9538 * config/linux/x86_64/futex.h: New file.
9539
9540 2005-05-04 Richard Henderson <rth@redhat.com>
9541
9542 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
9543 * libgomp.h: Declare them.
9544 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
9545 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
9546
9547 2005-05-04 Richard Henderson <rth@redhat.com>
9548
9549 * libgomp-1 code drop
9550
9551 2005-05-04 Richard Henderson <rth@redhat.com>
9552
9553 * iter.c (gomp_iter_static_next): Return tri-state on 0.
9554 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
9555 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
9556 (gomp_iter_static_next): Update.
9557 (gomp_ordered_static_next): Update.
9558 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
9559 (gomp_loop_ordered_static_start): Likewise. Exit early for a
9560 totally empty range.
9561 (gomp_loop_ordered_static_next): Refine test for calling
9562 gomp_ordered_static_next.
9563 * testsuite/ordered-1.c: Add case for more threads than iterations.
9564
9565 * iter.c (gomp_iter_runtime_next_locked): Remove.
9566 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
9567 gomp_loop_guided_start, gomp_loop_ordered_static_start,
9568 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9569 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
9570 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
9571 gomp_loop_ordered_guided_next): Downcase name, make static, add
9572 an external alias with the old name.
9573 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9574 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
9575 switch and call one of the above static functions.
9576 * libgomp.h: Update.
9577
9578 * work.c (gomp_work_share_start): Lock the mutex for !first too.
9579 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
9580 GOMP_loop_guided_start, GOMP_loop_runtime_start,
9581 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9582 GOMP_loop_ordered_guided_start): Update to match.
9583 * sections.c (GOMP_sections_start): Likewise.
9584 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
9585
9586 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
9587 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
9588 Use bounds check instead of modulus.
9589 (gomp_ordered_sync): Split out of GOMP_ordered_start.
9590 (gomp_ordered_last): Don't sync with ordered_owner here.
9591 (gomp_ordered_next): Likewise.
9592 (gomp_ordered_static_loop_next): Likewise.
9593 * loop.c, libgomp.h: Update to match.
9594
9595 * libgomp.h (GOMP_barrier): Declare.
9596
9597 * testsuite/barrier-1.c: New file.
9598 * testsuite/critical-1.c: New file.
9599 * testsuite/ordered-2.c: New file.
9600 * testsuite/ordered-1.c: New file.
9601 * testsuite/sections-1.c: New file.
9602 * testsuite/single-1.c: New file.
9603 * testsuite/Makefile (TESTS): Add them.
9604
9605 2005-05-04 Richard Henderson <rth@redhat.com>
9606
9607 * libgomp.h (struct gomp_work_share): Add ordered_owner.
9608 * loop.c (GOMP_loop_static_start): If not the startup thread,
9609 acquire the mutex to wait for initialization complete.
9610 (GOMP_loop_ordered_static_start): Likewise.
9611 (GOMP_loop_ordered_runtime_start): Likewise.
9612 (GOMP_loop_ordered_static_first): Remove.
9613 (GOMP_loop_ordered_dynamic_first): Remove.
9614 (GOMP_loop_ordered_guided_first): Remove.
9615 (GOMP_loop_ordered_runtime_first): Remove.
9616 * ordered.c (gomp_ordered_loop_first): Post to own release when
9617 we're the first thread.
9618 (gomp_ordered_loop_last): Wait on release if not owner.
9619 (gomp_ordered_loop_next): Likewise.
9620 (gomp_ordered_static_loop_init): New.
9621 (gomp_ordered_static_loop_next): Use ordered_owner.
9622 (GOMP_ordered_start): Likewise.
9623 * work.c (gomp_new_work_share): Initialize ordered_owner.
9624
9625 2005-05-03 Richard Henderson <rth@redhat.com>
9626
9627 * Makefile (OPT): New.
9628 (CFLAGS): Use it.
9629
9630 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
9631 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
9632 * libgomp.h, libgomp.map, NOTES: Update to match.
9633
9634 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
9635 Add initialized and thr members.
9636 (gomp_thread_start): Pause when initially spawned to wait for
9637 the whole team to be created.
9638 (gomp_team_start): Release team members at the end.
9639
9640 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
9641 (f_foo_1): Use GOMP_loop_end.
9642 (f_foo_2): Use GOMP_loop_end_nowait.
9643
9644 * testsuite/loop-2.c: New file.
9645 * testsuite/Makefile (TESTS): Add it.
9646
9647 2005-05-03 Richard Henderson <rth@redhat.com>
9648
9649 * iter.c (gomp_iter_static_next): Fix overflow check typo.
9650 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
9651 * team.c (new_team): Initialize oldest_live_gen to 1 if no
9652 initial work_share.
9653
9654 * testsuite/Makefile: New file.
9655 * testsuite/loop-1.c: New file.
9656
9657 2005-05-03 Richard Henderson <rth@redhat.com>
9658
9659 Initial implementation and checkin.
9660 \f
9661 Copyright (C) 2005-2018 Free Software Foundation, Inc.
9662
9663 Copying and distribution of this file, with or without modification,
9664 are permitted in any medium without royalty provided the copyright
9665 notice and this notice are preserved.