]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
[openacc] Add __builtin_goacc_parlevel_{id,size}
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2018-05-02 Tom de Vries <tom@codesourcery.com>
2
3 PR libgomp/82428
4 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
5 __builtin_goacc_parlevel_{id,size}.
6 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
8 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
9 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
10 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
12 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
13 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
14 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
15 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
16 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
17 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
18 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
19 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
20 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
21 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
22 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
23 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
24 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
25 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
26 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
27 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
28 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
29
30 2018-05-02 Tom de Vries <tom@codesourcery.com>
31
32 PR testsuite/85106
33 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
34
35 2018-05-02 Tom de Vries <tom@codesourcery.com>
36
37 PR testsuite/85106
38 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
39
40 2018-04-29 Julian Brown <julian@codesourcery.com>
41 Tom de Vries <tom@codesourcery.com>
42
43 PR testsuite/85527
44 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
45 arbitrary order for iterations of atomic subtract check.
46
47 2018-04-28 Tom de Vries <tom@codesourcery.com>
48
49 PR testsuite/85527
50 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
51 atomic capture results obtained in parallel loop to an array, instead of
52 to a scalar.
53
54 2018-04-26 Tom de Vries <tom@codesourcery.com>
55
56 PR libgomp/84020
57 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
58 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
59 (process_GOMP_NVPTX_JIT): New function.
60 (link_ptx): Use process_GOMP_NVPTX_JIT.
61
62 2018-04-26 Richard Biener <rguenther@suse.de>
63 Tom de Vries <tom@codesourcery.com>
64
65 PR lto/85422
66 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
67
68 2018-04-26 Tom de Vries <tom@codesourcery.com>
69
70 PR target/85519
71 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
72 recursion depth from 25 to 23.
73 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
74
75 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
76
77 * configure: Regenerated.
78
79 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
80 Tom de Vries <tom@codesourcery.com>
81
82 PR target/85445
83 * testsuite/libgomp.oacc-c++/ref-1.C: New.
84
85 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
86
87 PR libgomp/85463
88 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
89 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
90 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
91 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
92 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
93 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
94
95 PR libfortran/85166
96 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
97 abort".
98 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
99
100 2018-04-19 Jakub Jelinek <jakub@redhat.com>
101
102 * configure: Regenerated.
103
104 2018-04-18 David Malcolm <dmalcolm@redhat.com>
105
106 PR jit/85384
107 * configure: Regenerate.
108
109 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
110 Tom de Vries <tom@codesourcery.com>
111
112 PR middle-end/84955
113 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
114 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
115
116 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
117
118 PR fortran/83064
119 PR testsuite/85346
120 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
121 test from gfortran.dg to here.
122
123 2018-04-05 Tom de Vries <tom@codesourcery.com>
124
125 PR target/85204
126 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
127
128 2018-03-26 Tom de Vries <tom@codesourcery.com>
129
130 PR tree-optimization/85063
131 * testsuite/libgomp.c/switch-conversion-2.c: New test.
132 * testsuite/libgomp.c/switch-conversion.c: New test.
133 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
134 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
135
136 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
137
138 PR fortran/84381
139 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
140 call abort by STOP n.
141 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
142 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
143 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
144 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
145 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
146 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
147 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
148 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
149 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
150 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
151 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
152 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
153 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
154 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
155 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
156 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
157 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
158 * testsuite/libgomp.fortran/associate1.f90: Likewise.
159 * testsuite/libgomp.fortran/associate2.f90: Likewise.
160 * testsuite/libgomp.fortran/associate3.f90: Likewise.
161 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
162 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
163 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
164 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
165 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
166 * testsuite/libgomp.fortran/character1.f90: Likewise.
167 * testsuite/libgomp.fortran/character2.f90: Likewise.
168 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
169 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
170 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
171 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
172 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
173 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
174 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
175 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
176 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
177 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
178 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
179 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
180 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
181 * testsuite/libgomp.fortran/do1.f90: Likewise.
182 * testsuite/libgomp.fortran/do2.f90: Likewise.
183 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
184 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
185 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
186 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
187 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
188 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
189 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
190 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
191 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
192 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
193 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
194 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
195 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
196 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
197 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
198 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
199 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
200 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
201 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
202 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
203 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
204 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
205 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
206 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
207 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
208 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
209 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
210 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
211 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
212 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
213 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
214 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
215 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
216 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
217 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
218 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
219 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
220 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
221 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
222 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
223 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
224 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
225 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
226 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
227 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
228 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
229 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
230 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
231 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
232 * testsuite/libgomp.fortran/lib1.f90: Likewise.
233 * testsuite/libgomp.fortran/lib2.f: Likewise.
234 * testsuite/libgomp.fortran/lib3.f: Likewise.
235 * testsuite/libgomp.fortran/lib4.f90: Likewise.
236 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
237 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
238 * testsuite/libgomp.fortran/nested1.f90: Likewise.
239 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
240 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
241 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
242 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
243 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
244 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
245 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
246 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
247 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
248 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
249 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
250 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
251 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
252 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
253 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
254 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
255 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
256 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
257 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
258 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
259 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
260 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
261 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
262 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
263 * testsuite/libgomp.fortran/pr25162.f: Likewise.
264 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
265 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
266 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
267 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
268 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
269 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
270 * testsuite/libgomp.fortran/pr28390.f: Likewise.
271 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
272 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
273 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
274 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
275 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
276 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
277 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
278 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
279 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
280 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
281 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
282 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
283 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
284 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
285 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
286 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
287 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
288 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
289 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
290 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
291 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
292 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
293 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
294 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
295 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
296 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
297 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
298 * testsuite/libgomp.fortran/reference1.f90: Likewise.
299 * testsuite/libgomp.fortran/reference2.f90: Likewise.
300 * testsuite/libgomp.fortran/retval1.f90: Likewise.
301 * testsuite/libgomp.fortran/retval2.f90: Likewise.
302 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
303 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
304 * testsuite/libgomp.fortran/simd1.f90: Likewise.
305 * testsuite/libgomp.fortran/simd2.f90: Likewise.
306 * testsuite/libgomp.fortran/simd3.f90: Likewise.
307 * testsuite/libgomp.fortran/simd4.f90: Likewise.
308 * testsuite/libgomp.fortran/simd5.f90: Likewise.
309 * testsuite/libgomp.fortran/simd6.f90: Likewise.
310 * testsuite/libgomp.fortran/simd7.f90: Likewise.
311 * testsuite/libgomp.fortran/stack.f90: Likewise.
312 * testsuite/libgomp.fortran/strassen.f90: Likewise.
313 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
314 * testsuite/libgomp.fortran/tabs2.f: Likewise.
315 * testsuite/libgomp.fortran/target1.f90: Likewise.
316 * testsuite/libgomp.fortran/target2.f90: Likewise.
317 * testsuite/libgomp.fortran/target3.f90: Likewise.
318 * testsuite/libgomp.fortran/target4.f90: Likewise.
319 * testsuite/libgomp.fortran/target5.f90: Likewise.
320 * testsuite/libgomp.fortran/target6.f90: Likewise.
321 * testsuite/libgomp.fortran/target7.f90: Likewise.
322 * testsuite/libgomp.fortran/target8.f90: Likewise.
323 * testsuite/libgomp.fortran/task1.f90: Likewise.
324 * testsuite/libgomp.fortran/task2.f90: Likewise.
325 * testsuite/libgomp.fortran/task3.f90: Likewise.
326 * testsuite/libgomp.fortran/task4.f90: Likewise.
327 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
328 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
329 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
330 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
331 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
332 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
333 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
334 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
335 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
336 * testsuite/libgomp.fortran/udr1.f90: Likewise.
337 * testsuite/libgomp.fortran/udr10.f90: Likewise.
338 * testsuite/libgomp.fortran/udr11.f90: Likewise.
339 * testsuite/libgomp.fortran/udr12.f90: Likewise.
340 * testsuite/libgomp.fortran/udr13.f90: Likewise.
341 * testsuite/libgomp.fortran/udr14.f90: Likewise.
342 * testsuite/libgomp.fortran/udr15.f90: Likewise.
343 * testsuite/libgomp.fortran/udr2.f90: Likewise.
344 * testsuite/libgomp.fortran/udr3.f90: Likewise.
345 * testsuite/libgomp.fortran/udr4.f90: Likewise.
346 * testsuite/libgomp.fortran/udr5.f90: Likewise.
347 * testsuite/libgomp.fortran/udr6.f90: Likewise.
348 * testsuite/libgomp.fortran/udr7.f90: Likewise.
349 * testsuite/libgomp.fortran/udr8.f90: Likewise.
350 * testsuite/libgomp.fortran/udr9.f90: Likewise.
351 * testsuite/libgomp.fortran/vla1.f90: Likewise.
352 * testsuite/libgomp.fortran/vla2.f90: Likewise.
353 * testsuite/libgomp.fortran/vla3.f90: Likewise.
354 * testsuite/libgomp.fortran/vla4.f90: Likewise.
355 * testsuite/libgomp.fortran/vla5.f90: Likewise.
356 * testsuite/libgomp.fortran/vla6.f90: Likewise.
357 * testsuite/libgomp.fortran/vla7.f90: Likewise.
358 * testsuite/libgomp.fortran/vla8.f90: Likewise.
359 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
360 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
361 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
362 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
363 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
364 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
365 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
366 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
367 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
368 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
369 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
370 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
371 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
372 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
373 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
374 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
375 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
376 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
377 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
378 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
379 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
380 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
381 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
382 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
383 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
384 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
385 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
386 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
387 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
388 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
389 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
390 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
391 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
392 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
393 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
394 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
395 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
396 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
397 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
398 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
399 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
400 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
401 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
402 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
403 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
404 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
405 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
406 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
407 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
408 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
409 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
410 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
411 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
412 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
413 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
414 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
415 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
416 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
417 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
418 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
419 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
420 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
421 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
422 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
423 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
424 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
425 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
426 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
427 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
428 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
429 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
430 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
431 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
432 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
433 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
434 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
435 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
436 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
437 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
438 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
439 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
440 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
441 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
442 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
443 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
444 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
445 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
446 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
447 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
448 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
449 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
450 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
451 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
452 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
453
454 2018-03-20 Richard Biener <rguenther@suse.de>
455
456 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
457 parallelizable loop.
458
459 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
460
461 PR target/84148
462 * configure: Regenerate.
463
464 2018-02-16 Jakub Jelinek <jakub@redhat.com>
465
466 PR fortran/84418
467 * libgomp.fortran/pr84418-1.f90: New test.
468 * libgomp.fortran/pr84418-2.f90: New test.
469
470 2018-02-14 Jakub Jelinek <jakub@redhat.com>
471
472 PR fortran/84313
473 * testsuite/libgomp.fortran/threadprivate4.f90: Add
474 -std=f2003 -fall-intrinsics into dg-additional-options.
475
476 2018-02-08 Martin Jambor <mjambor@suse.cz>
477
478 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
479 clonable.
480
481 2018-02-08 Martin Jambor <mjambor@suse.cz>
482
483 * testsuite/libgomp.hsa.c/staticvar.c: New test.
484
485 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
486
487 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
488 [__cplusplus]: Declare extern "C".
489
490 2018-02-07 Tom de Vries <tom@codesourcery.com>
491
492 PR libgomp/84217
493 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
494
495 2018-01-29 Christoph Spiel <cspiel@freenet.de>
496 Jakub Jelinek <jakub@redhat.com>
497
498 PR libgomp/84096
499 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
500 instead of omp_lock_t.
501
502 2018-01-25 Tom de Vries <tom@codesourcery.com>
503
504 PR target/84028
505 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
506
507 2018-01-24 Tom de Vries <tom@codesourcery.com>
508
509 PR target/83589
510 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
511
512 2018-01-24 Tom de Vries <tom@codesourcery.com>
513
514 PR target/81352
515 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
516
517 2018-01-19 Tom de Vries <tom@codesourcery.com>
518 Cesar Philippidis <cesar@codesourcery.com>
519
520 PR target/83920
521 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
522 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
523
524 2018-01-03 Jakub Jelinek <jakub@redhat.com>
525
526 Update copyright years.
527
528 * libgomp.texi: Bump @copying's copyright year.
529
530 2017-12-30 Tom de Vries <tom@codesourcery.com>
531
532 PR libgomp/83046
533 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
534 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
535
536 2017-12-27 Tom de Vries <tom@codesourcery.com>
537
538 PR c++/83046
539 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
540 (test_nonstatic): Fix return type to workaround PR83046.
541
542 2017-12-05 Jakub Jelinek <jakub@redhat.com>
543
544 PR testsuite/83281
545 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
546 j suffix instead of i.
547 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
548 Likewise.
549
550 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
551
552 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
553 call to acc_wait (1).
554
555 2017-11-24 Jakub Jelinek <jakub@redhat.com>
556
557 PR fortran/81304
558 * testsuite/libgomp.fortran/pr81304.f90: New test.
559
560 2017-11-23 Jakub Jelinek <jakub@redhat.com>
561
562 PR fortran/81841
563 * libgomp.fortran/pr81841.f90: New test.
564
565 2017-11-22 Jakub Jelinek <jakub@redhat.com>
566
567 PR libgomp/83106
568 * target.c (gomp_target_init): Compute lengths just once and
569 use them in both malloc size and subsequent copying.
570
571 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
572
573 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
574 * acinclude.m4: Add cet.m4.
575 * configure: Regenerate.
576 * Makefile.in: Likewise.
577 * testsuite/Makefile.in: Likewise.
578
579 2017-11-15 Tom de Vries <tom@codesourcery.com>
580
581 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
582 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
583 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
584 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
585 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
586 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
587
588 2017-11-14 Tom de Vries <tom@codesourcery.com>
589
590 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
591 non-nvidia devices.
592
593 2017-11-07 Jakub Jelinek <jakub@redhat.com>
594
595 PR c++/82835
596 * testsuite/libgomp.c++/pr82835.C: New test.
597
598 2017-11-06 Martin Liska <mliska@suse.cz>
599
600 * testsuite/libgomp.c++/loop-2.C: Return a value
601 for functions with non-void return type, or change type to void,
602 or add -Wno-return-type for test.
603 * testsuite/libgomp.c++/loop-4.C: Likewise.
604 * testsuite/libgomp.c++/parallel-1.C: Likewise.
605 * testsuite/libgomp.c++/shared-1.C: Likewise.
606 * testsuite/libgomp.c++/single-1.C: Likewise.
607 * testsuite/libgomp.c++/single-2.C: Likewise.
608
609 2017-10-31 Tom de Vries <tom@codesourcery.com>
610
611 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
612 "do {} while (false)".
613 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
614 after HSA_DEBUG call.
615
616 2017-10-28 Jakub Jelinek <jakub@redhat.com>
617
618 * target.c (struct gomp_coalesce_buf): New type.
619 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
620 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
621 (gomp_copy_host2dev): Add CBUF argument, if copying into
622 the cached ranges, memcpy into buffer instead of copying
623 into device.
624 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
625 Add CBUF argument, pass it through to other calls.
626 (gomp_map_vars): Aggregate copies from host to device if small enough
627 and with small enough gaps in between into memcpy into a buffer and
628 fewer host to device copies from the buffer.
629 (gomp_update): Adjust gomp_copy_host2dev caller.
630
631 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
632
633 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
634 run" directive.
635 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
636 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
637 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
638 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
639
640 2017-10-16 Tom de Vries <tom@codesourcery.com>
641
642 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
643 openacc_nvidia_accel_selected.
644 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
645 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
646 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
647 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
648 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
649 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
650 openacc_nvidia_accel_selected. Skip for shared memory device.
651 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
652 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
653
654 2017-10-09 Martin Jambor <mjambor@suse.cz>
655
656 PR hsa/82416
657 * testsuite/libgomp.hsa.c/pr82416.c: New test.
658
659 2017-10-07 Tom de Vries <tom@codesourcery.com>
660
661 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
662 Remove acc_device_nvidia references.
663 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
664 Same.
665
666 2017-10-05 Tom de Vries <tom@codesourcery.com>
667
668 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
669 vector_length(32) clause from acc parallel directive.
670 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
671
672 2017-10-04 Tom de Vries <tom@codesourcery.com>
673
674 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
675 (main): Reduce sum of arr elements. Assert that hres is exactly
676 representable in 32-bit floating point.
677 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
678 (main): Reduce sum of arr elements. Assert that hres and hmres are
679 exactly representable in 32-bit floating point.
680 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
681
682 2017-09-28 Tom de Vries <tom@codesourcery.com>
683
684 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
685 setting.
686 * testsuite/libgomp.c++/pr69393.C: Same.
687 * testsuite/libgomp.c++/taskloop-1.C: Same.
688 * testsuite/libgomp.c++/taskloop-3.C: Same.
689 * testsuite/libgomp.c++/taskloop-4.C: Same.
690 * testsuite/libgomp.c/for-4.c: Same.
691 * testsuite/libgomp.c/pr66199-3.c: Same.
692 * testsuite/libgomp.c/pr66199-4.c: Same.
693 * testsuite/libgomp.c/pr66199-6.c: Same.
694 * testsuite/libgomp.c/taskloop-1.c: Same.
695 * testsuite/libgomp.c/taskloop-3.c: Same.
696 * testsuite/libgomp.c/taskloop-4.c: Same.
697 * testsuite/libgomp.fortran/aligned1.f03: Same.
698 * testsuite/libgomp.fortran/condinc1.f: Same.
699 * testsuite/libgomp.fortran/condinc3.f90: Same.
700 * testsuite/libgomp.fortran/crayptr1.f90: Same.
701 * testsuite/libgomp.fortran/crayptr2.f90: Same.
702 * testsuite/libgomp.fortran/crayptr3.f90: Same.
703 * testsuite/libgomp.fortran/omp_cond1.f: Same.
704 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
705 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
706 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
707 * testsuite/libgomp.fortran/recursion1.f90: Same.
708 * testsuite/libgomp.fortran/target2.f90: Same.
709 * testsuite/libgomp.fortran/target5.f90: Same.
710 * testsuite/libgomp.fortran/task3.f90: Same.
711
712 2017-09-28 Tom de Vries <tom@codesourcery.com>
713
714 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
715 vector_length(32) clause from acc parallel directive.
716 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
717
718 2017-09-27 Tom de Vries <tom@codesourcery.com>
719
720 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
721 Remove acc_device_nvidia references.
722
723 2017-09-16 Tom de Vries <tom@codesourcery.com>
724
725 PR c/81875
726 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
727
728 2017-09-14 Tom de Vries <tom@codesourcery.com>
729
730 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
731 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
732 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
733 * testsuite/libgomp.c/c.exp: Include test-cases from
734 libgomp.c-c++-common.
735 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
736 files.
737
738 2017-09-14 Jakub Jelinek <jakub@redhat.com>
739
740 PR c++/81314
741 * testsuite/libgomp.c++/pr81314.C: New test.
742
743 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
744
745 * libgomp.texi (Top): www.openacc.org now uses https.
746 (Enabling OpenACC): Ditto.
747 (acc_get_num_devices): Ditto.
748 (acc_set_device_type): Ditto.
749 (acc_get_device_type): Ditto.
750 (acc_set_device_num): Ditto.
751 (acc_get_device_num): Ditto.
752 (acc_async_test): Ditto.
753 (acc_async_test_all): Ditto.
754 (acc_wait): Ditto.
755 (acc_wait_all): Ditto.
756 (acc_wait_all_async): Ditto.
757 (acc_wait_async): Ditto.
758 (acc_init): Ditto.
759 (acc_shutdown): Ditto.
760 (acc_on_device): Ditto.
761 (acc_malloc): Ditto.
762 (acc_free): Ditto.
763 (acc_copyin): Ditto.
764 (acc_present_or_copyin): Ditto.
765 (acc_create): Ditto.
766 (acc_present_or_create): Ditto.
767 (acc_copyout): Ditto.
768 (acc_delete): Ditto.
769 (acc_update_device): Ditto.
770 (acc_update_self): Ditto.
771 (acc_map_data): Ditto.
772 (acc_unmap_data): Ditto.
773 (acc_deviceptr): Ditto.
774 (acc_hostptr): Ditto.
775 (acc_is_present): Ditto.
776 (acc_memcpy_to_device): Ditto.
777 (acc_memcpy_from_device): Ditto.
778 (acc_get_current_cuda_device): Ditto.
779 (acc_get_current_cuda_context): Ditto.
780 (acc_get_cuda_stream): Ditto.
781 (acc_set_cuda_stream): Ditto.
782 (ACC_DEVICE_TYPE): Ditto.
783 (ACC_DEVICE_NUM): Ditto.
784 (OpenACC Library Interoperability): Ditto.
785
786 2017-08-09 Jakub Jelinek <jakub@redhat.com>
787
788 PR c/81687
789 * testsuite/libgomp.c/pr81687-1.c: New test.
790 * testsuite/libgomp.c/pr81687-2.c: New test.
791
792 2017-08-07 Jakub Jelinek <jakub@redhat.com>
793
794 PR c/69389
795 * testsuite/libgomp.c/pr69389.c: New test.
796 * testsuite/libgomp.c++/pr69389.C: New test.
797
798 2017-08-07 Tom de Vries <tom@codesourcery.com>
799
800 PR middle-end/78266
801 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
802 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
803
804 2017-07-27 Jakub Jelinek <jakub@redhat.com>
805
806 PR c/45784
807 * testsuite/libgomp.c/pr45784.c: New test.
808 * testsuite/libgomp.c++/pr45784.C: New test.
809
810 2017-07-19 Tom de Vries <tom@codesourcery.com>
811
812 * testsuite/libgomp.oacc-c/vec.c: New test.
813
814 2017-07-03 Tom de Vries <tom@codesourcery.com>
815
816 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
817
818 2017-06-27 Tom de Vries <tom@codesourcery.com>
819
820 * plugin/plugin-nvptx.c (notify_var): New function.
821 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
822
823 2017-06-27 Tom de Vries <tom@codesourcery.com>
824
825 * env.c (parse_unsigned_long_1): Factor out of ...
826 (parse_unsigned_long): ... here.
827 (parse_int_1): Factor out of ...
828 (parse_int): ... here.
829 (parse_int_secure): New function.
830 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
831 * secure_getenv.h: Factor out of ...
832 * plugin/plugin-hsa.c: ... here.
833 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
834
835 2017-06-21 Jakub Jelinek <jakub@redhat.com>
836
837 PR c++/81130
838 * testsuite/libgomp.c++/pr81130.C: New test.
839
840 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
841
842 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
843 default args.
844 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
845 dg-xfail-run-if default args.
846
847 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
848
849 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
850 * testsuite/libgomp.c/pr39591-3.c: Likewise.
851
852 2017-05-30 Jakub Jelinek <jakub@redhat.com>
853
854 PR libgomp/80822
855 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
856 (gomp_affinity_init_level): Use it. Always analyze the core and thread
857 sibling lists, depending on level just pick up what CPUs to put
858 together into a place vs. whether add multiple ordered places.
859
860 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
861
862 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
863 * libgomp.map (OACC_2.0.1): Add these.
864 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
865 for "acc_wait", and "acc_wait_all", respectively.
866 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
867 for "acc_wait", and "acc_wait_all", respectively.
868 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
869 * libgomp.texi (acc_wait, acc_wait_all): Update.
870 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
871 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
872 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
873
874 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
875 acc_present_or_copyin and acc_present_or_create procedures,
876 respectively.
877 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
878 generally different variants of OpenACC Runtime Library functions.
879 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
880
881 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
882 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
883
884 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
885 of preprocessor definitions.
886 * libgomp.h (strong_alias): Guard by "#ifdef
887 HAVE_ATTRIBUTE_ALIAS".
888 * oacc-mem.c: Provide "acc_pcreate" as alias for
889 "acc_present_or_create", and "acc_pcopyin" as alias for
890 "acc_present_or_copyin".
891 * libgomp.map: New version "OACC_2.0.1".
892 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
893 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
894 its content into...
895 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
896 Extend testing.
897
898 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
899 when disabling nvptx offloading.
900
901 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
902
903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
904 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
905 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
906
907 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
908 * testsuite/lib/libgomp.exp
909 (check_effective_target_openacc_nvidia_accel_configured): New
910 proc.
911 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
912 (check_effective_target_c++): New procs.
913 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
914 (check_effective_target_c++): Likewise.
915
916 2017-05-22 Jakub Jelinek <jakub@redhat.com>
917
918 PR middle-end/80809
919 * testsuite/libgomp.c/pr80809-2.c: New test.
920 * testsuite/libgomp.c/pr80809-3.c: New test.
921
922 PR middle-end/80809
923 * testsuite/libgomp.c/pr80809-1.c: New test.
924
925 PR middle-end/80853
926 * testsuite/libgomp.c/pr80853.c: New test.
927
928 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
929
930 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
931 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
932 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
933 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
934 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
935
936 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
937 Debug output for failure.
938
939 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
940
941 * testsuite/lib/libgomp.exp: Load scanlang.exp.
942
943 2017-04-27 Jakub Jelinek <jakub@redhat.com>
944
945 PR bootstrap/80531
946 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
947 bootstrap compare failures.
948
949 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
950
951 * testsuite/libgomp.c/target-36.c: New testcase.
952
953 2017-04-13 Jakub Jelinek <jakub@redhat.com>
954
955 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
956 instead of char.
957
958 2017-04-11 Jakub Jelinek <jakub@redhat.com>
959
960 PR libgomp/80394
961 * testsuite/libgomp.c/pr80394.c: New test.
962
963 2017-04-04 Jakub Jelinek <jakub@redhat.com>
964
965 PR libgomp/79876
966 * config/posix/thread-stacksize.h: New file.
967 * config/darwin/thread-stacksize.h: New file.
968 * config/nvptx/thread-stacksize.h: New file.
969 * env.c: Include thread-stacksize.h.
970 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
971 instead of 0. Call pthread_attr_setstacksize even if
972 GOMP_DEFAULT_STACKSIZE is non-zero.
973
974 2017-03-30 Jakub Jelinek <jakub@redhat.com>
975
976 * env.c (initialize_env): Initialize stacksize to 0.
977
978 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
979
980 PR c++/80029
981 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
982
983 2017-03-08 Jakub Jelinek <jakub@redhat.com>
984
985 PR c/79940
986 * testsuite/libgomp.c/pr79940.c: New test.
987
988 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
989
990 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
991 targets.
992 Add __float128 options.
993
994 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
995
996 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
997 hppa*-*-* dg-skip-if directive.
998
999 2017-02-09 Jakub Jelinek <jakub@redhat.com>
1000
1001 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
1002 dg-skip-if directive into a comment.
1003
1004 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
1005 Chung-Lin Tang <cltang@codesourcery.com>
1006
1007 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
1008 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
1009 add additional case.
1010 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
1011 "openacc_nvidia_accel_selected".
1012 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
1013 Add num_workers(8) clause.
1014
1015 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
1016
1017 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
1018 hppa*-*-*.
1019 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
1020 include complex.h on hppa*-*-hpux*.
1021 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
1022
1023 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
1024
1025 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
1026
1027 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
1028 GOMP_OFFLOAD_openacc_exec. Adjust all users.
1029 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
1030 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
1031 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
1032 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
1033 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
1034 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
1035 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
1036 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
1037
1038 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
1039
1040 * libgomp-plugin.h: #include <stdbool.h>.
1041 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
1042 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
1043 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
1044 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
1045 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
1046 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
1047 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
1048 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
1049 (GOMP_OFFLOAD_openacc_register_async_cleanup)
1050 (GOMP_OFFLOAD_openacc_async_test)
1051 (GOMP_OFFLOAD_openacc_async_test_all)
1052 (GOMP_OFFLOAD_openacc_async_wait)
1053 (GOMP_OFFLOAD_openacc_async_wait_async)
1054 (GOMP_OFFLOAD_openacc_async_wait_all)
1055 (GOMP_OFFLOAD_openacc_async_wait_all_async)
1056 (GOMP_OFFLOAD_openacc_async_set_async)
1057 (GOMP_OFFLOAD_openacc_create_thread_data)
1058 (GOMP_OFFLOAD_openacc_destroy_thread_data)
1059 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
1060 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
1061 (GOMP_OFFLOAD_openacc_get_cuda_stream)
1062 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
1063 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
1064 these.
1065 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
1066 (GOMP_OFFLOAD_unload_image): Fix argument types.
1067
1068 2017-01-26 Jakub Jelinek <jakub@redhat.com>
1069
1070 * testsuite/lib/libgomp.exp
1071 (check_effective_target_hsa_offloading_selected_nocache): Fix up
1072 check_compile invocation. Fix up removal of executable. Drop
1073 bogus "2>&1" argument.
1074
1075 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
1076 directive.
1077
1078 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
1079 Martin Jambor <mjambor@suse.cz>
1080
1081 * plugin/hsa.h: Moved to top level include.
1082 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
1083
1084 2017-01-21 Jakub Jelinek <jakub@redhat.com>
1085
1086 PR other/79046
1087 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
1088 of cat to get version from BASE-VER file.
1089 * testsuite/Makefile.in: Regenerated.
1090
1091 2017-01-19 Jakub Jelinek <jakub@redhat.com>
1092
1093 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
1094 for _WIN64.
1095
1096 2017-01-17 Jakub Jelinek <jakub@redhat.com>
1097
1098 * plugin/hsa.h: Add GCC runtime library exception.
1099 * plugin/hsa_ext_finalize.h: Likewise.
1100
1101 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
1102 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
1103 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
1104 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
1105 plugin/include/cuda as include dir and -ldl instead of -lcuda as
1106 library to link ptx plugin against.
1107 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
1108 (CUDA_CALLS): Define.
1109 (cuda_lib, cuda_lib_inited): New variables.
1110 (init_cuda_lib): New function.
1111 (CUDA_CALL_PREFIX): Define.
1112 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
1113 (CUDA_CALL): Use FN instead of (FN).
1114 (CUDA_CALL_NOCHECK): Define.
1115 (cuda_error, fini_streams_for_device, select_stream_for_async,
1116 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
1117 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
1118 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
1119 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
1120 CUDA_CALL_NOCHECK.
1121 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
1122 CUDA_CALL_NOCHECK.
1123 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
1124 Use CUDA_CALL_NOCHECK.
1125 * plugin/cuda/cuda.h: New file.
1126 * config.h.in: Regenerated.
1127 * configure: Regenerated.
1128
1129 PR other/79046
1130 * configure.ac: Add GCC_BASE_VER.
1131 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
1132 get version from BASE-VER file.
1133 * testsuite/Makefile.in: Regenerated.
1134 * configure: Regenerated.
1135 * Makefile.in: Regenerated.
1136
1137 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1138
1139 PR libgomp/60670
1140 * Makefile.am: Make fincludedir multilib-aware.
1141 * Makefile.in: Regenerate.
1142
1143 2017-01-01 Jakub Jelinek <jakub@redhat.com>
1144
1145 Update copyright years.
1146
1147 * libgomp.texi: Bump @copying's copyright year.
1148
1149 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
1150
1151 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
1152 pthread_spinlock_t instead of gomp_mutex_t lock.
1153 (gomp_get_thread_pool): Likewise.
1154 (gomp_release_thread_pool): Likewise.
1155 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
1156 Likewise.
1157
1158 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
1159
1160 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
1161 thread pool in case nthreads == 1.
1162
1163 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
1164
1165 * config/nvptx/env.c: Delete.
1166 * icv.c: Move definitions of ICV variables back ...
1167 * env.c: ...here. Do not compile environment-related functionality if
1168 LIBGOMP_OFFLOADED_ONLY is set.
1169
1170 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
1171
1172 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
1173 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
1174 * configure: Regenerate.
1175 * config.h.in: Likewise.
1176
1177 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
1178
1179 * Makefile.in: Regenerate with automake-1.11.6.
1180 * aclocal.m4: Likewise.
1181 * configure: Likewise.
1182 * testsuite/Makefile.in: Likewise.
1183
1184 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
1185
1186 * config/nvptx/critical.c: Delete to use generic implementation.
1187
1188 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
1189
1190 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
1191 ../../affinity.c as fallback.
1192 * config/nvptx/affinity.c: Delete to use fallback implementation.
1193
1194 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
1195 Jakub Jelinek <jakub@redhat.com>
1196 Dmitry Melnik <dm@ispras.ru>
1197
1198 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
1199 * Makefile.in. Regenerate.
1200 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
1201 (LIBGOMP_USE_PTHREADS): ...here; new define.
1202 * configure: Regenerate.
1203 * config.h.in: Likewise.
1204 * config/posix/affinity.c: Move to...
1205 * affinity.c: ...here (new file). Guard use of Pthreads-specific
1206 interface by LIBGOMP_USE_PTHREADS.
1207 * critical.c: Split out GOMP_atomic_{start,end} into...
1208 * atomic.c: ...here (new file).
1209 * env.c: Split out ICV definitions into...
1210 * icv.c: ...here (new file) and...
1211 * icv-device.c: ...here. New file.
1212 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
1213 (gomp_destroy_lock_30): Ditto.
1214 (gomp_set_lock_30): Ditto.
1215 (gomp_unset_lock_30): Ditto.
1216 (gomp_test_lock_30): Ditto.
1217 (gomp_init_nest_lock_30): Ditto.
1218 (gomp_destroy_nest_lock_30): Ditto.
1219 (gomp_set_nest_lock_30): Ditto.
1220 (gomp_unset_nest_lock_30): Ditto.
1221 (gomp_test_nest_lock_30): Ditto.
1222 * lock.c: New.
1223 * config/nvptx/lock.c: New.
1224 * config/nvptx/bar.c: New.
1225 * config/nvptx/bar.h: New.
1226 * config/nvptx/doacross.h: New.
1227 * config/nvptx/error.c: New.
1228 * config/nvptx/icv-device.c: New.
1229 * config/nvptx/mutex.h: New.
1230 * config/nvptx/pool.h: New.
1231 * config/nvptx/proc.c: New.
1232 * config/nvptx/ptrlock.h: New.
1233 * config/nvptx/sem.h: New.
1234 * config/nvptx/simple-bar.h: New.
1235 * config/nvptx/target.c: New.
1236 * config/nvptx/task.c: New.
1237 * config/nvptx/team.c: New.
1238 * config/nvptx/time.c: New.
1239 * config/posix/simple-bar.h: New.
1240 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
1241 (gomp_num_teams_var): Declare.
1242 (struct gomp_thread_pool): Change threads_dock member to
1243 gomp_simple_barrier_t.
1244 [__nvptx__] (gomp_thread): New implementation.
1245 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
1246 (gomp_thread_destructor): Ditto.
1247 (gomp_init_thread_affinity): Ditto.
1248 * team.c: Guard uses of Pthreads-specific interfaces by
1249 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
1250 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
1251 * config/nvptx/alloc.c: Delete.
1252 * config/nvptx/barrier.c: Ditto.
1253 * config/nvptx/fortran.c: Ditto.
1254 * config/nvptx/iter.c: Ditto.
1255 * config/nvptx/iter_ull.c: Ditto.
1256 * config/nvptx/loop.c: Ditto.
1257 * config/nvptx/loop_ull.c: Ditto.
1258 * config/nvptx/ordered.c: Ditto.
1259 * config/nvptx/parallel.c: Ditto.
1260 * config/nvptx/priority_queue.c: Ditto.
1261 * config/nvptx/sections.c: Ditto.
1262 * config/nvptx/single.c: Ditto.
1263 * config/nvptx/splay-tree.c: Ditto.
1264 * config/nvptx/work.c: Ditto.
1265 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
1266 -foffload=-lgfortran in addition to -lgfortran.
1267 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
1268 * plugin/plugin-nvptx.c: Include <limits.h>.
1269 (struct targ_fn_descriptor): Add new fields.
1270 (struct ptx_device): Ditto. Set them...
1271 (nvptx_open_device): ...here.
1272 (nvptx_adjust_launch_bounds): New.
1273 (nvptx_host2dev): Allow NULL 'nvthd'.
1274 (nvptx_dev2host): Ditto.
1275 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
1276 (link_ptx): Adjust log sizes.
1277 (nvptx_host2dev): Allow NULL 'nvthd'.
1278 (nvptx_dev2host): Ditto.
1279 (nvptx_set_clocktick): New. Use it...
1280 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
1281 fields.
1282 (GOMP_OFFLOAD_dev2dev): New.
1283 (nvptx_adjust_launch_bounds): New.
1284 (nvptx_stacks_size): New.
1285 (nvptx_stacks_alloc): New.
1286 (nvptx_stacks_free): New.
1287 (GOMP_OFFLOAD_run): New.
1288 (GOMP_OFFLOAD_async_run): New (stub).
1289
1290 2016-11-23 Martin Jambor <mjambor@suse.cz>
1291
1292 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
1293 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
1294 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1295
1296 2016-11-23 Martin Liska <mliska@suse.cz>
1297 Martin Jambor <mjambor@suse.cz>
1298
1299 * plugin/hsa.h: New file.
1300 * plugin/hsa_ext_finalize.h: New file.
1301 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
1302 header file unistd.h, and functions secure_getenv, __secure_getenv,
1303 getuid, geteuid, getgid and getegid.
1304 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
1305 -D_GNU_SOURCE.
1306 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
1307 Handle various cases of secure_getenv presence, add an implementation
1308 when we can test effective UID and GID.
1309 (struct hsa_runtime_fn_info): New structure.
1310 (hsa_runtime_fn_info hsa_fns): New variable.
1311 (hsa_runtime_lib): Likewise.
1312 (support_cpu_devices): Likewise.
1313 (init_enviroment_variables): Load newly introduced ENV
1314 variables.
1315 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
1316 (hsa_fatal): Likewise.
1317 (DLSYM_FN): New macro.
1318 (init_hsa_runtime_functions): New function.
1319 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
1320 structure. Depending on environment, also allow CPU devices.
1321 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
1322 (get_kernarg_memory_region): Likewise.
1323 (GOMP_OFFLOAD_init_device): Likewise.
1324 (destroy_hsa_program): Likewise.
1325 (init_basic_kernel_info): New function.
1326 (GOMP_OFFLOAD_load_image): Use it.
1327 (create_and_finalize_hsa_program): Call hsa run-time functions via
1328 hsa_fns structure.
1329 (create_single_kernel_dispatch): Likewise.
1330 (release_kernel_dispatch): Likewise.
1331 (init_single_kernel): Likewise.
1332 (parse_target_attributes): Allow up multiple HSA grid dimensions.
1333 (get_group_size): New function.
1334 (run_kernel): Likewise.
1335 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
1336 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
1337 structure.
1338 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
1339 * testsuite/libgomp-test-support.exp.in: Likewise.
1340 * Makefile.in: Regenerated.
1341 * aclocal.m4: Likewise.
1342 * config.h.in: Likewise.
1343 * configure: Likewise.
1344 * testsuite/Makefile.in: Likewise.
1345
1346 2016-11-15 Martin Jambor <mjambor@suse.cz>
1347 Alexander Monakov <amonakov@ispras.ru>
1348
1349 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
1350 mapping clauses to target constructs.
1351 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
1352
1353 2016-11-15 Matthias Klose <doko@ubuntu.com>
1354
1355 * configure: Regenerate.
1356
1357 2016-11-10 Jakub Jelinek <jakub@redhat.com>
1358
1359 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
1360 * omp_lib.h.in (openmp_version): Likewise.
1361 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
1362 of 201307.
1363 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1364
1365 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
1366 (fib_wrapper): Add map(from: x) clause.
1367 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
1368 (e_53_2): Likewise.
1369 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
1370 (accum): Add map(tmp) clause.
1371 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
1372 (accum): Add map(tofrom: tmp) clause.
1373 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
1374 (gramSchmidt): Likewise.
1375 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
1376 map(tofrom: sum) clause.
1377 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
1378 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
1379 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
1380 only allowed on the loop iterator.
1381 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
1382 * testsuite/libgomp.fortran/taskloop2.f90: New test.
1383 * testsuite/libgomp.fortran/taskloop4.f90: New test.
1384 * testsuite/libgomp.fortran/doacross1.f90: New test.
1385 * testsuite/libgomp.fortran/doacross3.f90: New test.
1386 * testsuite/libgomp.fortran/taskloop1.f90: New test.
1387 * testsuite/libgomp.fortran/taskloop3.f90: New test.
1388 * testsuite/libgomp.fortran/doacross2.f90: New test.
1389 * testsuite/libgomp.c/doacross-1.c (main): Add missing
1390 #pragma omp atomic read.
1391 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1392 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
1393
1394 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
1395 Nathan Sidwell <nathan@acm.org>
1396
1397 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
1398 to determine default geometry.
1399 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
1400 dimension.
1401
1402 2016-11-01 Jakub Jelinek <jakub@redhat.com>
1403
1404 * hashtab.h: Use standard GPLv3 with runtime exception
1405 boilerplate.
1406
1407 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
1408
1409 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
1410 size when allocating new thread.
1411
1412 2016-09-14 Marek Polacek <polacek@redhat.com>
1413
1414 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
1415
1416 2016-08-19 Jakub Jelinek <jakub@redhat.com>
1417
1418 PR fortran/71014
1419 * testsuite/libgomp.fortran/pr71014.f90: New test.
1420
1421 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
1422
1423 PR middle-end/70895
1424 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
1425 firstprivate clauses.
1426 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
1427 copy clauses.
1428 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
1430 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1437 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1438 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1439 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
1440
1441 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
1442
1443 PR fortran/70598
1444 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
1445
1446 2016-08-08 Jakub Jelinek <jakub@redhat.com>
1447
1448 PR c++/58706
1449 * testsuite/libgomp.c++/pr58706.C: New test.
1450
1451 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
1452
1453 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
1454 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
1455 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1456 Likewise.
1457 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
1458 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
1459 Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
1461
1462 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
1463 test, and don't hardcode -O0.
1464
1465 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
1466
1467 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
1468
1469 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
1470
1471 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
1472 test.
1473
1474 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
1475
1476 PR middle-end/71734
1477 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
1478 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
1479
1480 2016-07-01 Jakub Jelinek <jakub@redhat.com>
1481
1482 PR fortran/71717
1483 * testsuite/libgomp.fortran/associate3.f90: New test.
1484
1485 2016-06-17 Jakub Jelinek <jakub@redhat.com>
1486
1487 * testsuite/libgomp.c++/target-21.C: New test.
1488
1489 2016-06-16 Jakub Jelinek <jakub@redhat.com>
1490
1491 * testsuite/libgomp.c++/target-20.C: New test.
1492
1493 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
1494 Cesar Philippidis <cesar@codesourcery.com>
1495
1496 PR middle-end/71373
1497 * libgomp.oacc-c/nested-function-1.c: New file.
1498 * libgomp.oacc-c/nested-function-2.c: Likewise.
1499 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
1500 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
1501 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
1502
1503 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
1504
1505 PR c/71381
1506 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
1507 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
1508 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
1509
1510 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
1511
1512 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
1513 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
1514
1515 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
1516
1517 PR c/70688
1518 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
1519
1520 2016-05-26 Jakub Jelinek <jakub@redhat.com>
1521
1522 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
1523 instead of invalid schedule(static, 0).
1524 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1525
1526 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
1527
1528 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
1529 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
1530 parameter, use to set async stream around call to gomp_unmap_vars,
1531 call gomp_unmap_vars() with 'do_copyfrom' set to true.
1532 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
1533 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
1534 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
1535 (event_add): Add int parameter, initialize 'val' field when
1536 adding new ptx_event struct.
1537 (nvptx_evec): Adjust event_add() call arguments.
1538 (nvptx_host2dev): Likewise.
1539 (nvptx_dev2host): Likewise.
1540 (nvptx_wait_async): Likewise.
1541 (nvptx_wait_all_async): Likewise.
1542 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
1543 pass to event_add() call.
1544 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
1545 parameter.
1546 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
1547 call openacc.register_async_cleanup_func() hook.
1548 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
1549 * target.c (gomp_copy_from_async): Delete function.
1550 (gomp_map_vars): Remove async_refcount.
1551 (gomp_unmap_vars): Likewise.
1552 (gomp_load_image_to_device): Likewise.
1553 (omp_target_associate_ptr): Likewise.
1554 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
1555 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
1556 (gomp_copy_from_async): Remove.
1557
1558 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
1559
1560 * target.c (gomp_device_copy): New function.
1561 (gomp_copy_host2dev): Likewise.
1562 (gomp_copy_dev2host): Likewise.
1563 (gomp_free_device_memory): Likewise.
1564 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
1565 (gomp_map_pointer): Likewise.
1566 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
1567 NULL value from alloc_func plugin hook.
1568 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
1569 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
1570 (gomp_unmap_vars): Likewise.
1571 (gomp_update): Adjust to call gomp_copy_dev2host and
1572 gomp_copy_host2dev functions.
1573 (gomp_unload_image_from_device): Handle false value from
1574 unload_image_func plugin hook.
1575 (gomp_init_device): Handle false value from init_device_func
1576 plugin hook.
1577 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
1578 (omp_target_free): Adjust to call gomp_free_device_memory.
1579 (omp_target_memcpy): Handle return values from host2dev_func,
1580 dev2host_func, and dev2dev_func plugin hooks.
1581 (omp_target_memcpy_rect_worker): Likewise.
1582 (gomp_target_fini): Handle false value from fini_device_func
1583 plugin hook.
1584 * libgomp.h (struct gomp_device_descr): Adjust return type of
1585 init_device_func, fini_device_func, unload_image_func, free_func,
1586 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
1587 * oacc-init.c (acc_shutdown_1): Handle false value from
1588 fini_device_func plugin hook.
1589 * oacc-host.c (host_init_device): Change return type to bool.
1590 (host_fini_device): Likewise.
1591 (host_unload_image): Likewise.
1592 (host_free): Likewise.
1593 (host_dev2host): Likewise.
1594 (host_host2dev): Likewise.
1595 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
1596 (acc_memcpy_to_device): Likewise.
1597 (acc_memcpy_from_device): Likewise.
1598 (delete_copyout): Add libfnname parameter, handle free_func
1599 hook fatal error case.
1600 (acc_delete): Adjust delete_copyout call.
1601 (acc_copyout): Likewise.
1602 (update_dev_host): Move gomp_mutex_unlock to after
1603 host2dev/dev2host hook calls.
1604
1605 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
1606 to 'hsa_error_msg', for clarity.
1607 (hsa_fatal): Likewise.
1608 (hsa_error): New function.
1609 (init_hsa_context): Change return type to bool, adjust to return
1610 false on error.
1611 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
1612 return value.
1613 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
1614 return false on error.
1615 (get_agent_info): Adjust to return NULL on error.
1616 (destroy_hsa_program): Change return type to bool, adjust to
1617 return false on error.
1618 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
1619 (destroy_module): Change return type to bool, adjust to
1620 return false on error.
1621 (GOMP_OFFLOAD_unload_image): Likewise.
1622 (GOMP_OFFLOAD_fini_device): Likewise.
1623 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
1624 (GOMP_OFFLOAD_free): Change to return false when called.
1625 (GOMP_OFFLOAD_dev2host): Likewise.
1626 (GOMP_OFFLOAD_host2dev): Likewise.
1627 (GOMP_OFFLOAD_dev2dev): Likewise.
1628
1629 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
1630 (CUDA_CALL): Likewise.
1631 (CUDA_CALL_ASSERT): Likewise.
1632 (map_init): Change return type to bool, use CUDA_CALL* macros.
1633 (map_fini): Likewise.
1634 (init_streams_for_device): Change return type to bool, adjust
1635 call to map_init.
1636 (fini_streams_for_device): Change return type to bool, adjust
1637 call to map_fini.
1638 (select_stream_for_async): Release stream_lock before calls to
1639 GOMP_PLUGIN_fatal, adjust call to map_init.
1640 (nvptx_init): Use CUDA_CALL* macros.
1641 (nvptx_attach_host_thread_to_device): Change return type to bool,
1642 use CUDA_CALL* macros.
1643 (nvptx_open_device): Use CUDA_CALL* macros.
1644 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
1645 macros.
1646 (nvptx_get_num_devices): Use CUDA_CALL* macros.
1647 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
1648 (nvptx_exec): Use CUDA_CALL* macros.
1649 (nvptx_alloc): Use CUDA_CALL* macros.
1650 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
1651 (nvptx_host2dev): Likewise.
1652 (nvptx_dev2host): Likewise.
1653 (nvptx_wait): Use CUDA_CALL* macros.
1654 (nvptx_wait_async): Likewise.
1655 (nvptx_wait_all): Likewise.
1656 (nvptx_wait_all_async): Likewise.
1657 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
1658 use CUDA_CALL* macros, adjust call to map_fini.
1659 (GOMP_OFFLOAD_init_device): Change return type to bool,
1660 adjust code accordingly.
1661 (GOMP_OFFLOAD_fini_device): Likewise.
1662 (GOMP_OFFLOAD_load_image): Adjust calls to
1663 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
1664 use CUDA_CALL* macros.
1665 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
1666 return code.
1667 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
1668 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
1669 handle error return.
1670 (GOMP_OFFLOAD_dev2host): Likewise.
1671 (GOMP_OFFLOAD_host2dev): Likewise.
1672 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
1673 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
1674
1675 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
1676
1677 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
1678 (acc_free): Likewise.
1679 (acc_memcpy_to_device): Likewise.
1680 (acc_memcpy_from_device): Likewise.
1681 (acc_deviceptr): Likewise.
1682 (acc_hostptr): Likewise.
1683 (acc_is_present): Likewise.
1684 (acc_map_data): Likewise.
1685 (acc_unmap_data): Likewise.
1686 (present_create_copy): Likewise.
1687 (delete_copyout): Likewise.
1688 (update_dev_host): Likewise.
1689 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
1690 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
1691 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
1692 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1693 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
1694 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
1695 it only runs on nvptx targets.
1696 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1697 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1698 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1699 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1700 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1701 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1702 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1703 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1704 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1705 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1706 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1707 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1708 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1709 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1710 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1711 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1712 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1713 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1714 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1715 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1716 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1717 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1718 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1719
1720 2016-05-23 Martin Jambor <mjambor@suse.cz>
1721
1722 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
1723
1724 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
1725
1726 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
1727 to gomp_init_targets_once.
1728 (acc_set_device_type): Remove !cached_base_dev condition on call to
1729 gomp_init_targets_once, move call to before acc_device_lock acquire,
1730 to avoid deadlock.
1731 (acc_get_device_num): Remove !cached_base_dev condition on call to
1732 gomp_init_targets_once.
1733 (acc_set_device_num): Likewise.
1734
1735 2016-05-16 Martin Jambor <mjambor@suse.cz>
1736
1737 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
1738
1739 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
1740
1741 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
1742 expected partitioning.
1743
1744 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1745
1746 PR middle-end/70626
1747 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
1748 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
1749 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
1750
1751 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
1752
1753 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
1754 non-fatal.
1755
1756 2016-04-19 Jakub Jelinek <jakub@redhat.com>
1757
1758 PR middle-end/70680
1759 * testsuite/libgomp.c/pr70680-1.c: New test.
1760 * testsuite/libgomp.c/pr70680-2.c: New test.
1761
1762 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1763
1764 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
1765 pass parameter variables to subroutines.
1766
1767 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1768
1769 PR middle-end/70643
1770 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
1771
1772 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
1773
1774 PR testsuite/68242
1775 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
1776 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1777
1778 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
1779
1780 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
1781 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
1782 GOACC_declare prototype.
1783
1784 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
1785 Merge this file, and...
1786 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
1787 ... this file, and...
1788 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
1789 ... this file, and...
1790 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
1791 ... this file, and...
1792 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
1793 ... this file, and...
1794 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
1795 ... this file, and...
1796 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
1797 ... this file, and...
1798 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
1799 ... this file, and...
1800 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
1801 ... this file, and...
1802 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
1803 ... this file, and...
1804 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
1805 ... this file, and...
1806 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
1807 ... this file, and...
1808 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
1809 ... this file into...
1810 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
1811 file.
1812
1813 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1814 Make failure observable.
1815
1816 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1817
1818 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1819 field.
1820 * target.c (gomp_target_fallback_firstprivate,
1821 gomp_target_unshare_firstprivate): Removed.
1822 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
1823 before waiting for dependencies.
1824 (gomp_target_task_fn): Don't copy firstprivate vars here.
1825 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
1826 firstprivate_copies here.
1827 (gomp_create_target_task): Don't initialize firstprivate_copies field.
1828 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
1829 explicit/implicit firstprivate.
1830
1831 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
1832
1833 PR lto/70289
1834 PR ipa/70348
1835 PR tree-optimization/70373
1836 PR middle-end/70533
1837 PR middle-end/70534
1838 PR middle-end/70535
1839 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
1840 test.
1841 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
1842 test.
1843 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
1844 test.
1845 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
1846 test.
1847 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
1848 test.
1849 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
1850 test.
1851 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
1852 test.
1853 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
1854 test.
1855 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
1856 test.
1857 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
1858 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
1859 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
1860 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
1861 test.
1862 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
1863 test.
1864 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
1865 test.
1866 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
1867 test.
1868 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
1869 coverage.
1870 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1871 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1872 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
1873 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
1874 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
1875 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
1876 coverage.
1877 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1878 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1880 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1881 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
1882 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
1883 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
1884 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
1885 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
1886 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1887 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1888 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1889 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1890 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1891 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
1892
1893 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
1894 James Norris <jnorris@codesourcery.com>
1895 Nathan Sidwell <nathan@codesourcery.com>
1896 Julian Brown <julian@codesourcery.com>
1897 Cesar Philippidis <cesar@codesourcery.com>
1898 Chung-Lin Tang <cltang@codesourcery.com>
1899 Tom de Vries <tom@codesourcery.com>
1900
1901 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
1902 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1903 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1904 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
1905 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1906 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1907 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1908 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1909 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1910 XFAIL.
1911 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1912 Incorporate...
1913 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
1914 file.
1915 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
1916 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
1917 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
1918 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
1919 Likewise.
1920 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1921 Likewise.
1922 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1923 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
1924 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1925 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1926 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1927 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1928 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1929 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1930 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1931 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
1932 Likewise.
1933 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
1934 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1935 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
1936 file...
1937 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
1938 file into...
1939 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
1940 file. Update.
1941 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
1942 file.
1943 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
1944 Likewise.
1945 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
1946 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
1947 ... this new file. Update.
1948 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
1949 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
1950 ... this new file. Update.
1951 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
1952 file. Incorporate...
1953 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
1954 file, and...
1955 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
1956 file, and...
1957 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
1958 file.
1959 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
1960
1961 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
1962
1963 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
1964 set-torture-options.
1965
1966 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
1967
1968 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
1969 gcc-dg-runtest.
1970 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1971 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
1972 -fno-builtin-acc_on_device instead of -O0.
1973 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
1974 -O0.
1975 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1976 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
1977 Likewise.
1978 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1979 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1980 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1981 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1982 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1983 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1984 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1985 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1986 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1987 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1988 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1989 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1990 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1991 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1992 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1993 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1994 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1995 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
1996 Don't specify -O2.
1997 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
1998 Likewise.
1999 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
2000 Likewise.
2001
2002 2016-03-24 Martin Liska <mliska@suse.cz>
2003
2004 * plugin/plugin-hsa.c (packet_store_release): New function
2005 that is taken from the HSA runtime manual.
2006 (GOMP_OFFLOAD_run): Use the function.
2007
2008 2016-03-23 Jakub Jelinek <jakub@redhat.com>
2009
2010 PR c++/70376
2011 * testsuite/libgomp.c++/pr70376.C: New test.
2012
2013 2016-03-23 Tom de Vries <tom@codesourcery.com>
2014
2015 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
2016 initialization of lresult and lvresult.
2017 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
2018
2019 2016-03-23 James Norris <jnorris@codesourcery.com>
2020 Daichi Fukuoka <dc-fukuoka@sgi.com>
2021
2022 PR libgomp/69414
2023 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
2024 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
2025 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
2026 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
2027
2028 2016-03-23 Martin Liska <mliska@suse.cz>
2029
2030 PR hsa/70337
2031 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
2032 argument just in case a dispatched kernel uses that argument.
2033
2034 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
2035
2036 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
2037 -ftree-parallelize-loops/-fopenacc changes.
2038 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
2039 Likewise.
2040 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
2041 Likewise.
2042 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
2043 Likewise.
2044 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
2045 Likewise.
2046 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2047 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2048
2049 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
2050
2051 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
2052 always_ld_library_path the path to libgcc_s.
2053
2054 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
2055
2056 PR testsuite/70009
2057 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
2058
2059 2016-03-09 Tom de Vries <tom@codesourcery.com>
2060
2061 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
2062 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
2063 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
2064 Same.
2065 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
2066 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
2067 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
2068 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
2069
2070 2016-03-07 Martin Jambor <mjambor@suse.cz>
2071
2072 * testsuite/lib/libgomp.exp
2073 (check_effective_target_hsa_offloading_selected_nocache): New.
2074 (check_effective_target_hsa_offloading_selected): Likewise.
2075 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2076 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
2077 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2078 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2079 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2080 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2081 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2082 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2083 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2084 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2085 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2086 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2087 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2088 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2089 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2090 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2091 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2092
2093 2016-03-07 Martin Jambor <mjambor@suse.cz>
2094
2095 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
2096 non-shared memory accelerators.
2097 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
2098 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
2099 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
2100 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
2101 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2102 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2103 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2104 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2105 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2106
2107 2016-03-07 Martin Jambor <mjambor@suse.cz>
2108
2109 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
2110 ALWAYS_CFLAGS.
2111
2112 2016-03-02 Jakub Jelinek <jakub@redhat.com>
2113
2114 PR libgomp/69555
2115 * testsuite/libgomp.c++/pr69555-1.C: New test.
2116 * testsuite/libgomp.c++/pr69555-2.C: New test.
2117
2118 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
2119 Martin Jambor <mjambor@suse.cz>
2120
2121 * testsuite/lib/libgomp.exp
2122 (check_effective_target_offload_device_shared_as): New proc.
2123 * testsuite/libgomp.c++/declare_target-1.C: New test.
2124
2125 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
2126
2127 PR driver/68463
2128 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
2129
2130 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
2131
2132 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
2133 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
2134 dims.
2135 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
2136 -ftree-parallelize-loops/-fopenacc changes.
2137 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
2138 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
2139 Likewise.
2140 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
2141 Likewise.
2142 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
2143 Likewise.
2144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
2145 Likewise.
2146 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
2147 Likewise.
2148 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
2149 Likewise.
2150 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
2151 Likewise.
2152 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
2153 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
2154 Likewise.
2155 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
2156 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
2157 Likewise.
2158 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
2159 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
2160 Likewise.
2161
2162 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
2163
2164 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
2165
2166 2016-02-19 Jakub Jelinek <jakub@redhat.com>
2167
2168 PR driver/69805
2169 * testsuite/libgomp.c/pr69805.c: New test.
2170
2171 2016-02-16 Tom de Vries <tom@codesourcery.com>
2172
2173 PR lto/67709
2174 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
2175
2176 2016-02-09 Tom de Vries <tom@codesourcery.com>
2177
2178 PR tree-optimization/69599
2179 * testsuite/libgomp.c/omp-nested-3.c: New test.
2180 * testsuite/libgomp.c/pr46032-2.c: New test.
2181 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
2182 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
2183
2184 2016-02-09 Tom de Vries <tom@codesourcery.com>
2185
2186 PR lto/69707
2187 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
2188
2189 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
2190
2191 * testsuite/libgomp.c/target-31.c: Fix testcase.
2192
2193 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
2194
2195 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
2196 clause.
2197 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
2198 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
2199 reduction and map clauses.
2200 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2201
2202 2016-02-02 James Norris <jnorris@codesourcery.com>
2203
2204 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
2205
2206 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
2207
2208 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
2209 * oacc-parallel.c (GOACC_host_data): Remove function definition.
2210
2211 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
2212 cases.
2213
2214 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
2215 variables.
2216 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
2217 (hsa_kmt_lib): Set variables.
2218 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
2219 always_ld_library_path.
2220 * Makefile.in: Regenerate.
2221 * configure: Likewise.
2222 * testsuite/Makefile.in: Likewise.
2223
2224 * plugin/configfrag.ac (offload_additional_options)
2225 (offload_additional_lib_paths): Don't amend for hsa offloading.
2226 * configure: Regenerate.
2227
2228 * plugin/configfrag.ac: Don't configure for offloading target if
2229 we don't build the corresponding plugin.
2230 * configure: Regenerate.
2231
2232 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2233
2234 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
2235 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
2236
2237 2016-01-26 Tom de Vries <tom@codesourcery.com>
2238
2239 PR tree-optimization/69110
2240 * testsuite/libgomp.c/pr69110.c: New test.
2241
2242 2016-01-25 Richard Biener <rguenther@suse.de>
2243
2244 PR lto/69393
2245 * testsuite/libgomp.c++/pr69393.C: New testcase.
2246
2247 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
2248
2249 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
2250 function wasn't mapped to the device with non-shared memory.
2251
2252 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
2253
2254 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
2255
2256 2016-01-19 Martin Jambor <mjambor@suse.cz>
2257 Martin Liska <mliska@suse.cz>
2258
2259 * plugin/Makefrag.am: Add HSA plugin requirements.
2260 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
2261 (HSA_RUNTIME_LIB): Likewise.
2262 (HSA_RUNTIME_CPPFLAGS): Likewise.
2263 (HSA_RUNTIME_INCLUDE): New substitution.
2264 (HSA_RUNTIME_LIB): Likewise.
2265 (HSA_RUNTIME_LDFLAGS): Likewise.
2266 (hsa-runtime): New configure option.
2267 (hsa-runtime-include): Likewise.
2268 (hsa-runtime-lib): Likewise.
2269 (PLUGIN_HSA): New substitution variable.
2270 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
2271 configure options.
2272 (PLUGIN_HSA_CPPFLAGS): Likewise.
2273 (PLUGIN_HSA_LDFLAGS): Likewise.
2274 (PLUGIN_HSA_LIBS): Likewise.
2275 Check that we have access to HSA run-time.
2276 * libgomp-plugin.h (offload_target_type): New element
2277 OFFLOAD_TARGET_TYPE_HSA.
2278 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
2279 args.
2280 (bool gomp_create_target_task): Updated.
2281 (gomp_device_descr): Extra parameter of run_func and async_run_func,
2282 new field can_run_func.
2283 * libgomp_g.h (GOMP_target_ext): Update prototype.
2284 * oacc-host.c (host_run): Added a new parameter args.
2285 * target.c (calculate_firstprivate_requirements): New function.
2286 (copy_firstprivate_data): Likewise.
2287 (gomp_target_fallback_firstprivate): Use them.
2288 (gomp_target_unshare_firstprivate): New function.
2289 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
2290 devices.
2291 (GOMP_target): Do host fallback for all shared memory devices. Do not
2292 pass any args to plugins.
2293 (GOMP_target_ext): Introduce device-specific argument parameter args.
2294 Allow host fallback if device shares memory. Do not remap data if
2295 device has shared memory.
2296 (gomp_target_task_fn): Likewise. Also treat shared memory devices
2297 like host fallback for mappings.
2298 (GOMP_target_data): Treat shared memory devices like host fallback.
2299 (GOMP_target_data_ext): Likewise.
2300 (GOMP_target_update): Likewise.
2301 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
2302 gomp_create_target_task.
2303 (GOMP_target_enter_exit_data): Likewise.
2304 (omp_target_alloc): Treat shared memory devices like host fallback.
2305 (omp_target_free): Likewise.
2306 (omp_target_is_present): Likewise.
2307 (omp_target_memcpy): Likewise.
2308 (omp_target_memcpy_rect): Likewise.
2309 (omp_target_associate_ptr): Likewise.
2310 (gomp_load_plugin_for_device): Also load can_run.
2311 * task.c (GOMP_PLUGIN_target_task_completion): Free
2312 firstprivate_copies.
2313 (gomp_create_target_task): Accept new argument args and store it to
2314 ttask.
2315 * plugin/plugin-hsa.c: New file.
2316
2317 2016-01-18 Tom de Vries <tom@codesourcery.com>
2318
2319 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
2320 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
2321 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
2322 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
2323 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
2324 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
2325 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
2326 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
2327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
2328 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
2329 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2330 Same.
2331 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2332 Same.
2333 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
2334 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
2335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
2336 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
2337 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
2338 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
2339 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
2340 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2341 Same.
2342 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
2343
2344 2016-01-15 Jakub Jelinek <jakub@redhat.com>
2345
2346 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
2347
2348 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
2349
2350 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
2351
2352 2016-01-12 James Norris <jnorris@codesourcery.com>
2353
2354 * libgomp.texi: Updates for OpenACC.
2355
2356 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
2357
2358 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
2359
2360 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
2361
2362 PR fortran/66680
2363 * testsuite/libgomp.fortran/pr66680.f90: New test.
2364
2365 2016-01-07 Jakub Jelinek <jakub@redhat.com>
2366
2367 PR middle-end/68960
2368 * testsuite/libgomp.c/pr68960.c: New test.
2369
2370 2016-01-06 Nathan Sidwell <nathan@acm.org>
2371
2372 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
2373 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
2374
2375 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2376
2377 Update copyright years.
2378
2379 * libgomp.texi: Bump @copying's copyright year.
2380
2381 2015-12-31 Nathan Sidwell <nathan@acm.org>
2382
2383 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
2384 dg-additional-options syntax.
2385 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2386 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2387 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
2388 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2389 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
2390 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2391 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2392 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2393 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2394 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
2395 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2396 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2397 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2398 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2399 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2400 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2401 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2402 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2403
2404 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2405
2406 * libgomp.h (REFCOUNT_LINK): Define.
2407 (struct splay_tree_key_s): Add link_key.
2408 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
2409 Replace target address of the pointer with target address of newly
2410 mapped object in the splay tree. Set link pointer on target to the
2411 device address of the mapped object.
2412 (gomp_unmap_vars): Restore target address of the pointer in the splay
2413 tree for REFCOUNT_LINK objects after unmapping.
2414 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
2415 declare target link" objects.
2416 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
2417 "omp declare target link" objects, which were mapped for the image.
2418 (gomp_exit_data): Restore target address of the pointer in the splay
2419 tree for REFCOUNT_LINK objects after unmapping.
2420 * testsuite/libgomp.c/target-link-1.c: New file.
2421
2422 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
2423
2424 * libgomp.h (gomp_device_state): New enum.
2425 (struct gomp_device_descr): Replace is_initialized with state.
2426 (gomp_fini_device): Remove declaration.
2427 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
2428 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
2429 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
2430 (acc_set_device_type): Use state instead of is_initialized.
2431 (acc_set_device_num): Likewise.
2432 * target.c (resolve_device): Use state instead of is_initialized.
2433 Do not initialize finalized device.
2434 (gomp_map_vars): Do nothing if device is finalized.
2435 (gomp_unmap_vars): Likewise.
2436 (gomp_update): Likewise.
2437 (GOMP_offload_register_ver): Use state instead of is_initialized.
2438 (GOMP_offload_unregister_ver): Likewise.
2439 (gomp_init_device): Likewise.
2440 (gomp_unload_device): Likewise.
2441 (gomp_fini_device): Remove.
2442 (gomp_get_target_fn_addr): Do nothing if device is finalized.
2443 (GOMP_target): Go to host fallback if device is finalized.
2444 (GOMP_target_ext): Likewise.
2445 (gomp_exit_data): Do nothing if device is finalized.
2446 (gomp_target_task_fn): Go to host fallback if device is finalized.
2447 (gomp_target_fini): New static function.
2448 (gomp_target_init): Use state instead of is_initialized.
2449 Call gomp_target_fini at exit.
2450
2451 2015-12-09 Tom de Vries <tom@codesourcery.com>
2452
2453 PR tree-optimization/68716
2454 * testsuite/libgomp.c/omp-nested-2.c: New test.
2455
2456 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
2457
2458 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
2459 target openacc_nvidia_accel_selected.
2460 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
2461 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
2462 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
2463 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
2464
2465 2015-12-01 Julian Brown <julian@codesourcery.com>
2466 James Norris <James_Norris@mentor.com>
2467
2468 * oacc-parallel.c (GOACC_host_data): New function.
2469 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
2470 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
2471 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
2472 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
2473 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
2474 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
2475 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
2476
2477 2015-11-30 James Norris <jnorris@codesourcery.com>
2478 Cesar Philippidis <cesar@codesourcery.com>
2479
2480 libgomp/
2481 * libgomp.oacc-fortran/routine-5.f90: New test.
2482 * libgomp.oacc-fortran/routine-7.f90: New test.
2483 * libgomp.oacc-fortran/routine-9.f90: New test.
2484
2485 2015-11-30 Tom de Vries <tom@codesourcery.com>
2486
2487 PR tree-optimization/46032
2488 * testsuite/libgomp.c/pr46032.c: New test.
2489
2490 2015-11-27 Jakub Jelinek <jakub@redhat.com>
2491
2492 PR libgomp/68579
2493 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
2494 (gomp_create_target_task): Call it before freeing
2495 GOMP_TARGET_TASK_DATA tasks.
2496
2497 PR c/63326
2498 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
2499 in between case label and OpenMP standalone directives.
2500 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
2501
2502 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
2503
2504 * configure: Regenerate.
2505
2506 2015-11-26 Jakub Jelinek <jakub@redhat.com>
2507
2508 * testsuite/libgomp.c/target-35.c: New test.
2509
2510 2015-11-22 James Norris <jnorris@codesourcery.com>
2511 Cesar Philippidis <cesar@codesourcery.com>
2512
2513 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
2514 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2515 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2516 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2517 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2518
2519 2015-11-20 Jakub Jelinek <jakub@redhat.com>
2520
2521 PR middle-end/68221
2522 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
2523 * testsuite/libgomp.c/reduction-12.c: Likewise.
2524 * testsuite/libgomp.c++/reduction-11.C: Likewise.
2525 * testsuite/libgomp.c++/reduction-12.C: Likewise.
2526
2527 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
2528
2529 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
2530 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
2531 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
2532 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
2533 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
2534 and fix.
2535 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2536 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2537
2538 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
2539
2540 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
2541 worker & gang cases.
2542 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
2543
2544 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
2545
2546 * config/nvptx/priority_queue.c: New file.
2547
2548 2015-11-14 Jakub Jelinek <jakub@redhat.com>
2549
2550 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
2551 sections.
2552
2553 2015-11-14 Jakub Jelinek <jakub@redhat.com>
2554 Aldy Hernandez <aldyh@redhat.com>
2555 Ilya Verbin <ilya.verbin@intel.com>
2556
2557 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
2558 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
2559 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
2560 iterators or IV by chunk size.
2561 * parallel.c (gomp_resolve_num_threads): Don't assume that
2562 if thr->ts.team is non-NULL, then pool must be non-NULL.
2563 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
2564 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
2565 GOMP_PLUGIN_target_task_completion.
2566 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
2567 * Makefile.in: Regenerate.
2568 * libgomp.h: Shuffle prototypes and forward definitions around so
2569 priority queues can be defined.
2570 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
2571 (enum gomp_target_task_state): New enum.
2572 (struct gomp_target_task): Add state, tgt, task and team fields.
2573 (gomp_create_target_task): Change return type to bool, add
2574 state argument.
2575 (gomp_target_task_fn): Change return type to bool.
2576 (struct gomp_device_descr): Add async_run_func.
2577 (struct gomp_task): Remove children, next_child, prev_child,
2578 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
2579 Add pnode field.
2580 (struct gomp_taskgroup): Remove children.
2581 Add taskgroup_queue.
2582 (struct gomp_team): Change task_queue type to a priority queue.
2583 (splay_compare): Define inline.
2584 (priority_queue_offset): New.
2585 (priority_node_to_task): New.
2586 (task_to_priority_node): New.
2587 * oacc-mem.c: Do not include splay-tree.h.
2588 * priority_queue.c: New file.
2589 * priority_queue.h: New file.
2590 * splay-tree.c: Do not include splay-tree.h.
2591 (splay_tree_foreach_internal): New.
2592 (splay_tree_foreach): New.
2593 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
2594 (splay_tree_callback): Define typedef.
2595 * target.c (splay_compare): Move to libgomp.h.
2596 (GOMP_target): Don't adjust *thr in any way around running offloaded
2597 task.
2598 (GOMP_target_ext): Likewise. Handle target nowait.
2599 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
2600 return value from gomp_create_target_task, if false, fallthrough
2601 as if no dependencies exist.
2602 (gomp_target_task_fn): Change return type to bool, return true
2603 if the task should have another part scheduled later. Handle
2604 target nowait.
2605 (gomp_load_plugin_for_device): Initialize async_run.
2606 * task.c (gomp_init_task): Initialize children_queue.
2607 (gomp_clear_parent_in_list): New.
2608 (gomp_clear_parent_in_tree): New.
2609 (gomp_clear_parent): Handle priorities.
2610 (GOMP_task): Likewise.
2611 (priority_queue_move_task_first,
2612 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
2613 New functions.
2614 (gomp_create_target_task): Use priority queues. Change return type
2615 to bool, add state argument, return false if for async
2616 {{enter,exit} data,update} constructs no dependencies need to be
2617 waited for, handle target nowait. Set task->fn to NULL instead of
2618 gomp_target_task_fn.
2619 (verify_children_queue): Remove.
2620 (priority_list_upgrade_task): New.
2621 (priority_queue_upgrade_task): New.
2622 (verify_task_queue): Remove.
2623 (priority_list_downgrade_task): New.
2624 (priority_queue_downgrade_task): New.
2625 (gomp_task_run_pre): Use priority queues.
2626 Abstract code out to priority_queue_downgrade_task.
2627 (gomp_task_run_post_handle_dependers): Use priority queues.
2628 (gomp_task_run_post_remove_parent): Likewise.
2629 (gomp_task_run_post_remove_taskgroup): Likewise.
2630 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
2631 tasks specially.
2632 (GOMP_taskwait): Likewise.
2633 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
2634 priority-queue_upgrade_task.
2635 (GOMP_taskgroup_start): Use priority queues.
2636 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
2637 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
2638 barrier.
2639 * taskloop.c (GOMP_taskloop): Handle priorities.
2640 * team.c (gomp_new_team): Call priority_queue_init.
2641 (free_team): Call priority_queue_free.
2642 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
2643 team created for target nowait in implicit parallel region.
2644 (gomp_team_start): For nested check, test thr->ts.level instead of
2645 thr->ts.team != NULL.
2646 * testsuite/libgomp.c/doacross-3.c: New test.
2647 * testsuite/libgomp.c/ordered-5.c: New test.
2648 * testsuite/libgomp.c/priority.c: New test.
2649 * testsuite/libgomp.c/target-31.c: New test.
2650 * testsuite/libgomp.c/target-32.c: New test.
2651 * testsuite/libgomp.c/target-33.c: New test.
2652 * testsuite/libgomp.c/target-34.c: New test.
2653
2654 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2655
2656 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
2657
2658 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
2659 loop is sequential.
2660
2661 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2662
2663 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
2664 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
2665
2666 2015-11-12 James Norris <jnorris@codesourcery.com>
2667 Joseph Myers <joseph@codesourcery.com>
2668
2669 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
2670 * oacc-parallel.c (GOACC_declare): New function.
2671 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
2672 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
2673 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
2674 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
2675 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
2676
2677 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
2678
2679 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
2680
2681 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
2682
2683 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
2684 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
2685
2686 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2687
2688 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
2689 inadvertent commit.
2690
2691 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2692
2693 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
2694 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
2695 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
2696 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
2697 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
2698
2699 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
2700
2701 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
2702 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2703
2704 2015-11-05 Jakub Jelinek <jakub@redhat.com>
2705 Ilya Verbin <ilya.verbin@intel.com>
2706
2707 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
2708 GOMP_loop_nonmonotonic_dynamic_start,
2709 GOMP_loop_nonmonotonic_guided_next,
2710 GOMP_loop_nonmonotonic_guided_start,
2711 GOMP_loop_ull_nonmonotonic_dynamic_next,
2712 GOMP_loop_ull_nonmonotonic_dynamic_start,
2713 GOMP_loop_ull_nonmonotonic_guided_next,
2714 GOMP_loop_ull_nonmonotonic_guided_start,
2715 GOMP_parallel_loop_nonmonotonic_dynamic,
2716 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
2717 (GOMP_target_41): Renamed to ...
2718 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2719 arguments.
2720 (GOMP_target_data_41): Renamed to ...
2721 (GOMP_target_data_ext): ... this.
2722 (GOMP_target_update_41): Renamed to ...
2723 (GOMP_target_update_ext): ... this.
2724 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
2725 GOMP_target_data_ext and GOMP_target_update_ext instead of
2726 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
2727 Export GOMP_loop_nonmonotonic_dynamic_next,
2728 GOMP_loop_nonmonotonic_dynamic_start,
2729 GOMP_loop_nonmonotonic_guided_next,
2730 GOMP_loop_nonmonotonic_guided_start,
2731 GOMP_loop_ull_nonmonotonic_dynamic_next,
2732 GOMP_loop_ull_nonmonotonic_dynamic_start,
2733 GOMP_loop_ull_nonmonotonic_guided_next,
2734 GOMP_loop_ull_nonmonotonic_guided_start,
2735 GOMP_parallel_loop_nonmonotonic_dynamic and
2736 GOMP_parallel_loop_nonmonotonic_guided.
2737 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
2738 GOMP_parallel_loop_nonmonotonic_guided,
2739 GOMP_loop_nonmonotonic_dynamic_start,
2740 GOMP_loop_nonmonotonic_guided_start,
2741 GOMP_loop_nonmonotonic_dynamic_next,
2742 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
2743 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
2744 GOMP_loop_ull_nonmonotonic_guided_start,
2745 GOMP_loop_ull_nonmonotonic_dynamic_next,
2746 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
2747 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
2748 functions.
2749 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
2750 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
2751 Use gomp_map_val function.
2752 (gomp_target_fallback_firstprivate): New static function.
2753 (GOMP_target_41): Renamed to ...
2754 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2755 arguments. Move firstprivate fallback handling into a new
2756 function.
2757 (GOMP_target_data_41): Renamed to ...
2758 (GOMP_target_data_ext): ... this.
2759 (GOMP_target_update_41): Renamed to ...
2760 (GOMP_target_update_ext): ... this.
2761 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
2762 gomp_map_0len_lookup instead of gomp_map_lookup.
2763 (omp_target_is_present): Use gomp_map_0len_lookup instead of
2764 gomp_map_lookup.
2765 * testsuite/libgomp.c/target-28.c: Likewise.
2766 * testsuite/libgomp.c/monotonic-1.c: New test.
2767 * testsuite/libgomp.c/monotonic-2.c: New test.
2768 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
2769 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
2770 * testsuite/libgomp.c/pr66199-5.c: New test.
2771 * testsuite/libgomp.c/pr66199-6.c: New test.
2772 * testsuite/libgomp.c/pr66199-7.c: New test.
2773 * testsuite/libgomp.c/pr66199-8.c: New test.
2774 * testsuite/libgomp.c/pr66199-9.c: New test.
2775 * testsuite/libgomp.c/reduction-11.c: New test.
2776 * testsuite/libgomp.c/reduction-12.c: New test.
2777 * testsuite/libgomp.c/reduction-13.c: New test.
2778 * testsuite/libgomp.c/reduction-14.c: New test.
2779 * testsuite/libgomp.c/reduction-15.c: New test.
2780 * testsuite/libgomp.c/target-12.c (main): Adjust for
2781 omp_target_is_present change for one-past-last element.
2782 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
2783 the same var is both mapped and privatized.
2784 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
2785 handling of zero-length array sections.
2786 * testsuite/libgomp.c/target-28.c: New test.
2787 * testsuite/libgomp.c/target-29.c: New test.
2788 * testsuite/libgomp.c/target-30.c: New test.
2789 * testsuite/libgomp.c/target-teams-1.c: New test.
2790 * testsuite/libgomp.c++/member-6.C: New test.
2791 * testsuite/libgomp.c++/member-7.C: New test.
2792 * testsuite/libgomp.c++/monotonic-1.C: New test.
2793 * testsuite/libgomp.c++/monotonic-2.C: New test.
2794 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
2795 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
2796 * testsuite/libgomp.c++/pr66199-3.C: New test.
2797 * testsuite/libgomp.c++/pr66199-4.C: New test.
2798 * testsuite/libgomp.c++/pr66199-5.C: New test.
2799 * testsuite/libgomp.c++/pr66199-6.C: New test.
2800 * testsuite/libgomp.c++/pr66199-7.C: New test.
2801 * testsuite/libgomp.c++/pr66199-8.C: New test.
2802 * testsuite/libgomp.c++/pr66199-9.C: New test.
2803 * testsuite/libgomp.c++/reduction-11.C: New test.
2804 * testsuite/libgomp.c++/reduction-12.C: New test.
2805 * testsuite/libgomp.c++/target-13.C: New test.
2806 * testsuite/libgomp.c++/target-14.C: New test.
2807 * testsuite/libgomp.c++/target-15.C: New test.
2808 * testsuite/libgomp.c++/target-16.C: New test.
2809 * testsuite/libgomp.c++/target-17.C: New test.
2810 * testsuite/libgomp.c++/target-18.C: New test.
2811 * testsuite/libgomp.c++/target-19.C: New test.
2812
2813 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2814
2815 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2816 and reduction copy.
2817 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2818 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2819 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2820 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2821 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2822 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2823 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2824 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2825 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2826 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
2827 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2828 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2829 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2830 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
2831
2832 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2833
2834 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
2835 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
2836 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
2837 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
2838 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
2839 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
2840 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
2841 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
2842
2843 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
2844
2845 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
2846 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
2847 (GOMP_OFFLOAD_openacc_parallel): Likewise.
2848 * oacc-host.c (host_openacc_exec): Likewise.
2849 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
2850
2851 2015-11-03 Julian Brown <julian@codesourcery.com>
2852 Thomas Schwinge <thomas@codesourcery.com>
2853
2854 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
2855 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2856 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
2857 Likewise.
2858 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
2859 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
2860
2861 2015-11-03 James Norris <jnorris@codesourcery.com>
2862
2863 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
2864 file.
2865 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
2866 Likewise.
2867 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
2868 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
2869 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2870 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
2871 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2872
2873 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
2874
2875 * openacc.h (enum acc_device_t): Reformat. Ensure layout
2876 compatibility.
2877 (enum acc_async_t): Reformat.
2878 (acc_on_device): Declare compatible with builtin and provide C++
2879 wrapper.
2880 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
2881
2882 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
2883 Cesar Philippidis <cesar@codesourcery.com>
2884
2885 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
2886 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
2887 ... this. Add a description of the test at the top of the file.
2888 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
2889 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
2890 ... this. Add a description of the test at the top of the file.
2891
2892 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2893
2894 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
2895 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
2896 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
2897 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
2898 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
2899 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
2900
2901 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
2902
2903 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
2904 dimensions.
2905
2906 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2907
2908 PR testsuite/68063
2909 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
2910
2911 2015-10-27 James Norris <jnorris@codesourcery.com>
2912
2913 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
2914 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
2915
2916 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
2917
2918 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
2919 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2920
2921 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
2922 acc_device_nvidia usage.
2923 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2924 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2925 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2926
2927 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
2928 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
2929
2930 PR libgomp/66518
2931 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
2932
2933 PR libgomp/65437
2934 PR libgomp/66518
2935 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
2936 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
2937
2938 2015-10-23 Tom de Vries <tom@codesourcery.com>
2939
2940 PR testsuite/68063
2941 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
2942
2943 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
2944
2945 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
2946 vector_length.
2947 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2948
2949 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
2950 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
2951
2952 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
2953 to 0 when mapnum is 0.
2954
2955 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
2956
2957 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
2958 Cast to int from int32_t.
2959
2960 2015-10-13 Jakub Jelinek <jakub@redhat.com>
2961 Aldy Hernandez <aldyh@redhat.com>
2962 Ilya Verbin <ilya.verbin@intel.com>
2963
2964 * config/linux/affinity.c (omp_get_place_num_procs,
2965 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2966 * config/linux/doacross.h: New file.
2967 * config/posix/affinity.c (omp_get_place_num_procs,
2968 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2969 * config/posix/doacross.h: New file.
2970 * env.c: Include gomp-constants.h.
2971 (struct gomp_task_icv): Rename run_sched_modifier to
2972 run_sched_chunk_size.
2973 (gomp_max_task_priority_var): New variable.
2974 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
2975 (handle_omp_display_env): Change _OPENMP value from 201307 to
2976 201511. Print OMP_MAX_TASK_PRIORITY.
2977 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
2978 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
2979 chunk_size and run_sched_modifier to run_sched_chunk_size.
2980 (omp_get_max_task_priority, omp_get_initial_device,
2981 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
2982 omp_get_partition_place_nums): New functions.
2983 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
2984 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
2985 to chunk_size.
2986 (omp_get_num_places_, omp_get_place_num_procs_,
2987 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
2988 omp_get_place_proc_ids_8_, omp_get_place_num_,
2989 omp_get_partition_num_places_, omp_get_partition_place_nums_,
2990 omp_get_partition_place_nums_8_, omp_get_initial_device_,
2991 omp_get_max_task_priority_): New functions.
2992 * libgomp_g.h (GOMP_loop_doacross_static_start,
2993 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
2994 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
2995 GOMP_loop_ull_doacross_dynamic_start,
2996 GOMP_loop_ull_doacross_guided_start,
2997 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
2998 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
2999 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
3000 GOMP_target_data_41, GOMP_target_update_41,
3001 GOMP_target_enter_exit_data): New prototypes.
3002 (GOMP_task): Add prototype argument.
3003 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
3004 (struct gomp_doacross_work_share): New type.
3005 (struct gomp_work_share): Add doacross field.
3006 (struct gomp_task_icv): Rename run_sched_modifier to
3007 run_sched_chunk_size.
3008 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
3009 GOMP_TASK_UNDEFERRED. Add comments.
3010 (struct gomp_task_depend_entry): Add comments.
3011 (struct gomp_task): Likewise.
3012 (struct gomp_taskgroup): Likewise.
3013 (struct gomp_target_task): New type.
3014 (struct gomp_team): Add comment.
3015 (gomp_get_place_proc_ids_8, gomp_doacross_init,
3016 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
3017 gomp_create_target_task, gomp_target_task_fn): New prototypes.
3018 (struct target_var_desc): New type.
3019 (struct target_mem_desc): Adjust comment. Use struct
3020 target_var_desc instead of splay_tree_key for list.
3021 (REFCOUNT_INFINITY): Define.
3022 (struct splay_tree_key_s): Remove copy_from field.
3023 (struct gomp_device_descr): Add dev2dev_func field.
3024 (enum gomp_map_vars_kind): New enum.
3025 (gomp_map_vars): Add one argument.
3026 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
3027 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
3028 omp_get_place_num_procs, omp_get_place_num_procs_,
3029 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
3030 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
3031 omp_get_place_num_, omp_get_partition_num_places,
3032 omp_get_partition_num_places_, omp_get_partition_place_nums,
3033 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
3034 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
3035 omp_target_free, omp_target_is_present, omp_target_memcpy,
3036 omp_target_memcpy_rect, omp_target_associate_ptr and
3037 omp_target_disassociate_ptr.
3038 (GOMP_4.0.2): Renamed to ...
3039 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
3040 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
3041 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
3042 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
3043 GOMP_loop_doacross_static_start, GOMP_doacross_post,
3044 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
3045 GOMP_loop_ull_doacross_guided_start,
3046 GOMP_loop_ull_doacross_runtime_start,
3047 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
3048 GOMP_doacross_ull_wait.
3049 * libgomp.texi: Document omp_get_max_task_priority.
3050 Rename modifier argument to chunk_size for omp_set_schedule and
3051 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
3052 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
3053 to run_sched_chunk_size renaming.
3054 (GOMP_loop_ordered_runtime_start): Likewise.
3055 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3056 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
3057 GOMP_parallel_loop_runtime_start): New functions.
3058 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
3059 to run_sched_chunk_size renaming.
3060 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
3061 GOMP_loop_doacross_guided_start): New functions or aliases.
3062 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
3063 run_sched_modifier to run_sched_chunk_size renaming.
3064 (GOMP_loop_ull_ordered_runtime_start): Likewise.
3065 (gomp_loop_ull_doacross_static_start,
3066 gomp_loop_ull_doacross_dynamic_start,
3067 gomp_loop_ull_doacross_guided_start,
3068 GOMP_loop_ull_doacross_runtime_start): New functions.
3069 (GOMP_loop_ull_doacross_static_start,
3070 GOMP_loop_ull_doacross_dynamic_start,
3071 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
3072 * oacc-mem.c (acc_map_data, present_create_copy,
3073 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
3074 to gomp_map_vars.
3075 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
3076 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
3077 instead of false to gomp_map_vars.
3078 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
3079 * omp.h.in (omp_lock_hint_t): New type.
3080 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3081 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3082 omp_get_place_num, omp_get_partition_num_places,
3083 omp_get_partition_place_nums, omp_get_initial_device,
3084 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
3085 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
3086 omp_target_associate_ptr, omp_target_disassociate_ptr): New
3087 prototypes.
3088 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
3089 (omp_lock_hint_none, omp_lock_hint_uncontended,
3090 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
3091 omp_lock_hint_speculative): New parameters.
3092 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3093 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3094 omp_get_place_num, omp_get_partition_num_places,
3095 omp_get_partition_place_nums, omp_get_initial_device,
3096 omp_get_max_task_priority): New interfaces.
3097 (omp_set_schedule, omp_get_schedule): Rename modifier argument
3098 to chunk_size.
3099 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
3100 (omp_lock_hint_none, omp_lock_hint_uncontended,
3101 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
3102 omp_lock_hint_speculative): New parameters.
3103 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3104 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3105 omp_get_place_num, omp_get_partition_num_places,
3106 omp_get_partition_place_nums, omp_get_initial_device,
3107 omp_get_max_task_priority): New functions and subroutines.
3108 * ordered.c: Include stdarg.h and string.h.
3109 (MAX_COLLAPSED_BITS): Define.
3110 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
3111 gomp_doacross_ull_init, GOMP_doacross_ull_post,
3112 GOMP_doacross_ull_wait): New functions.
3113 * target.c: Include errno.h.
3114 (resolve_device): If device is not initialized, call
3115 gomp_init_device on it.
3116 (gomp_map_lookup): New function.
3117 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
3118 Don't bump refcount if REFCOUNT_INFINITY. Handle
3119 GOMP_MAP_ALWAYS_TO_P.
3120 (get_kind): Rename is_openacc argument to short_mapkind.
3121 (gomp_map_pointer): Use gomp_map_lookup.
3122 (gomp_map_fields_existing): New function.
3123 (gomp_map_vars): Rename is_openacc argument to short_mapkind
3124 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
3125 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
3126 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
3127 Adjust for tgt->list changed type and copy_from living in there.
3128 (gomp_copy_from_async): Adjust for tgt->list changed type and
3129 copy_from living in there.
3130 (gomp_unmap_vars): Likewise.
3131 (gomp_update): Likewise. Rename is_openacc argument to
3132 short_mapkind. Don't fail if object is not mapped.
3133 (gomp_load_image_to_device): Initialize refcount to
3134 REFCOUNT_INFINITY.
3135 (gomp_target_fallback): New function.
3136 (gomp_get_target_fn_addr): Likewise.
3137 (GOMP_target): Adjust gomp_map_vars caller, use
3138 gomp_get_target_fn_addr and gomp_target_fallback.
3139 (GOMP_target_41): New function.
3140 (gomp_target_data_fallback): New function.
3141 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
3142 (GOMP_target_data_41): New function.
3143 (GOMP_target_update): Adjust gomp_update caller.
3144 (GOMP_target_update_41): New function.
3145 (gomp_exit_data, GOMP_target_enter_exit_data,
3146 gomp_target_task_fn, omp_target_alloc, omp_target_free,
3147 omp_target_is_present, omp_target_memcpy,
3148 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
3149 omp_target_associate_ptr, omp_target_disassociate_ptr,
3150 gomp_load_plugin_for_device): New functions.
3151 * task.c: Include gomp-constants.h. Include taskloop.c
3152 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
3153 (gomp_task_handle_depend): New function.
3154 (GOMP_task): Use it. Add priority argument. Use
3155 gomp-constant.h constants instead of hardcoded numbers.
3156 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
3157 (gomp_create_target_task): New function.
3158 (verify_children_queue, verify_taskgroup_queue,
3159 verify_task_queue): New functions.
3160 (gomp_task_run_pre): Call verify_*_queue functions.
3161 If an upcoming tied task is about to leave the sibling or
3162 taskgroup queues in an invalid state, adjust appropriately.
3163 Remove taskgroup argument. Add comments.
3164 (gomp_task_run_post_handle_dependers): Add comments.
3165 (gomp_task_run_post_remove_parent): Likewise.
3166 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
3167 (GOMP_taskwait): Likewise. Add comments.
3168 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
3169 problem such that the first non parent_depends_on task does not
3170 end up at the end of the children queue.
3171 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
3172 GOMP_TASK_UNDEFERRED.
3173 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
3174 * taskloop.c: New file.
3175 * testsuite/lib/libgomp.exp
3176 (check_effective_target_offload_device_nonshared_as): New proc.
3177 * testsuite/libgomp.c/affinity-2.c: New test.
3178 * testsuite/libgomp.c/doacross-1.c: New test.
3179 * testsuite/libgomp.c/doacross-2.c: New test.
3180 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
3181 Add map clause to target.
3182 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
3183 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
3184 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
3185 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
3186 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
3187 Likewise.
3188 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
3189 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
3190 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
3191 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
3192 not defined. Use those where needed.
3193 * testsuite/libgomp.c/for-4.c: New test.
3194 * testsuite/libgomp.c/for-5.c: New test.
3195 * testsuite/libgomp.c/for-6.c: New test.
3196 * testsuite/libgomp.c/linear-1.c: New test.
3197 * testsuite/libgomp.c/ordered-4.c: New test.
3198 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
3199 only allowed on the loop iterator.
3200 * testsuite/libgomp.c/pr66199-3.c: New test.
3201 * testsuite/libgomp.c/pr66199-4.c: New test.
3202 * testsuite/libgomp.c/reduction-7.c: New test.
3203 * testsuite/libgomp.c/reduction-8.c: New test.
3204 * testsuite/libgomp.c/reduction-9.c: New test.
3205 * testsuite/libgomp.c/reduction-10.c: New test.
3206 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
3207 map(tofrom:s).
3208 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
3209 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
3210 * testsuite/libgomp.c/target-11.c: New test.
3211 * testsuite/libgomp.c/target-12.c: New test.
3212 * testsuite/libgomp.c/target-13.c: New test.
3213 * testsuite/libgomp.c/target-14.c: New test.
3214 * testsuite/libgomp.c/target-15.c: New test.
3215 * testsuite/libgomp.c/target-16.c: New test.
3216 * testsuite/libgomp.c/target-17.c: New test.
3217 * testsuite/libgomp.c/target-18.c: New test.
3218 * testsuite/libgomp.c/target-19.c: New test.
3219 * testsuite/libgomp.c/target-20.c: New test.
3220 * testsuite/libgomp.c/target-21.c: New test.
3221 * testsuite/libgomp.c/target-22.c: New test.
3222 * testsuite/libgomp.c/target-23.c: New test.
3223 * testsuite/libgomp.c/target-24.c: New test.
3224 * testsuite/libgomp.c/target-25.c: New test.
3225 * testsuite/libgomp.c/target-26.c: New test.
3226 * testsuite/libgomp.c/target-27.c: New test.
3227 * testsuite/libgomp.c/taskloop-1.c: New test.
3228 * testsuite/libgomp.c/taskloop-2.c: New test.
3229 * testsuite/libgomp.c/taskloop-3.c: New test.
3230 * testsuite/libgomp.c/taskloop-4.c: New test.
3231 * testsuite/libgomp.c++/ctor-13.C: New test.
3232 * testsuite/libgomp.c++/doacross-1.C: New test.
3233 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
3234 Replace offload_device with offload_device_nonshared_as.
3235 * testsuite/libgomp.c++/for-12.C: New test.
3236 * testsuite/libgomp.c++/for-13.C: New test.
3237 * testsuite/libgomp.c++/for-14.C: New test.
3238 * testsuite/libgomp.c++/linear-1.C: New test.
3239 * testsuite/libgomp.c++/member-1.C: New test.
3240 * testsuite/libgomp.c++/member-2.C: New test.
3241 * testsuite/libgomp.c++/member-3.C: New test.
3242 * testsuite/libgomp.c++/member-4.C: New test.
3243 * testsuite/libgomp.c++/member-5.C: New test.
3244 * testsuite/libgomp.c++/ordered-1.C: New test.
3245 * testsuite/libgomp.c++/reduction-5.C: New test.
3246 * testsuite/libgomp.c++/reduction-6.C: New test.
3247 * testsuite/libgomp.c++/reduction-7.C: New test.
3248 * testsuite/libgomp.c++/reduction-8.C: New test.
3249 * testsuite/libgomp.c++/reduction-9.C: New test.
3250 * testsuite/libgomp.c++/reduction-10.C: New test.
3251 * testsuite/libgomp.c++/reference-1.C: New test.
3252 * testsuite/libgomp.c++/simd14.C: New test.
3253 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
3254 * testsuite/libgomp.c++/target-5.C: New test.
3255 * testsuite/libgomp.c++/target-6.C: New test.
3256 * testsuite/libgomp.c++/target-7.C: New test.
3257 * testsuite/libgomp.c++/target-8.C: New test.
3258 * testsuite/libgomp.c++/target-9.C: New test.
3259 * testsuite/libgomp.c++/target-10.C: New test.
3260 * testsuite/libgomp.c++/target-11.C: New test.
3261 * testsuite/libgomp.c++/target-12.C: New test.
3262 * testsuite/libgomp.c++/taskloop-1.C: New test.
3263 * testsuite/libgomp.c++/taskloop-2.C: New test.
3264 * testsuite/libgomp.c++/taskloop-3.C: New test.
3265 * testsuite/libgomp.c++/taskloop-4.C: New test.
3266 * testsuite/libgomp.c++/taskloop-5.C: New test.
3267 * testsuite/libgomp.c++/taskloop-6.C: New test.
3268 * testsuite/libgomp.c++/taskloop-7.C: New test.
3269 * testsuite/libgomp.c++/taskloop-8.C: New test.
3270 * testsuite/libgomp.c++/taskloop-9.C: New test.
3271 * testsuite/libgomp.fortran/affinity1.f90: New test.
3272 * testsuite/libgomp.fortran/affinity2.f90: New test.
3273
3274 2015-10-13 Tom de Vries <tom@codesourcery.com>
3275
3276 PR tree-optimization/67476
3277 * testsuite/libgomp.c/autopar-3.c: New test.
3278 * testsuite/libgomp.c/autopar-4.c: New test.
3279 * testsuite/libgomp.c/autopar-5.c: New test.
3280 * testsuite/libgomp.c/autopar-6.c: New test.
3281 * testsuite/libgomp.c/autopar-7.c: New test.
3282 * testsuite/libgomp.c/autopar-8.c: New test.
3283
3284 2015-10-12 James Norris <jnorris@codesourcery.com>
3285
3286 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
3287 initializer.
3288
3289 2015-10-09 David Malcolm <dmalcolm@redhat.com>
3290
3291 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
3292 using load_gcc_lib.
3293
3294 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
3295
3296 * oacc-ptx.h: Remove file, moving its content into...
3297 * config/nvptx/fortran.c: ... here...
3298 * config/nvptx/oacc-init.c: ..., here...
3299 * config/nvptx/oacc-parallel.c: ..., and here.
3300 * config/nvptx/openacc.f90: New file.
3301 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
3302 (link_ptx): Don't link in predefined bits of PTX code.
3303
3304 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
3305 Bernd Schmidt <bernds@codesourcery.com>
3306
3307 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
3308 (struct targ_ptx_obj): New.
3309 (nvptx_tdata): Move earlier, change data format.
3310 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
3311 objects.
3312 (GOMP_OFFLOAD_load_image): Adjust.
3313
3314 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
3315
3316 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
3317 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3318 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3319 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
3320 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3321 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3322 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3323 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3324 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3325 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3326 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3327 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3328 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3329 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3330 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3331 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3332 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3333 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3334 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3335 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3336 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3337 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3338 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3339 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3340 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3341 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3342 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3343 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3344 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3345 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3346 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3347 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3348 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3349 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3350 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3351 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3352 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3353 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3354 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3355 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3356 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3357 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3358 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3359 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3360 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3361 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3362 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3363 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3364 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3365 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3366 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3367 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3368 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3369 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3370 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3371 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3372 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3373 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3374 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3375 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3376 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3377 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3378 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3379
3380 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
3381
3382 * oacc-init.c (acc_on_device): Force optimization level.
3383
3384 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
3385
3386 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
3387 (cuda_errlist): Delete.
3388 (cuda_error): Reimplement.
3389
3390 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
3391
3392 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
3393 array.
3394 * libgomp.map (GOACC_parallel_keyed): New.
3395 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
3396 all callers.
3397 (GOACC_parallel_keyed): New interface. Lose geometry arguments
3398 and take keyed varargs list. Adjust call to exec_func.
3399 (GOACC_parallel): Force host fallback.
3400 * libgomp_g.h (GOACC_parallel): Remove.
3401 (GOACC_parallel_keyed): Declare.
3402 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
3403 (stuct targ_gn_descriptor): Replace name field with launch field.
3404 (nvptx_exec): Lose separate geometry args, take array. Process
3405 dynamic dimensions and adjust.
3406 (struct nvptx_tdata): Replace fn_names field with fn_descs.
3407 (GOMP_OFFLOAD_load_image): Adjust for change in function table
3408 data.
3409 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
3410 passing.
3411 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
3412 passing.
3413
3414 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
3415
3416 PR libgomp/67141
3417 * oacc-int.h (goacc_host_init): Add declaration.
3418 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
3419 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
3420
3421 2015-09-08 Aditya Kumar <hiraditya@msn.com>
3422 Sebastian Pop <s.pop@samsung.com>
3423
3424 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
3425 match o/p.
3426 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
3427 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
3428 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
3429 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
3430 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
3431
3432 2015-09-03 Jakub Jelinek <jakub@redhat.com>
3433
3434 * configure.tgt: Add missing ;; in between nvptx and rtems
3435 snippets.
3436
3437 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3438
3439 * config/posix/pool.h (gomp_adjust_thread_attr): New.
3440 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
3441 (gomp_thread_pool_reservoir): Add priority member.
3442 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
3443 priority.
3444 (parse_thread_pools): Likewise.
3445 * team.c (gomp_team_start): Call configuration provided
3446 gomp_adjust_thread_attr(). Destroy thread attributes if
3447 necessary.
3448 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
3449
3450 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3451
3452 * config/posix/pool.h: New.
3453 * config/rtems/pool.h: Likewise.
3454 * config/rtems/proc.c: Likewise.
3455 * libgomp.h (gomp_thread_destructor): Declare.
3456 * team.c: Include configuration provided "pool.h".
3457 (gomp_get_thread_pool): Define in configuration.
3458 (gomp_team_end): Call configuration defined
3459 gomp_release_thread_pool().
3460
3461 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3462
3463 * config/rtems/bar.c: New.
3464 * config/rtems/bar.h: Likewise.
3465 * config/rtems/mutex.c: Likewise.
3466 * config/rtems/mutex.h: Likewise.
3467 * config/rtems/sem.c: Likewise.
3468 * config/rtems/sem.h: Likewise.
3469 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
3470 <sys/lock.h> header file.
3471 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
3472 supported by Newlib.
3473 * configure: Regenerate.
3474
3475 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3476
3477 * team.c (gomp_new_thread_pool): Delete and move content to ...
3478 (gomp_get_thread_pool): ... new function. Allocate and
3479 initialize thread pool on demand.
3480 (get_last_team): Use gomp_get_thread_pool().
3481 (gomp_team_start): Delete thread pool initialization.
3482
3483 2015-09-03 Tom de Vries <tom@codesourcery.com>
3484
3485 PR tree-optimization/65637
3486 * testsuite/libgomp.c/autopar-2.c: New test.
3487
3488 2015-08-29 Tom de Vries <tom@codesourcery.com>
3489
3490 PR tree-optimization/46193
3491 * testsuite/libgomp.c/pr46193.c: New test.
3492
3493 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
3494
3495 libgomp/
3496 * libgomp.map: Add 4.0.2 version.
3497 * target.c (offload_image_descr): Add version field.
3498 (gomp_load_image_to_device): Add version argument. Adjust plugin
3499 call. Improve load mismatch diagnostic.
3500 (gomp_unload_image_from_device): Add version argument. Adjust plugin
3501 call.
3502 (GOMP_offload_regster): Make stub function, move bulk to ...
3503 (GOMP_offload_register_ver): ... here. Process version argument.
3504 (GOMP_offload_unregister): Make stub function, move bulk to ...
3505 (GOMP_offload_unregister_ver): ... here. Process version argument.
3506 (gomp_init_device): Process version field.
3507 (gomp_unload_device): Process version field.
3508 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
3509 macros. Check plugin version.
3510 * libgomp.h (gomp_device_descr): Add version function field. Adjust
3511 loader and unloader types.
3512 * oacc-host.c: Include gomp-constants.h.
3513 (host_version): New.
3514 (host_load_image, host_unload_image): Adjust.
3515 (host_dispatch): Add host_version.
3516 * plugin/plugin-nvptx.c: Include gomp-constants.h.
3517 (GOMP_OFFLOAD_version): New.
3518 (GOMP_OFFLOAD_load_image): Add version arg and check it.
3519 (GOMP_OFFLOAD_unload_image): Likewise.
3520 * plugin/plugin-host.c: Include gomp-constants.h.
3521 (GOMP_OFFLOAD_version): New.
3522 (GOMP_OFFLOAD_load_image): Add version arg.
3523 (GOMP_OFFLOAD_unload_image): Likewise.
3524
3525 2015-08-24 Tom de Vries <tom@codesourcery.com>
3526
3527 PR tree-optimization/65468
3528 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
3529
3530 2015-08-24 Tom de Vries <tom@codesourcery.com>
3531
3532 PR tree-optimization/65468
3533 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
3534
3535 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
3536
3537 PR libgomp/66761
3538 PR libgomp/67303
3539 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
3540 (gomp_iter_guided_next): Idem.
3541 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
3542 (gomp_iter_ull_guided_next): Idem.
3543 * config/linux/wait.h (do_spin): Idem.
3544
3545 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3546
3547 * libgomp-plugin.h (enum offload_target_type): Remove
3548 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
3549 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
3550 * openacc.h (enum acc_device_t): Likewise.
3551 * openacc_lib.h: Likewise.
3552 * oacc-init.c (name_of_acc_device_t): Don't handle it.
3553 (acc_on_device): Just use __builtin_acc_on_device.
3554 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
3555 of acc_on_device builtin.
3556 * plugin/plugin-host.h: Remove file.
3557 * plugin/plugin-host.c: Likewise, but salvage some content into...
3558 * oacc-host.c: ... this file.
3559 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
3560 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
3561 * Makefile.in: Regenerate.
3562 * configure: Likewise.
3563 * testsuite/lib/libgomp.exp
3564 (check_effective_target_openacc_host_nonshm_selected): Remove.
3565 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
3566 ACC_DEVICE_TYPE=host_nonshm.
3567 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3568 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3569 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3570 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3571 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3572 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3573
3574 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3575 Jakub Jelinek <jakub@redhat.com>
3576
3577 * config/nvptx/affinity.c: New file.
3578 * config/nvptx/alloc.c: Likewise.
3579 * config/nvptx/bar.c: Likewise.
3580 * config/nvptx/barrier.c: Likewise.
3581 * config/nvptx/critical.c: Likewise.
3582 * config/nvptx/env.c: Likewise.
3583 * config/nvptx/error.c: Likewise.
3584 * config/nvptx/fortran.c: Likewise.
3585 * config/nvptx/iter.c: Likewise.
3586 * config/nvptx/iter_ull.c: Likewise.
3587 * config/nvptx/libgomp-plugin.c: Likewise.
3588 * config/nvptx/lock.c: Likewise.
3589 * config/nvptx/loop.c: Likewise.
3590 * config/nvptx/loop_ull.c: Likewise.
3591 * config/nvptx/mutex.c: Likewise.
3592 * config/nvptx/oacc-async.c: Likewise.
3593 * config/nvptx/oacc-cuda.c: Likewise.
3594 * config/nvptx/oacc-host.c: Likewise.
3595 * config/nvptx/oacc-init.c: Likewise.
3596 * config/nvptx/oacc-mem.c: Likewise.
3597 * config/nvptx/oacc-parallel.c: Likewise.
3598 * config/nvptx/oacc-plugin.c: Likewise.
3599 * config/nvptx/omp-lock.h: Likewise.
3600 * config/nvptx/ordered.c: Likewise.
3601 * config/nvptx/parallel.c: Likewise.
3602 * config/nvptx/proc.c: Likewise.
3603 * config/nvptx/ptrlock.c: Likewise.
3604 * config/nvptx/sections.c: Likewise.
3605 * config/nvptx/sem.c: Likewise.
3606 * config/nvptx/single.c: Likewise.
3607 * config/nvptx/splay-tree.c: Likewise.
3608 * config/nvptx/target.c: Likewise.
3609 * config/nvptx/task.c: Likewise.
3610 * config/nvptx/team.c: Likewise.
3611 * config/nvptx/time.c: Likewise.
3612 * config/nvptx/work.c: Likewise.
3613 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
3614 * configure: Regenerate.
3615 * configure.tgt (config_path): Set to "nvptx" for target
3616 nvptx*-*-*.
3617
3618 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3619
3620 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
3621
3622 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
3623
3624 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
3625 (cuda_errlist): Constify.
3626 (errmsg): Move into ...
3627 (cuda_error): ... here. Make smaller.
3628 (_XSTR, _STR): Delete.
3629 (cuda_synames): Delete.
3630 (verify_device_library): Delete.
3631 (nvptx_init): Don't call it.
3632
3633 2015-07-28 Tom de Vries <tom@codesourcery.com>
3634
3635 * testsuite/libgomp.c/uns-outer-4.c: New test.
3636
3637 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
3638
3639 * testsuite/libgomp.c/pr66714.c: New test.
3640
3641 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
3642
3643 PR libgomp/66950
3644 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
3645 (fib_ref): New function.
3646 (fib): Correct corner cases in the recursion.
3647 (main): Replace the non-simd loop with fib_ref call.
3648 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
3649 subroutine.
3650 (fibonacci): Lower the parameter N to 30. Correct accordingly check
3651 for the last array element value. Replace the non-simd loop with
3652 fib_ref call. Remove redundant b_ref array. Remove the comparison
3653 of the last array element with according Fibonacci sequence element.
3654 (fib): Correct corner cases in the recursion.
3655
3656 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
3657
3658 * target.c (gomp_offload_image_to_device): Rename to ...
3659 (gomp_load_image_to_device): ... here.
3660 (GOMP_offload_register): Adjust call.
3661 (gomp_init_device): Likewise.
3662 (gomp_unload_image_from_device): New. Broken out of ...
3663 (GOMP_offload_unregister): ... here. Call it.
3664 (gomp_unload_device): New.
3665 * libgomp.h (gomp_unload_device): Declare.
3666 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
3667 mem maps.
3668
3669 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
3670
3671 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
3672 wait=-specific if.
3673 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
3674 !=0 condition.
3675 (goacc_waits): Move !num_waits handling to ...
3676 (GOACC_wait): ... here, the only caller that might have zero waits.
3677
3678 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
3679 (struct ptx_image_data): Move earlier, add fns field.
3680 (struct ptx_device): Add images and image_lock fields.
3681 (ptx_images, ptx_image_lock): Delete.
3682 (nvptx_open_device): Initialize images and image_lock fields.
3683 (nvptx_close_device): Destroy image_lock.
3684 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
3685 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
3686 fields.
3687
3688 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
3689
3690 * target.c (GOMP_offload_register): Use int for device type arg.
3691 (GOMP_offload_unregister): Likewise.
3692
3693 * target.c (struct_offload_image_descr): Constify host_table.
3694 (gomp_offload_image_to_device): Likewise.
3695 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
3696
3697 * libgomp.h (gomp_device_descr): Constify target data arguments.
3698 * target.c (struct offload_image_descr): Constify target_data.
3699 (gomp_offload_image_to_device): Likewise.
3700 (GOMP_offload_register): Likewise.
3701 (GOMP_offload_unrefister): Likewise.
3702 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
3703 GOMP_OFFLOAD_unload_image): Constify target data.
3704 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
3705 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
3706
3707 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
3708
3709 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
3710 Workaround driver library const error.
3711 (struct nvptx_tdata, nvptx_tdata_t): New.
3712 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
3713 type.
3714
3715 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
3716
3717 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
3718 of EPS parameter from integer to real.
3719 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
3720 type of EPS parameter from integer to real.
3721
3722 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3723
3724 * team.c (get_last_team): New.
3725 (gomp_new_team): Recycle last non-nested team if possible.
3726 (gomp_team_end): Move team work share list free lock destruction
3727 to ...
3728 (free_team): ... here.
3729
3730 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
3731
3732 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
3733 and ref from int to double. Replaced their comparison with
3734 an inequality of their difference and EPS.
3735 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
3736 comparison of pri and a reference number with an inequality of their
3737 difference and EPS.
3738 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
3739 the comparison of sum and sum_ref with an inequality of their
3740 difference and EPS.
3741 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
3742 the comparison of pri and a reference number with an inequality of
3743 their difference and EPS.
3744
3745 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
3746
3747 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
3748 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
3749 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
3750 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
3751 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
3752 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
3753 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
3754 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
3755 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
3756 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
3757 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
3758 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
3759 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
3760 variables.
3761 (vec_mult): Likewise. Add #pragma omp taskwait.
3762 (main): Adjust caller.
3763 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
3764 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
3765 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
3766 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
3767 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
3768 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
3769 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
3770 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
3771 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
3772 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
3773 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
3774 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
3775 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
3776 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
3777 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
3778 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
3779 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
3780 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
3781 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
3782 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
3783 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
3784 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
3785 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
3786 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
3787 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
3788 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
3789 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
3790 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
3791 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
3792 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
3793 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
3794 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
3795 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
3796 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
3797 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
3798 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
3799 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
3800 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
3801 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
3802 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
3803 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
3804 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
3805 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
3806 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
3807 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
3808 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
3809 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
3810 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
3811 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
3812 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3813 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3814 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3815 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3816 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3817 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3818 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3819 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
3820 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
3821 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
3822 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
3823 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
3824 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
3825 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
3826 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
3827 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
3828 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
3829 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
3830 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
3831 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
3832 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
3833 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
3834 (vec_mult): Add !$omp taskwait.
3835 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
3836 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
3837 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
3838 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
3839 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
3840 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
3841 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
3842 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
3843 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
3844 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
3845 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
3846 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
3847 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
3848 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
3849 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
3850 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
3851 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
3852 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
3853 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
3854 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
3855 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
3856 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
3857 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
3858 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
3859 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
3860 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
3861 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
3862 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
3863 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
3864 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
3865 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
3866 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
3867 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
3868 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
3869 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
3870 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
3871 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
3872 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
3873 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
3874 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
3875 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
3876 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
3877 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
3878 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
3879 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
3880 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
3881 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
3882 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
3883 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
3884 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
3885 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
3886 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
3887 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
3888 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
3889 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
3890 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
3891 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
3892 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
3893 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
3894 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
3895 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
3896 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
3897 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
3898 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
3899 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
3900 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
3901 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
3902
3903 2015-07-10 Tom de Vries <tom@codesourcery.com>
3904
3905 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
3906 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
3907
3908 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
3909
3910 PR libgomp/65099
3911 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
3912 in a 64-bit configuration.
3913 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
3914 offloading testing if no such device is available.
3915 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3916 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3917
3918 2015-07-08 Tom de Vries <tom@codesourcery.com>
3919
3920 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
3921 second call to f.
3922 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3923
3924 2015-07-07 Tom de Vries <tom@codesourcery.com>
3925
3926 PR tree-optimization/66642
3927 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
3928 iteration count case.
3929 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
3930 function, factor out of ...
3931 (main): ... here. Test low iteration count case.
3932
3933 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
3934
3935 * libgomp.h (gomp_thread_pool): Comment last_team field.
3936
3937 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
3938
3939 * testsuite/libgomp.c++/pr66702-1.C: Require
3940 vect_simd_clones effective target.
3941 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
3942
3943 2015-06-30 Tom de Vries <tom@codesourcery.com>
3944
3945 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3946 already set. Use DEFAULT_CFLAGS in dg-runtest.
3947 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
3948 "-O2".
3949
3950 2015-06-30 Tom de Vries <tom@codesourcery.com>
3951
3952 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3953 already set. Use DEFAULT_CFLAGS in dg-runtest.
3954 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
3955 * testsuite/libgomp.c++/pr64824.C: Same.
3956 * testsuite/libgomp.c++/pr64868.C: Same.
3957 * testsuite/libgomp.c++/pr66199-1.C: Same.
3958 * testsuite/libgomp.c++/pr66199-2.C: Same.
3959 * testsuite/libgomp.c++/target-2.C: Same.
3960 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
3961 -std=<standard> option.
3962 * testsuite/libgomp.c++/udr-11.C: Same.
3963 * testsuite/libgomp.c++/udr-12.C: Same.
3964 * testsuite/libgomp.c++/udr-13.C: Same.
3965 * testsuite/libgomp.c++/udr-14.C: Same.
3966 * testsuite/libgomp.c++/udr-15.C: Same.
3967 * testsuite/libgomp.c++/udr-16.C: Same.
3968 * testsuite/libgomp.c++/udr-17.C: Same.
3969 * testsuite/libgomp.c++/udr-18.C: Same.
3970 * testsuite/libgomp.c++/udr-19.C: Same.
3971 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
3972 * testsuite/libgomp.c++/simd-1.C: Same.
3973 * testsuite/libgomp.c++/simd-2.C: Same.
3974 * testsuite/libgomp.c++/simd-3.C: Same.
3975 * testsuite/libgomp.c++/simd-4.C: Same.
3976 * testsuite/libgomp.c++/simd-5.C: Same.
3977 * testsuite/libgomp.c++/simd-6.C: Same.
3978 * testsuite/libgomp.c++/simd-7.C: Same.
3979 * testsuite/libgomp.c++/simd-8.C: Same.
3980 * testsuite/libgomp.c++/simd-9.C: Same.
3981 * testsuite/libgomp.c++/simd10.C: Same.
3982 * testsuite/libgomp.c++/simd11.C: Same.
3983 * testsuite/libgomp.c++/simd12.C: Same.
3984 * testsuite/libgomp.c++/simd13.C: Same.
3985
3986 2015-06-30 Jakub Jelinek <jakub@redhat.com>
3987
3988 PR middle-end/66702
3989 * testsuite/libgomp.c++/pr66702-1.C: New test.
3990 * testsuite/libgomp.c++/pr66702-2.C: New test.
3991
3992 2015-06-30 Tom de Vries <tom@codesourcery.com>
3993
3994 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
3995 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
3996 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
3997 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
3998
3999 2015-06-30 Tom de Vries <tom@codesourcery.com>
4000
4001 PR tree-optimization/66652
4002 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
4003 using restrict pointers.
4004 (main): Add arguments to calls to f.
4005 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4006
4007 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
4008
4009 * configure.ac: Fix check for header <sys/sysctl.h>.
4010 * configure: Regenerate.
4011 * config.h.in: Likewise.
4012
4013 2015-06-23 Tom de Vries <tom@codesourcery.com>
4014
4015 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
4016 abort.
4017 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
4018
4019 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
4020
4021 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
4022 acc_device_nvidia.
4023
4024 PR libgomp/66518
4025 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
4026 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4027
4028 2015-06-15 Tom de Vries <tom@codesourcery.com>
4029
4030 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
4031 dg-additional-options for any remaining options.
4032 * testsuite/libgomp.c/atomic-2.c: Same.
4033 * testsuite/libgomp.c/atomic-4.c: Same.
4034 * testsuite/libgomp.c/atomic-5.c: Same.
4035 * testsuite/libgomp.c/atomic-6.c: Same.
4036 * testsuite/libgomp.c/autopar-1.c: Same.
4037 * testsuite/libgomp.c/copyin-1.c: Same.
4038 * testsuite/libgomp.c/copyin-2.c: Same.
4039 * testsuite/libgomp.c/copyin-3.c: Same.
4040 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
4041 * testsuite/libgomp.c/nestedfn-5.c: Same.
4042 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
4043 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
4044 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
4045 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4046 * testsuite/libgomp.c/pr32362-1.c: Same.
4047 * testsuite/libgomp.c/pr32362-2.c: Same.
4048 * testsuite/libgomp.c/pr32362-3.c: Same.
4049 * testsuite/libgomp.c/pr39591-1.c: Same.
4050 * testsuite/libgomp.c/pr39591-2.c: Same.
4051 * testsuite/libgomp.c/pr39591-3.c: Same.
4052 * testsuite/libgomp.c/pr58392.c: Same.
4053 * testsuite/libgomp.c/pr58756.c: Same.
4054 * testsuite/libgomp.c/simd-1.c: Same.
4055 * testsuite/libgomp.c/simd-10.c: Same.
4056 * testsuite/libgomp.c/simd-11.c: Same.
4057 * testsuite/libgomp.c/simd-12.c: Same.
4058 * testsuite/libgomp.c/simd-13.c: Same.
4059 * testsuite/libgomp.c/simd-14.c: Same.
4060 * testsuite/libgomp.c/simd-15.c: Same.
4061 * testsuite/libgomp.c/simd-2.c: Same.
4062 * testsuite/libgomp.c/simd-3.c: Same.
4063 * testsuite/libgomp.c/simd-4.c: Same.
4064 * testsuite/libgomp.c/simd-5.c: Same.
4065 * testsuite/libgomp.c/simd-6.c: Same.
4066 * testsuite/libgomp.c/simd-7.c: Same.
4067 * testsuite/libgomp.c/simd-8.c: Same.
4068 * testsuite/libgomp.c/simd-9.c: Same.
4069
4070 2015-06-15 Tom de Vries <tom@codesourcery.com>
4071
4072 * testsuite/libgomp.c/pr35625.c: Fix typo.
4073
4074 2015-06-15 Tom de Vries <tom@codesourcery.com>
4075
4076 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
4077 in dg-options.
4078 * testsuite/libgomp.c/atomic-3.c: Same.
4079 * testsuite/libgomp.c/debug-1.c: Same.
4080 * testsuite/libgomp.c/nqueens-1.c: Same.
4081 * testsuite/libgomp.c/pr26171.c: Same.
4082 * testsuite/libgomp.c/pr48591.c: Same.
4083 * testsuite/libgomp.c/pr64824.c: Same.
4084 * testsuite/libgomp.c/pr64868.c: Same.
4085 * testsuite/libgomp.c/pr66133.c: Same.
4086 * testsuite/libgomp.c/pr66199-1.c: Same.
4087 * testsuite/libgomp.c/pr66199-2.c: Same.
4088 * testsuite/libgomp.c/target-8.c: Same.
4089
4090 2015-06-15 Tom de Vries <tom@codesourcery.com>
4091
4092 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
4093 -std={gnu99,c99}.
4094 * testsuite/libgomp.c/for-1.c: Same.
4095 * testsuite/libgomp.c/for-2.c: Same.
4096 * testsuite/libgomp.c/for-3.c: Same.
4097 * testsuite/libgomp.c/pr35625.c: Same.
4098 * testsuite/libgomp.c/pr39154.c: Same.
4099 * testsuite/libgomp.c/simd-16.c: Same.
4100 * testsuite/libgomp.c/simd-17.c: Same.
4101
4102 2015-06-13 Tom de Vries <tom@codesourcery.com>
4103
4104 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
4105
4106 2015-06-13 Tom de Vries <tom@codesourcery.com>
4107
4108 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
4109 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4110 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
4111 (N): Define.
4112 (main): Use N instead of hardcoded constants.
4113
4114 2015-06-05 Tom de Vries <tom@codesourcery.com>
4115
4116 merge from gomp4 branch:
4117 2015-05-28 Tom de Vries <tom@codesourcery.com>
4118
4119 PR tree-optimization/65443
4120 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
4121 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
4122 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
4123
4124 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4125
4126 * testsuite/libgomp.graphite/bounds.c: Adjust for
4127 cleanup-tree-dump removal.
4128 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
4129 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4130 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4131 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4132 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4133 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4134 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4135 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4136 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4137 * testsuite/libgomp.graphite/pr41118.c: Likewise.
4138
4139 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
4140
4141 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
4142 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
4143 (futex_wake) [!__x86_64__]: Ditto.
4144
4145 2015-05-28 Julian Brown <julian@codesourcery.com>
4146
4147 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
4148 function comment. Only call gomp_fatal if new argument is true.
4149 (acc_dev_num_out_of_range): New function.
4150 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
4151 acc_dev_num_out_of_range as appropriate.
4152 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
4153 (acc_get_device_num, acc_set_device_num): Update calls to
4154 resolve_device.
4155 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
4156 output.
4157
4158 2015-05-28 Julian Brown <julian@codesourcery.com>
4159
4160 PR libgomp/65742
4161 * oacc-init.c (plugin/plugin-host.h): Include.
4162 (acc_on_device): Check whether we're in an offloaded region for
4163 host_nonshm
4164 plugin. Don't use __builtin_acc_on_device.
4165 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
4166 nonshm_exec flag in thread-local data.
4167 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
4168 data for host_nonshm plugin.
4169 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
4170 for host_nonshm plugin.
4171 * plugin/plugin-host.h: New.
4172
4173 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
4174
4175 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
4176
4177 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
4178
4179 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
4180 Declare as int.
4181 (FUTEX_PRIVATE_FLAG): Remove L suffix.
4182 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
4183 Declare as int.
4184
4185 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
4186
4187 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
4188
4189 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
4190
4191 * target.c (gomp_map_pointer): New function abstracting out
4192 GOMP_MAP_POINTER handling.
4193 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
4194 gomp_map_pointer().
4195
4196 2015-05-19 Jakub Jelinek <jakub@redhat.com>
4197
4198 PR middle-end/66199
4199 * testsuite/libgomp.c/pr66199-1.c: New test.
4200 * testsuite/libgomp.c/pr66199-2.c: New test.
4201 * testsuite/libgomp.c++/pr66199-1.C: New test.
4202 * testsuite/libgomp.c++/pr66199-2.C: New test.
4203 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
4204 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
4205
4206 2015-05-19 Julian Brown <julian@codesourcery.com>
4207
4208 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
4209 on cuInit failure.
4210
4211 2015-05-13 Jakub Jelinek <jakub@redhat.com>
4212
4213 PR middle-end/66133
4214 * testsuite/libgomp.c/pr66133.c: New test.
4215
4216 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
4217
4218 * Makefile.in: Regenerated with automake-1.11.6.
4219 * aclocal.m4: Likewise.
4220 * config.h.in: Likewise.
4221 * configure: Likewise.
4222 * testsuite/Makefile.in: Likewise.
4223
4224 2015-05-08 Jason Merrill <jason@redhat.com>
4225
4226 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
4227 _Complex.
4228
4229 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
4230
4231 2015-05-06 Julian Brown <julian@codesourcery.com>
4232
4233 * oacc-init.c (acc_device_lock): Add explanatory comment.
4234 (resolve_device): Add comment about locking requirement.
4235 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
4236 gomp_init_device and gomp_fini_device calls.
4237 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
4238 (acc_get_device_num, acc_set_device_num): Add locking around
4239 resolve_device and gomp_init_device calls.
4240
4241 2015-05-06 Julian Brown <julian@codesourcery.com>
4242
4243 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
4244 goacc_thread_lock on error paths.
4245 * oacc-mem.c (lookup_host): Remove locking from function. Note
4246 locking requirement for caller in function comment.
4247 (lookup_dev): Likewise.
4248 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
4249 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
4250 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4251 Add locking.
4252
4253 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
4254
4255 PR testsuite/65205
4256 PR libgomp/65993
4257 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
4258 don't expect "0x" prefix for "%p" format specifier, don't expect
4259 "(nil)" for NULL pointer.
4260 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4261 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4262 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4263 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4264 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4265 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4266 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4267 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4268 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4269 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4270 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4271 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4272 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4273 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4274 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4275 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4276 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4277 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4278 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4279 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4280 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4281 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4282 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4283 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4284 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4285 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4286 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4287 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4288 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
4289 accurately specify what we're looking for.
4290 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4291 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4292 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4293 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4294 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4295
4296 2015-04-30 James Norris <jnorris@codesourcery.com>
4297
4298 PR testsuite/65205
4299 * testsuite/lib/libgomp.exp
4300 (check_effective_target_openacc_host_selected)
4301 (check_effective_target_openacc_host_nonshm_selected): New
4302 procedures.
4303 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
4304 dg-shouldfail.
4305 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4306 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4307 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4308 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4309 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4310 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4311 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4312 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4313 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4314 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4315 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4316 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4317 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4318 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4319 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4320 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4321 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4322 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4323 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4324 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4325 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4326 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4327 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4328 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4329 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4330 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4331 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4332 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4333 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4334 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4335 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4336 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4337 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4338 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4339 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4340 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4341 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4342 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4343 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4344 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4345 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4346 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4347 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4348
4349 2015-04-08 Julian Brown <julian@codesourcery.com>
4350
4351 * libgomp.h (target_mem_desc: Remove mem_map field.
4352 (acc_dispatch_t): Remove open_device_func, close_device_func,
4353 get_device_num_func, set_device_num_func, target_data members.
4354 Change create_thread_data_func argument to device number instead of
4355 generic pointer.
4356 * oacc-async.c (assert.h): Include.
4357 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
4358 (acc_wait_all, acc_wait_all_async): Use current host thread's
4359 active device, not base_dev.
4360 * oacc-cuda.c (acc_get_current_cuda_device)
4361 (acc_get_current_cuda_context, acc_get_cuda_stream)
4362 (acc_set_cuda_stream): Likewise.
4363 * oacc-host.c (host_dispatch): Don't set open_device_func,
4364 close_device_func, get_device_num_func or set_device_num_func.
4365 * oacc-init.c (base_dev, init_key): Remove.
4366 (cached_base_dev): New.
4367 (name_of_acc_device_t): New.
4368 (acc_init_1): Initialise default-numbered device, not zeroth.
4369 (acc_shutdown_1): Close all devices of a given type.
4370 (goacc_destroy_thread): Don't use base_dev.
4371 (lazy_open, lazy_init, lazy_init_and_open): Remove.
4372 (goacc_attach_host_thread_to_device): New.
4373 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
4374 (acc_get_num_devices): Don't use base_dev.
4375 (acc_set_device_type): Reimplement.
4376 (acc_get_device_type): Don't use base_dev.
4377 (acc_get_device_num): Tweak logic.
4378 (acc_set_device_num): Likewise.
4379 (acc_on_device): Use acc_get_device_type.
4380 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
4381 (goacc_lazy_initialize): Reimplement with acc_init and
4382 goacc_attach_host_thread_to_device.
4383 * oacc-int.h (goacc_thread): Add base_dev field.
4384 (base_dev): Remove extern declaration.
4385 (goacc_attach_host_thread_to_device): Add prototype.
4386 * oacc-mem.c (acc_malloc): Use current thread's device instead of
4387 base_dev.
4388 (acc_free): Likewise.
4389 (acc_memcpy_to_device): Likewise.
4390 (acc_memcpy_from_device): Likewise.
4391 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
4392 goacc_lazy_initialize (throughout).
4393 (GOACC_parallel): Use tgt_offset to locate target functions.
4394 * target.c (gomp_map_vars): Don't set tgt->mem_map.
4395 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
4396 (gomp_load_plugin_for_device): Remove open_device, close_device,
4397 get_device_num, set_device_num openacc hook initialisation. Don't set
4398 openacc.target_data.
4399 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
4400 (GOMP_OFFLOAD_openacc_close_device)
4401 (GOMP_OFFLOAD_openacc_get_device_num)
4402 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
4403 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
4404 to int.
4405 * plugin/plugin-nvptx.c (ptx_inited): Remove.
4406 (instantiated_devices, ptx_dev_lock): New.
4407 (struct ptx_image_data): New.
4408 (ptx_devices, ptx_images, ptx_image_lock): New.
4409 (fini_streams_for_device): Reorder cuStreamDestroy call.
4410 (nvptx_get_num_devices): Remove forward declaration.
4411 (nvptx_init): Change return type to bool.
4412 (nvptx_fini): Remove.
4413 (nvptx_attach_host_thread_to_device): New.
4414 (nvptx_open_device): Return struct ptx_device* instead of void*.
4415 (nvptx_close_device): Change argument type to struct ptx_device*,
4416 return type to void.
4417 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
4418 (kernel_target_data, kernel_host_table): Remove static globals.
4419 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
4420 (GOMP_OFFLOAD_init_device): Reimplement.
4421 (GOMP_OFFLOAD_fini_device): Likewise.
4422 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
4423 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
4424 (GOMP_OFFLOAD_host2dev): Use ORD argument.
4425 (GOMP_OFFLOAD_openacc_open_device)
4426 (GOMP_OFFLOAD_openacc_close_device)
4427 (GOMP_OFFLOAD_openacc_set_device_num)
4428 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
4429 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
4430 (device number).
4431
4432 testsuite/
4433 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
4434
4435 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
4436
4437 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
4438 * libgomp.h (struct gomp_memory_mapping): Remove.
4439 (struct target_mem_desc): Change type of mem_map from
4440 gomp_memory_mapping * to splay_tree_s *.
4441 (struct gomp_device_descr): Remove register_image_func, get_table_func.
4442 Add load_image_func, unload_image_func.
4443 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
4444 Remove offload_regions_registered.
4445 (gomp_init_tables): Remove.
4446 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4447 to splay_tree_s *.
4448 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
4449 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
4450 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
4451 offload_regions_registered.
4452 Initialize load_image_func, unload_image_func, mem_map.root.
4453 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
4454 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
4455 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
4456 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
4457 gomp_memory_mapping *. Use dev's lock and splay_tree.
4458 (lookup_dev): Use dev's lock.
4459 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
4460 (acc_is_present): Likewise.
4461 (acc_map_data): Likewise.
4462 (acc_unmap_data): Likewise. Use dev's lock.
4463 (present_create_copy): Likewise.
4464 (delete_copyout): Pass dev to lookup_host instead of mem_map.
4465 (update_dev_host): Likewise.
4466 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
4467 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
4468 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
4469 (GOMP_OFFLOAD_get_table): Remove
4470 (GOMP_OFFLOAD_load_image): New function.
4471 (GOMP_OFFLOAD_unload_image): New function.
4472 * target.c (register_lock): New mutex for offload image registration.
4473 (num_devices): Do not guard with PLUGIN_SUPPORT.
4474 (gomp_realloc_unlock): New static function.
4475 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
4476 before gomp_fatal.
4477 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
4478 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
4479 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
4480 mem_map's.
4481 (gomp_unmap_vars): Likewise.
4482 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
4483 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
4484 (gomp_offload_image_to_device): New static function.
4485 (GOMP_offload_register): Add mutex lock.
4486 Call gomp_offload_image_to_device for all initialized devices.
4487 Replace gomp_realloc with gomp_realloc_unlock.
4488 (GOMP_offload_unregister): New function.
4489 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
4490 get_table_func from the plugin with calls to init_device_func and
4491 gomp_offload_image_to_device.
4492 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4493 to splay_tree_s *.
4494 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
4495 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
4496 (GOMP_target_data): Do not call gomp_init_tables.
4497 (GOMP_target_update): Likewise. Remove argument from gomp_update.
4498 (gomp_load_plugin_for_device): Replace register_image and get_table
4499 with load_image and unload_image in DLSYM ().
4500 (gomp_register_images_for_device): Remove function.
4501 (gomp_target_init): Do not initialize current_device.mem_map.*,
4502 current_device.offload_regions_registered.
4503 Remove call to gomp_register_images_for_device.
4504 Do not free offload_images and num_offload_images.
4505
4506 2015-03-30 Jakub Jelinek <jakub@redhat.com>
4507
4508 PR fortran/65597
4509 * testsuite/libgomp.fortran/pr65597.f90: New test.
4510
4511 2015-03-27 Tom de Vries <tom@codesourcery.com>
4512
4513 PR testsuite/65594
4514 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
4515 (init, check): New function.
4516 (foo): Change return type to void.
4517 (main): Call init and check.
4518
4519 2015-03-27 Tom de Vries <tom@codesourcery.com>
4520
4521 PR testsuite/65594
4522 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
4523 (foo): Use M for non-inner loops to scale down test-case.
4524
4525 2015-03-25 Kai Tietz <ktietz@redhat.com>
4526
4527 PR libgomp/64972
4528 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
4529 (GOACC_data_start): Likewise.
4530 * target.c (gomp_map_vars): Likewise.
4531
4532 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
4533
4534 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
4535 hppa*-*-hpux*.
4536
4537 2015-03-19 Jakub Jelinek <jakub@redhat.com>
4538
4539 * testsuite/libgomp.c/target-10.c: New test.
4540 * testsuite/libgomp.c++/target-4.C: New test.
4541
4542 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
4543
4544 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
4545 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
4546
4547 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
4548
4549 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
4550 * configure.ac (*-*-rtems*): Assume Pthread is supported.
4551 (pthread.h): Check for this header file.
4552 * configure: Regenerate.
4553
4554 2015-02-25 Tom de Vries <tom@codesourcery.com>
4555
4556 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
4557 (check_reduction_op, check_reduction_macro, max, min):
4558 Declare.
4559 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
4560 function.
4561 (main): Use new functions.
4562
4563 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
4564
4565 * target.c (gomp_load_plugin_for_device): Use const char * instead of
4566 char * for variables holding dlerror return values.
4567 (DLSYM_OPT): Ditto.
4568
4569 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
4570
4571 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
4572
4573 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
4574 Cesar Philippidis <cesar@codesourcery.com>
4575
4576 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
4577 GOACC_ctaid, and GOACC_nctaid routines.
4578
4579 2015-02-11 Jakub Jelinek <jakub@redhat.com>
4580
4581 PR c/64824
4582 * testsuite/libgomp.c/atomic-18.c: New test.
4583 * testsuite/libgomp.c++/atomic-16.C: New test.
4584
4585 2015-02-04 Jakub Jelinek <jakub@redhat.com>
4586
4587 PR c/64824
4588 PR c/64868
4589 * testsuite/libgomp.c/pr64824.c: New test.
4590 * testsuite/libgomp.c/pr64868.c: New test.
4591 * testsuite/libgomp.c++/pr64824.C: New test.
4592 * testsuite/libgomp.c++/pr64868.C: New test.
4593
4594 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
4595
4596 PR libgomp/64635
4597 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
4598 Link with -lpthread.
4599 * config/aix/plugin-suffix.h: Delete.
4600
4601 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
4602
4603 PR libgomp/64635
4604 * configure.tgt (*-*-aix*): Use config_path "aix posix".
4605 (*-*-darwin*): Use config_path "bsd darwin posix".
4606 (*-*-hpux*): Use config_path "hpux posix".
4607 * target.c: Add include of plugin-suffix.h and use
4608 SONAME_SUFFIX macro.
4609 * config/aix/plugin-suffix.h: New file.
4610 * config/darwin/plugin-suffix.h: New file.
4611 * config/hpux/plugin-suffix.h: New file.
4612 * config/posix/plugin-suffix.h: New file.
4613
4614 2015-01-23 Jakub Jelinek <jakub@redhat.com>
4615
4616 PR middle-end/64734
4617 * libgomp.c/pr64734.c: New test.
4618
4619 2015-01-23 Tom de Vries <tom@codesourcery.com>
4620
4621 PR libgomp/64672
4622 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
4623
4624 2015-01-23 Tom de Vries <tom@codesourcery.com>
4625
4626 PR libgomp/64707
4627 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
4628 dg-options.
4629
4630 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
4631
4632 PR libgomp/64625
4633 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
4634 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
4635 formal parameter. Update all users.
4636 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
4637 Document unused formal parameter.
4638
4639 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
4640
4641 * oacc-parallel.c: Don't include <alloca.h>.
4642 (GOACC_parallel): Use gomp_alloca instead of alloca.
4643
4644 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
4645
4646 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
4647
4648 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4649 James Norris <jnorris@codesourcery.com>
4650 Tom de Vries <tom@codesourcery.com>
4651 Julian Brown <julian@codesourcery.com>
4652 Cesar Philippidis <cesar@codesourcery.com>
4653 Nathan Sidwell <nathan@codesourcery.com>
4654 Tobias Burnus <burnus@net-b.de>
4655
4656 * Makefile.am (search_path): Add $(top_srcdir)/../include.
4657 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
4658 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
4659 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
4660 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
4661 Include $(top_srcdir)/plugin/Makefrag.am.
4662 (nodist_libsubinclude_HEADERS): Add openacc.h.
4663 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
4664 openacc.f90, openacc.mod, openacc_kinds.mod.
4665 (omp_lib.mod): Generalize into...
4666 (%.mod): ... this new rule.
4667 (openacc_kinds.mod, openacc.mod): New rules.
4668 * plugin/configfrag.ac: New file.
4669 * configure.ac: Move plugin/offloading support into it. Include
4670 it. Instantiate testsuite/libgomp-test-support.pt.exp.
4671 * plugin/Makefrag.am: New file.
4672 * testsuite/Makefile.am (OFFLOAD_TARGETS)
4673 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
4674 export.
4675 (libgomp-test-support.exp): New rule.
4676 (all-local): Depend on it.
4677 * Makefile.in: Regenerate.
4678 * testsuite/Makefile.in: Regenerate.
4679 * config.h.in: Likewise.
4680 * configure: Likewise.
4681 * configure.tgt: Harden shell syntax.
4682 * env.c: Include "oacc-int.h".
4683 (parse_acc_device_type): New function.
4684 (gomp_debug_var, goacc_device_type, goacc_device_num): New
4685 variables.
4686 (initialize_env): Initialize those. Call
4687 goacc_runtime_initialize.
4688 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
4689 (gomp_fatal): Call gomp_vfatal.
4690 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
4691 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
4692 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
4693 (splay_tree_node, splay_tree, splay_tree_key)
4694 (struct target_mem_desc, struct splay_tree_key_s)
4695 (struct gomp_memory_mapping, struct acc_dispatch_t)
4696 (struct gomp_device_descr, gomp_acc_insert_pointer)
4697 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
4698 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
4699 (gomp_free_memmap, gomp_fini_device): New declarations.
4700 (gomp_vdebug, gomp_debug): New macros.
4701 Include "splay-tree.h".
4702 * libgomp.map (OACC_2.0): New symbol version. Use for
4703 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
4704 acc_set_device_type_h_, acc_get_device_type,
4705 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
4706 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
4707 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
4708 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
4709 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
4710 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
4711 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
4712 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
4713 acc_copyin_array_h_, acc_present_or_copyin,
4714 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
4715 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
4716 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
4717 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
4718 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
4719 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
4720 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
4721 acc_update_device, acc_update_device_32_h_,
4722 acc_update_device_64_h_, acc_update_device_array_h_,
4723 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
4724 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
4725 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
4726 acc_is_present_64_h_, acc_is_present_array_h_,
4727 acc_memcpy_to_device, acc_memcpy_from_device,
4728 acc_get_current_cuda_device, acc_get_current_cuda_context,
4729 acc_get_cuda_stream, acc_set_cuda_stream.
4730 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
4731 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
4732 GOACC_update, GOACC_wait, GOACC_get_thread_num,
4733 GOACC_get_num_threads.
4734 (GOMP_PLUGIN_1.0): New symbol version. Use for
4735 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
4736 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
4737 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
4738 GOMP_PLUGIN_acc_thread.
4739 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
4740 environment variable.
4741 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
4742 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
4743 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
4744 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
4745 (splay_tree_remove): New declarations.
4746 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
4747 (splay_tree_remove, splay_tree_lookup): Move into...
4748 * splay-tree.c: ... this new file.
4749 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
4750 (splay_tree_node, splay_tree, splay_tree_key)
4751 (struct target_mem_desc, struct splay_tree_key_s)
4752 (struct gomp_device_descr): Don't declare.
4753 (num_devices_openmp): New variable.
4754 (gomp_get_num_devices ): Use it.
4755 (gomp_init_targets_once): New function.
4756 (gomp_get_num_devices ): Use it.
4757 (get_kind, gomp_copy_from_async, gomp_free_memmap)
4758 (gomp_fini_device, gomp_register_image_for_device): New functions.
4759 (gomp_map_vars): Add devaddrs parameter.
4760 (gomp_update): Add mm parameter.
4761 (gomp_init_device): Move most of it into...
4762 (gomp_init_tables): ... this new function.
4763 (gomp_register_images_for_device): Remove function.
4764 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
4765 Make them hidden instead of static.
4766 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
4767 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
4768 (GOMP_target_end_data, GOMP_target_update)
4769 (gomp_load_plugin_for_device, gomp_target_init): Update for
4770 OpenACC changes.
4771 * oacc-async.c: New file.
4772 * oacc-cuda.c: Likewise.
4773 * oacc-host.c: Likewise.
4774 * oacc-init.c: Likewise.
4775 * oacc-int.h: Likewise.
4776 * oacc-mem.c: Likewise.
4777 * oacc-parallel.c: Likewise.
4778 * oacc-plugin.c: Likewise.
4779 * oacc-plugin.h: Likewise.
4780 * oacc-ptx.h: Likewise.
4781 * openacc.f90: Likewise.
4782 * openacc.h: Likewise.
4783 * openacc_lib.h: Likewise.
4784 * plugin/plugin-host.c: Likewise.
4785 * plugin/plugin-nvptx.c: Likewise.
4786 * libgomp-plugin.c: Likewise.
4787 * libgomp-plugin.h: Likewise.
4788 * libgomp_target.h: Remove file after merging content into the
4789 former file. Update all users.
4790 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
4791 (offload_targets_s, offload_targets_s_openacc): New variables.
4792 (check_effective_target_openacc_nvidia_accel_present)
4793 (check_effective_target_openacc_nvidia_accel_selected): New
4794 procedures.
4795 (libgomp_init): Update for OpenACC changes.
4796 * testsuite/libgomp-test-support.exp.in: New file.
4797 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4798 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4799 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4800 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
4801 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
4802 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4803 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
4804 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4805 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4806 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
4807 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
4808 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4809 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
4810 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4811 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
4812 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4813 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4814 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4815 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4816 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4817 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4818 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4819 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4820 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4821 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4822 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4823 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4824 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4825 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4826 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4827 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4828 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4829 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4830 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
4831 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
4832 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4833 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4834 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4835 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
4836 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4837 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4838 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4839 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4840 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4841 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4842 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
4843 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4844 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4845 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4846 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4847 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4848 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4849 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4850 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4851 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4852 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4853 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4854 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4855 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4856 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
4857 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4858 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
4859 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4860 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4861 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4862 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
4863 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
4864 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4865 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4866 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4867 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
4868 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4869 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4870 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4871 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
4872 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
4873 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4875 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
4876 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
4877 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
4878 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
4879 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4880 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4881 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
4883 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
4884 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4885 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4886 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
4887 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4888 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
4889 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
4890 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4891 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4892 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4893 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4894 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
4895 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4896 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4897 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4898 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
4899 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4900 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4901 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4902 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4903 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4904 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4905 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4906 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4907 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4908 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4909 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4910 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4911 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4912 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4913 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4914 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4915 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4916 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4917 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4918 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4919 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4920 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4921 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4922 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4923 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4924 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
4925 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
4926 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
4927 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
4928 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
4929 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4930 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
4931 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4932 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4933 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4934 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4935 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4936 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
4937 Likewise.
4938 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
4939 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
4940 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
4941 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4942 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
4943 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4944 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4945 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4946 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4947 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4948 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4949 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4950 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4951 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4952 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4953 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4954 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4955 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4956 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4957 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4958 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4959 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4960 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4961 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4962 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4963 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4964 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4965 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4966 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4967 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4968 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4969 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4970 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4971 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4972 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4973 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4974 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4975 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4976 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4977 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4978 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4979 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4980 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4981 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4982 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4983 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4984 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4985 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4986 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4987 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4988 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4989 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4990 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4991 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4992 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4993 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4994 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4995 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4996 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4997 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4998
4999 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
5000 Julian Brown <julian@codesourcery.com>
5001 David Malcolm <dmalcolm@redhat.com>
5002
5003 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
5004 to "GNU Offloading and Multi Processing Runtime Library". Change
5005 all users.
5006 * configure: Regenerate.
5007 * libgomp.texi: Update.
5008
5009 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
5010
5011 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
5012 "$tgt_dir/lib32".
5013 * configure: Regenerate.
5014
5015 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
5016 "intelmic" in $offload_targets.
5017
5018 2015-01-05 Jakub Jelinek <jakub@redhat.com>
5019
5020 Update copyright years.
5021
5022 * libgomp.texi: Bump @copying's copyright year.
5023
5024 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5025
5026 * testsuite/lib/libgomp.exp: Load target-utils.exp.
5027 Move load of target-supportes.exp earlier.
5028
5029 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
5030
5031 * testsuite/libgomp.c/target-9.c: New test.
5032
5033 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
5034
5035 * config.h.in: Regenerate.
5036 * configure: Regenerate.
5037 * configure.ac: Add GCC_CHECK_EMUTLS.
5038 * libgomp.h: Add check for USE_EMUTLS: this case
5039 is equal to HAVE_TLS.
5040 * team.c: Likewise.
5041
5042 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
5043
5044 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
5045
5046 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
5047 Ilya Verbin <ilya.verbin@intel.com>
5048
5049 * testsuite/libgomp.c/target-critical-1.c: New test.
5050
5051 2014-11-26 Jakub Jelinek <jakub@redhat.com>
5052
5053 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
5054 to dg-options unless expensive testing is on.
5055 (TESTITERS): Define to N if not defined.
5056 (main): Use TESTITERS instead of N.
5057 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
5058 dg-additional-options depending on whether expensive testing is on.
5059 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
5060 Decrease N to 100000 and CHUNKSZ to 10000.
5061
5062 2014-11-24 Jakub Jelinek <jakub@redhat.com>
5063
5064 PR fortran/63938
5065 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
5066 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
5067
5068 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
5069
5070 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
5071
5072 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
5073
5074 PR bootstrap/63784
5075 * configure: Regenerated.
5076
5077 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
5078
5079 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
5080 vect_simd_clones effective target.
5081 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
5082
5083 2014-11-14 Jakub Jelinek <jakub@redhat.com>
5084
5085 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
5086 of 32 as block_size.
5087 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
5088 instead of 32 as block_size.
5089
5090 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
5091 Ilya Verbin <ilya.verbin@intel.com>
5092
5093 * Makefile.in: Regenerate.
5094 * configure: Regenerate.
5095 * configure.ac: Set up offload_additional_options,
5096 offload_additional_lib_paths and offload_targets.
5097 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
5098 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
5099 * testsuite/Makefile.in: Regenerate.
5100 * testsuite/lib/libgomp.exp (libgomp_init): Append
5101 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
5102 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
5103 build directory to LD_LIBRARY_PATH for intelmic offload targets.
5104
5105 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
5106 Ilya Verbin <ilya.verbin@intel.com>
5107 Kirill Yukhin <kirill.yukhin@intel.com>
5108 Ilya Tocar <ilya.tocar@intel.com>
5109
5110 * testsuite/lib/libgomp.exp
5111 (check_effective_target_offload_device): New.
5112 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
5113 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
5114 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
5115 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
5116 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
5117 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
5118 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
5119 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
5120 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
5121 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
5122 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
5123 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
5124 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
5125 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
5126 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
5127 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
5128 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
5129 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
5130 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
5131 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
5132 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
5133 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
5134 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
5135 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
5136 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
5137 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
5138 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
5139 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
5140 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
5141 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
5142 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
5143 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
5144 * testsuite/libgomp.c/target-7.c: Fix test.
5145 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
5146 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
5147 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
5148 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
5149 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
5150 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
5151 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
5152 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
5153 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
5154 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
5155 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
5156 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
5157 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
5158 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
5159 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
5160 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
5161 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
5162 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
5163 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
5164 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
5165 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
5166 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
5167 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
5168 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
5169 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
5170 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
5171 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
5172 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
5173 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
5174 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
5175 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
5176
5177 2014-11-13 Jakub Jelinek <jakub@redhat.com>
5178 Ilya Verbin <ilya.verbin@intel.com>
5179 Thomas Schwinge <thomas@codesourcery.com>
5180 Andrey Turetskiy <andrey.turetskiy@intel.com>
5181
5182 * libgomp.map (GOMP_4.0.1): New symbol version.
5183 Add GOMP_offload_register.
5184 * libgomp_target.h: New file.
5185 * splay-tree.h: New file.
5186 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
5187 (gomp_target_init): New forward declaration.
5188 (gomp_is_initialized): New static variable.
5189 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
5190 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
5191 New structures.
5192 (offload_images, num_offload_images, devices, num_devices): New static
5193 variables.
5194 (splay_compare): New static function.
5195 (struct gomp_device_descr): New structure.
5196 (gomp_get_num_devices): Call gomp_target_init.
5197 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
5198 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
5199 (GOMP_offload_register): New function.
5200 (GOMP_target): Arrange for host callback to be performed in a separate
5201 initial thread and contention group, inheriting ICVs from
5202 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
5203 Add device initialization and lookup for target function in splay tree.
5204 (GOMP_target_data): Add device initialization and call gomp_map_vars.
5205 (GOMP_target_end_data): Call gomp_unmap_vars.
5206 (GOMP_target_update): Add device initialization and call gomp_update.
5207 (gomp_load_plugin_for_device, gomp_register_images_for_device)
5208 (gomp_target_init): New static functions.
5209
5210 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
5211 Thomas Schwinge <thomas@codesourcery.com>
5212 Ilya Verbin <ilya.verbin@intel.com>
5213 Andrey Turetskiy <andrey.turetskiy@intel.com>
5214
5215 * config.h.in: Regenerate.
5216 * configure: Regenerate.
5217 * configure.ac: Check for libdl, required for plugin support.
5218 (PLUGIN_SUPPORT): Define if plugins are supported.
5219 (enable_offload_targets): Support Intel MIC targets.
5220 (OFFLOAD_TARGETS): List of target names suitable for offloading.
5221
5222 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5223
5224 PR target/63610
5225 * configure: Regenerate.
5226
5227 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5228
5229 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
5230
5231 2014-10-06 Marek Polacek <polacek@redhat.com>
5232
5233 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
5234 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
5235 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
5236 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5237
5238 2014-10-06 Marek Polacek <polacek@redhat.com>
5239
5240 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
5241 * testsuite/libgomp.c/nqueens-1.c: Likewise.
5242 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5243 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5244 * testsuite/libgomp.c/pr36802-2.c: Likewise.
5245 * testsuite/libgomp.c/pr36802-3.c: Likewise.
5246 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
5247 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5248 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
5249 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
5250 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
5251 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
5252 * testsuite/libgomp.c/omp-single-1.c: Likewise.
5253 * testsuite/libgomp.c/omp-single-2.c: Likewise.
5254 * testsuite/libgomp.c/omp_matvec.c: Likewise.
5255 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
5256 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
5257 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
5258 declarations.
5259
5260 2014-10-03 Jakub Jelinek <jakub@redhat.com>
5261
5262 PR libgomp/61200
5263 * testsuite/libgomp.c/pr61200.c: New test.
5264
5265 2014-09-18 Jakub Jelinek <jakub@redhat.com>
5266
5267 PR c++/63248
5268 * testsuite/libgomp.c++/pr63248.C: New test.
5269
5270 2014-08-04 Jakub Jelinek <jakub@redhat.com>
5271
5272 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
5273 is not zero, but taskgroup->children is NULL and there are
5274 any task->children, schedule those instead of waiting.
5275 * testsuite/libgomp.c/depend-6.c: New test.
5276 * testsuite/libgomp.c/depend-7.c: New test.
5277 * testsuite/libgomp.c/depend-8.c: New test.
5278 * testsuite/libgomp.c/depend-9.c: New test.
5279 * testsuite/libgomp.c/depend-10.c: New test.
5280
5281 2014-08-01 Jakub Jelinek <jakub@redhat.com>
5282
5283 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
5284 (struct gomp_taskwait): New type.
5285 (struct gomp_task): Add taskwait and parent_depends_on, remove
5286 in_taskwait and taskwait_sem fields.
5287 (gomp_finish_task): Don't destroy taskwait_sem.
5288 * task.c (gomp_init_task): Don't init in_taskwait, instead init
5289 taskwait and parent_depends_on.
5290 (GOMP_task): For if (0) tasks with depend clause that depend on
5291 earlier tasks don't defer them, instead call
5292 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
5293 Initialize redundant_out field, for redundant out entries just
5294 move them at the end of linked list instead of removing them
5295 completely, and set redundant_out flag instead of redundant.
5296 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
5297 that task.
5298 (gomp_task_run_post_handle_dependers): If parent is in
5299 gomp_task_maybe_wait_for_dependencies and newly runnable task
5300 is not parent_depends_on, queue it in parent->children linked
5301 list after all runnable tasks with parent_depends_on set.
5302 Adjust for addition of taskwait indirection.
5303 (gomp_task_run_post_remove_parent): If parent is in
5304 gomp_task_maybe_wait_for_dependencies and task to be removed
5305 is parent_depends_on, decrement n_depend and if needed awake
5306 parent. Adjust for addition of taskwait indirection.
5307 (GOMP_taskwait): Adjust for addition of taskwait indirection.
5308 (gomp_task_maybe_wait_for_dependencies): New function.
5309 * testsuite/libgomp.c/depend-5.c: New test.
5310
5311 2014-07-13 Tobias Burnus <burnus@net-b.de>
5312
5313 * testsuite/libgomp.fortran/pr34020.f90: Make compile
5314 with TS 18508/Fortran 2015.
5315
5316 2014-07-06 Marek Polacek <polacek@redhat.com>
5317
5318 PR c/6940
5319 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
5320
5321 2014-07-03 Jakub Jelinek <jakub@redhat.com>
5322
5323 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
5324 matches regex $lang_source_re, add $lang_include_flags to options.
5325 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
5326 * testsuite/libgomp.c++/c++.exp: Likewise.
5327 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
5328 and lang_include_flags instead of adding -fintrinsic-modules-path= to
5329 ALWAYS_CFLAGS.
5330 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
5331
5332 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
5333
5334 * testsuite/libgomp.fortran/fortran.exp: Explain
5335 gfortran-dg-runtest usage.
5336
5337 2014-06-25 Jakub Jelinek <jakub@redhat.com>
5338
5339 * testsuite/libgomp.fortran/simd5.f90: New test.
5340 * testsuite/libgomp.fortran/simd6.f90: New test.
5341 * testsuite/libgomp.fortran/simd7.f90: New test.
5342
5343 2014-06-24 Jakub Jelinek <jakub@redhat.com>
5344
5345 * testsuite/libgomp.c/for-2.c: Define SC to static for
5346 #pragma omp for simd testing.
5347 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
5348 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
5349 SC macro.
5350 * testsuite/libgomp.c/simd-14.c: New test.
5351 * testsuite/libgomp.c/simd-15.c: New test.
5352 * testsuite/libgomp.c/simd-16.c: New test.
5353 * testsuite/libgomp.c/simd-17.c: New test.
5354 * testsuite/libgomp.c++/for-10.C: Define SC to static for
5355 #pragma omp for simd testing.
5356 * testsuite/libgomp.c++/simd10.C: New test.
5357 * testsuite/libgomp.c++/simd11.C: New test.
5358 * testsuite/libgomp.c++/simd12.C: New test.
5359 * testsuite/libgomp.c++/simd13.C: New test.
5360
5361 * testsuite/libgomp.fortran/aligned1.f03: New test.
5362 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
5363 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
5364 tasks with !$omp parallel !$omp single.
5365 * testsuite/libgomp.fortran/target8.f90: New test.
5366 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
5367 not to use trim in the combiner, instead call elemental function.
5368 (fn): New elemental function.
5369 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
5370 Make elemental.
5371 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
5372 omp_in): Likewise.
5373 * testsuite/libgomp.fortran/udr12.f90: New test.
5374 * testsuite/libgomp.fortran/udr13.f90: New test.
5375 * testsuite/libgomp.fortran/udr14.f90: New test.
5376 * testsuite/libgomp.fortran/udr15.f90: New test.
5377
5378 2014-06-18 Jakub Jelinek <jakub@redhat.com>
5379
5380 * omp_lib.f90.in (openmp_version): Set to 201307.
5381 * omp_lib.h.in (openmp_version): Likewise.
5382 * testsuite/libgomp.c/target-8.c: New test.
5383 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
5384 and inbranch clauses.
5385 * testsuite/libgomp.fortran/depend-3.f90: New test.
5386 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
5387 openmp_version.
5388 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5389 * testsuite/libgomp.fortran/target1.f90: New test.
5390 * testsuite/libgomp.fortran/target2.f90: New test.
5391 * testsuite/libgomp.fortran/target3.f90: New test.
5392 * testsuite/libgomp.fortran/target4.f90: New test.
5393 * testsuite/libgomp.fortran/target5.f90: New test.
5394 * testsuite/libgomp.fortran/target6.f90: New test.
5395 * testsuite/libgomp.fortran/target7.f90: New test.
5396
5397 2014-06-10 Jakub Jelinek <jakub@redhat.com>
5398
5399 PR fortran/60928
5400 * testsuite/libgomp.fortran/allocatable9.f90: New test.
5401 * testsuite/libgomp.fortran/allocatable10.f90: New test.
5402 * testsuite/libgomp.fortran/allocatable11.f90: New test.
5403 * testsuite/libgomp.fortran/allocatable12.f90: New test.
5404 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
5405 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
5406 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
5407 * testsuite/libgomp.fortran/associate1.f90: New test.
5408 * testsuite/libgomp.fortran/associate2.f90: New test.
5409 * testsuite/libgomp.fortran/procptr1.f90: New test.
5410
5411 2014-06-06 Jakub Jelinek <jakub@redhat.com>
5412
5413 * testsuite/libgomp.fortran/simd1.f90: New test.
5414 * testsuite/libgomp.fortran/udr1.f90: New test.
5415 * testsuite/libgomp.fortran/udr2.f90: New test.
5416 * testsuite/libgomp.fortran/udr3.f90: New test.
5417 * testsuite/libgomp.fortran/udr4.f90: New test.
5418 * testsuite/libgomp.fortran/udr5.f90: New test.
5419 * testsuite/libgomp.fortran/udr6.f90: New test.
5420 * testsuite/libgomp.fortran/udr7.f90: New test.
5421 * testsuite/libgomp.fortran/udr8.f90: New test.
5422 * testsuite/libgomp.fortran/udr9.f90: New test.
5423 * testsuite/libgomp.fortran/udr10.f90: New test.
5424 * testsuite/libgomp.fortran/udr11.f90: New test.
5425
5426 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
5427
5428 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
5429 vect_simd_clones effective target.
5430 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
5431
5432 2014-05-21 Jakub Jelinek <jakub@redhat.com>
5433
5434 PR middle-end/61252
5435 * testsuite/libgomp.c++/simd-9.C: New test.
5436
5437 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
5438
5439 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
5440 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
5441 texts according to their @menu entry positions.
5442
5443 2014-05-11 Jakub Jelinek <jakub@redhat.com>
5444
5445 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
5446 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
5447 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
5448 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
5449 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
5450 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
5451 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
5452 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
5453 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
5454 * testsuite/libgomp.fortran/depend-1.f90: New test.
5455 * testsuite/libgomp.fortran/depend-2.f90: New test.
5456 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
5457 * testsuite/libgomp.fortran/simd1.f90: New test.
5458 * testsuite/libgomp.fortran/simd2.f90: New test.
5459 * testsuite/libgomp.fortran/simd3.f90: New test.
5460 * testsuite/libgomp.fortran/simd4.f90: New test.
5461 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
5462
5463 2014-05-02 Jakub Jelinek <jakub@redhat.com>
5464
5465 * testsuite/libgomp.c/simd-10.c: New test.
5466 * testsuite/libgomp.c/simd-11.c: New test.
5467 * testsuite/libgomp.c/simd-12.c: New test.
5468 * testsuite/libgomp.c/simd-13.c: New test.
5469
5470 2014-04-24 Jakub Jelinek <jakub@redhat.com>
5471
5472 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
5473 atomic type clauses in any order and optional comma in between.
5474 * testsuite/libgomp.c++/atomic-15.C: Likewise.
5475 * testsuite/libgomp.c/atomic-17.c: Likewise.
5476
5477 * testsuite/libgomp.c/simd-7.c: New test.
5478 * testsuite/libgomp.c/simd-8.c: New test.
5479 * testsuite/libgomp.c/simd-9.c: New test.
5480 * testsuite/libgomp.c/loop-16.c: New test.
5481
5482 2014-04-02 Richard Henderson <rth@redhat.com>
5483
5484 * config/linux/futex.h (futex_wait): Get error value from errno.
5485 (futex_wake): Likewise.
5486
5487 2014-03-25 Jakub Jelinek <jakub@redhat.com>
5488
5489 PR c++/60331
5490 * testsuite/libgomp.c++/udr-11.C: New test.
5491 * testsuite/libgomp.c++/udr-12.C: New test.
5492 * testsuite/libgomp.c++/udr-13.C: New test.
5493 * testsuite/libgomp.c++/udr-14.C: New test.
5494 * testsuite/libgomp.c++/udr-15.C: New test.
5495 * testsuite/libgomp.c++/udr-16.C: New test.
5496 * testsuite/libgomp.c++/udr-17.C: New test.
5497 * testsuite/libgomp.c++/udr-18.C: New test.
5498 * testsuite/libgomp.c++/udr-19.C: New test.
5499
5500 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5501
5502 Update copyright years
5503
5504 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5505
5506 * hashtab.h: Use the standard form for the copyright notice.
5507
5508 2014-01-02 Tobias Burnus <burnus@net-b.de>
5509
5510 * libgomp.texi: Bump @copying's copyright year.
5511
5512 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
5513
5514 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
5515 alloca () with __builtin_alloca ().
5516 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
5517 * testsuite/libgomp.c/lock-3.c: Likewise.
5518 * testsuite/libgomp.c/pr48591.c: Likewise.
5519
5520 2013-12-17 Jakub Jelinek <jakub@redhat.com>
5521
5522 PR testsuite/59534
5523 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
5524 comparisons.
5525
5526 2013-12-16 Jakub Jelinek <jakub@redhat.com>
5527
5528 PR libgomp/58756
5529 * testsuite/libgomp.c/pr58756.c: New test.
5530
5531 2013-12-12 Jakub Jelinek <jakub@redhat.com>
5532
5533 PR libgomp/59467
5534 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
5535 !$omp parallel.
5536
5537 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
5538
5539 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
5540 ALWAYS_CFLAGS.
5541 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
5542 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
5543 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5544 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
5545 Likewise.
5546
5547 * libgomp_g.h: Include <stddef.h> for size_t.
5548
5549 * libgomp.spec.in: Update comment about libgomp's dependencies.
5550 * configure.ac: Likewise.
5551 * configure: Regenerate.
5552
5553 2013-10-16 Tobias Burnus <burnus@net-b.de>
5554
5555 * libgomp.texi: (Runtime Library Routines): Update references for
5556 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
5557 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
5558 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
5559 (Environment Variables): Update references for OpenMP 4.0. Add
5560 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
5561 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
5562 order.
5563
5564 2013-10-14 Jakub Jelinek <jakub@redhat.com>
5565
5566 * env.c (parse_bind_var): Initialize value to avoid
5567 (false positive) warning.
5568
5569 2013-10-12 Jakub Jelinek <jakub@redhat.com>
5570
5571 PR libgomp/58691
5572 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
5573 to check variable.
5574 (gomp_init_num_threads): Move i variable declaration into
5575 #ifdef CPU_ALLOC_SIZE block.
5576 * config/linux/affinity.c (gomp_affinity_init_level): Test
5577 gomp_places_list_len == 0 rather than gomp_places_list == 0
5578 when checking for topology reading error.
5579 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
5580 * env.c (parse_affinity): Add ignore argument, if true, don't populate
5581 gomp_places_list, only parse env var and always return false.
5582 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
5583 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
5584 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
5585 and either of these variables were parsed correctly into a places
5586 list.
5587
5588 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
5589 Jakub Jelinek <jakub@redhat.com>
5590
5591 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
5592 of 5 loopfn matches.
5593 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5594 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5595 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5596 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5597 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5598 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5599 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5600 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5601
5602 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
5603
5604 * Makefile.am (omp_lib.mod): Streamline rule.
5605 * Makefile.in: Regenerate.
5606
5607 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
5608 exceptions.
5609
5610 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
5611 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5612 * testsuite/libgomp.fortran/lib2.f: Likewise.
5613 * testsuite/libgomp.fortran/lib3.f: Likewise.
5614
5615 * configure.ac: Typo fix.
5616 * configure: Regenerate.
5617
5618 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
5619 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5620
5621 * omp.h.in: Don't touch the user's namespace.
5622
5623 2013-10-11 Jakub Jelinek <jakub@redhat.com>
5624 Tobias Burnus <burnus@net-b.de>
5625 Richard Henderson <rth@redhat.com>
5626
5627 * target.c: New file.
5628 * Makefile.am (libgomp_la_SOURCES): Add target.c.
5629 * Makefile.in: Regenerated.
5630 * libgomp_g.h (GOMP_task): Add depend argument.
5631 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5632 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5633 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
5634 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5635 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5636 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
5637 GOMP_taskgroup_start, GOMP_taskgroup_end,
5638 GOMP_parallel_sections): New prototypes.
5639 * fortran.c (omp_is_initial_device): Add ialias_redirect.
5640 (omp_is_initial_device_): New function.
5641 (ULP, STR1, STR2, ialias_redirect): Removed.
5642 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
5643 omp_set_default_device_8_, omp_get_default_device_,
5644 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
5645 functions.
5646 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5647 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5648 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
5649 @@GOMP_4.0.
5650 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
5651 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
5652 omp_set_default_device, omp_set_default_device_,
5653 omp_set_default_device_8_, omp_get_default_device,
5654 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
5655 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
5656 omp_get_team_num_): Export @@OMP_4.0.
5657 * team.c (struct gomp_thread_start_data): Add place field.
5658 (gomp_thread_start): Clear thr->thread_pool and
5659 thr->task before returning. Use gomp_team_barrier_wait_final
5660 instead of gomp_team_barrier_wait. Initialize thr->place.
5661 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
5662 team_cancelled and task_queued_count fields.
5663 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
5664 before calling pthread_exit.
5665 (gomp_free_thread): No longer static. Use
5666 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
5667 (gomp_team_start): Add flags argument. Set
5668 thr->thread_pool->threads_busy to nthreads immediately after creating
5669 new pool. Use gomp_managed_threads_lock instead of
5670 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
5671 (gomp_team_end): Use gomp_managed_threads_lock instead of
5672 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
5673 of gomp_team_barrier_wait. If team->team_cancelled, call
5674 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
5675 rather than thr->ts.work_share.
5676 (initialize_team): Don't call gomp_sem_init here.
5677 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
5678 caller.
5679 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
5680 * env.c (gomp_global_icv): Add default_device_var, target_data and
5681 bind_var initializers.
5682 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5683 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5684 gomp_places_list_len): New variables.
5685 (parse_bind_var, parse_one_place, parse_places_var): New functions.
5686 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
5687 sized places.
5688 (gomp_cancel_var): New global variable.
5689 (parse_int): New function.
5690 (handle_omp_display_env): New function.
5691 (initialize_env): Use it. Initialize default_device_var.
5692 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
5693 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
5694 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
5695 been successfully parsed (and call gomp_init_affinity in that case).
5696 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5697 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5698 omp_get_team_num, omp_is_initial_device): New functions.
5699 * libgomp.h: Include stdlib.h.
5700 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
5701 Define.
5702 (struct target_mem_desc): Forward declare.
5703 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
5704 and thread_limit_var fields.
5705 (gomp_get_num_devices): New prototype.
5706 (gomp_cancel_var): New extern decl.
5707 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
5708 team_cancelled and task_queued_count fields. Add comments about
5709 task_{,queued_,running_}count.
5710 (gomp_cancel_kind): New enum.
5711 (gomp_work_share_end_cancel): New prototype.
5712 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
5713 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
5714 and depend fields.
5715 (struct gomp_taskgroup): New type.
5716 (struct gomp_task_depend_entry,
5717 struct gomp_dependers_vec): New types.
5718 (gomp_finish_task): Free depend_hash if non-NULL.
5719 (struct gomp_team_state): Add place_partition_off
5720 and place_partition_len fields.
5721 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5722 gomp_places_list_len): New extern decls.
5723 (struct gomp_thread): Add place field.
5724 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5725 (gomp_init_thread_affinity): Add place argument.
5726 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5727 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5728 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5729 gomp_affinity_init_level, gomp_affinity_print_place): New
5730 prototypes.
5731 (gomp_team_start): Add flags argument.
5732 (gomp_thread_limit_var, gomp_remaining_threads_count,
5733 gomp_remaining_threads_lock): Remove.
5734 (gomp_managed_threads_lock): New variable.
5735 (struct gomp_thread_pool): Add threads_busy field.
5736 (gomp_free_thread): New prototype.
5737 * task.c: Include hashtab.h.
5738 (hash_entry_type): New typedef.
5739 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
5740 (gomp_init_task): Clear dependers, depend_hash, depend_count,
5741 copy_ctors_done and taskgroup fields.
5742 (GOMP_task): Add depend argument, handle depend clauses. If
5743 gomp_team_barrier_cancelled or if it's taskgroup has been
5744 cancelled, don't queue or start new tasks. Set copy_ctors_done
5745 field if needed. Initialize taskgroup field. If copy_ctors_done
5746 and already cancelled, don't discard the task. If taskgroup is
5747 non-NULL, enqueue the task into taskgroup queue. Increment
5748 num_children field in taskgroup. Increment task_queued_count.
5749 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
5750 gomp_task_run_post_remove_taskgroup): New inline functions.
5751 (gomp_task_run_post_handle_depend_hash,
5752 gomp_task_run_post_handle_dependers,
5753 gomp_task_run_post_handle_depend): New functions.
5754 (GOMP_taskwait): Use them. If more than one new tasks
5755 have been queued, wake other threads if needed.
5756 (gomp_barrier_handle_tasks): Likewise. If
5757 gomp_team_barrier_cancelled, don't start any new tasks, just free
5758 all tasks.
5759 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
5760 * omp_lib.f90.in
5761 (omp_proc_bind_kind, omp_proc_bind_false,
5762 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5763 omp_proc_bind_spread): New params.
5764 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5765 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5766 omp_get_team_num, omp_is_initial_device): New interfaces.
5767 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
5768 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
5769 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
5770 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
5771 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
5772 useless use omp_lib_kinds.
5773 * omp.h.in (omp_proc_bind_t): New typedef.
5774 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5775 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5776 omp_get_team_num, omp_is_initial_device): New prototypes.
5777 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
5778 through to gomp_team_start.
5779 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
5780 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
5781 Adjust gomp_parallel_loop_start callers.
5782 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5783 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5784 GOMP_loop_end_cancel): New functions.
5785 (GOMP_parallel_end): Add ialias_redirect.
5786 * hashtab.h: New file.
5787 * libgomp.texi (Environment Variables): Minor cleanup,
5788 update section refs to OpenMP 4.0rc2.
5789 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
5790 environment variables.
5791 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
5792 team->work_shares_to_free to thr->ts.work_share before calling
5793 free_work_share.
5794 (gomp_work_share_end_cancel): New function.
5795 * config/linux/proc.c: Include errno.h.
5796 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
5797 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
5798 sizeof (cpu_set_t) to determine number of iterations. Fix up check
5799 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
5800 gomp_cpuset_size is sizeof (cpu_set_t).
5801 (gomp_init_num_threads): Initialize gomp_cpuset_size,
5802 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
5803 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
5804 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
5805 contain any logical CPUs.
5806 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
5807 is NULL. Use gomp_cpusetp instead of &cpuset and pass
5808 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
5809 pthread_getaffinity_np. Check gomp_places_list instead of
5810 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
5811 * config/linux/bar.c (gomp_barrier_wait_end,
5812 gomp_barrier_wait_last): Use BAR_* defines.
5813 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5814 from state where needed. Set work_share_cancelled to 0 on last
5815 thread.
5816 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5817 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5818 functions.
5819 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
5820 Add cpusetsize argument.
5821 (gomp_cpuset_size, gomp_cpusetp): Declare.
5822 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
5823 (affinity_counter): Remove.
5824 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
5825 if CPU_ALLOC_SIZE isn't defined.
5826 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
5827 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
5828 bind current thread to the first place.
5829 (gomp_init_thread_affinity): Rewritten. Add place argument, just
5830 pthread_setaffinity_np to gomp_places_list[place].
5831 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5832 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5833 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5834 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
5835 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5836 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5837 (gomp_barrier_t): Add awaited_final field.
5838 (gomp_barrier_init): Initialize awaited_final field.
5839 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
5840 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
5841 prototypes.
5842 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
5843 defines.
5844 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
5845 gomp_team_barrier_cancelled): New inline functions.
5846 (gomp_barrier_last_thread,
5847 gomp_team_barrier_set_task_pending,
5848 gomp_team_barrier_clear_task_pending,
5849 gomp_team_barrier_set_waiting_for_tasks,
5850 gomp_team_barrier_waiting_for_tasks,
5851 gomp_team_barrier_done): Use BAR_* defines.
5852 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
5853 (gomp_barrier_wait_end): Use BAR_* defines.
5854 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
5855 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
5856 Use BAR_* defines.
5857 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
5858 gomp_team_barrier_cancel): New functions.
5859 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
5860 argument.
5861 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5862 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5863 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5864 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
5865 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5866 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5867 (gomp_barrier_t): Add cancellable field.
5868 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
5869 gomp_team_barrier_cancel): New prototypes.
5870 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
5871 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
5872 gomp_team_barrier_cancelled): New inline functions.
5873 (gomp_barrier_wait_start, gomp_barrier_last_thread,
5874 gomp_team_barrier_set_task_pending,
5875 gomp_team_barrier_clear_task_pending,
5876 gomp_team_barrier_set_waiting_for_tasks,
5877 gomp_team_barrier_waiting_for_tasks,
5878 gomp_team_barrier_done): Use BAR_* defines.
5879 * barrier.c (GOMP_barrier_cancel): New function.
5880 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
5881 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5882 omp_proc_bind_spread): New params.
5883 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5884 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5885 omp_get_team_num, omp_is_initial_device): New externals.
5886 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
5887 New functions.
5888 (gomp_resolve_num_threads): Adjust for thread_limit now being in
5889 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5890 infinity. If not nested, just return minimum of max_num_threads
5891 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
5892 to the returned value. Otherwise, don't update atomically
5893 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
5894 (GOMP_parallel_end): Adjust for thread_limit now being in
5895 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5896 infinity. Adjust threads_busy in the pool rather than
5897 gomp_remaining_threads_count. Remember team->nthreads and call
5898 gomp_team_end before adjusting threads_busy, if not nested
5899 afterwards, just set it to 1 non-atomically. Add ialias.
5900 (GOMP_parallel_start): Adjust gomp_team_start caller.
5901 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
5902 * testsuite/libgomp.c/affinity-1.c: New test.
5903 * testsuite/libgomp.c/atomic-15.c: New test.
5904 * testsuite/libgomp.c/atomic-16.c: New test.
5905 * testsuite/libgomp.c/atomic-17.c: New test.
5906 * testsuite/libgomp.c/cancel-for-1.c: New test.
5907 * testsuite/libgomp.c/cancel-for-2.c: New test.
5908 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
5909 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
5910 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
5911 * testsuite/libgomp.c/cancel-sections-1.c: New test.
5912 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
5913 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
5914 * testsuite/libgomp.c/depend-1.c: New test.
5915 * testsuite/libgomp.c/depend-2.c: New test.
5916 * testsuite/libgomp.c/depend-3.c: New test.
5917 * testsuite/libgomp.c/depend-4.c: New test.
5918 * testsuite/libgomp.c/for-1.c: New test.
5919 * testsuite/libgomp.c/for-1.h: New file.
5920 * testsuite/libgomp.c/for-2.c: New test.
5921 * testsuite/libgomp.c/for-2.h: New file.
5922 * testsuite/libgomp.c/for-3.c: New test.
5923 * testsuite/libgomp.c/pr58392.c: New test.
5924 * testsuite/libgomp.c/simd-1.c: New test.
5925 * testsuite/libgomp.c/simd-2.c: New test.
5926 * testsuite/libgomp.c/simd-3.c: New test.
5927 * testsuite/libgomp.c/simd-4.c: New test.
5928 * testsuite/libgomp.c/simd-5.c: New test.
5929 * testsuite/libgomp.c/simd-6.c: New test.
5930 * testsuite/libgomp.c/target-1.c: New test.
5931 * testsuite/libgomp.c/target-2.c: New test.
5932 * testsuite/libgomp.c/target-3.c: New test.
5933 * testsuite/libgomp.c/target-4.c: New test.
5934 * testsuite/libgomp.c/target-5.c: New test.
5935 * testsuite/libgomp.c/target-6.c: New test.
5936 * testsuite/libgomp.c/target-7.c: New test.
5937 * testsuite/libgomp.c/taskgroup-1.c: New test.
5938 * testsuite/libgomp.c/thread-limit-1.c: New test.
5939 * testsuite/libgomp.c/thread-limit-2.c: New test.
5940 * testsuite/libgomp.c/thread-limit-3.c: New test.
5941 * testsuite/libgomp.c/udr-1.c: New test.
5942 * testsuite/libgomp.c/udr-2.c: New test.
5943 * testsuite/libgomp.c/udr-3.c: New test.
5944 * testsuite/libgomp.c++/affinity-1.C: New test.
5945 * testsuite/libgomp.c++/atomic-10.C: New test.
5946 * testsuite/libgomp.c++/atomic-11.C: New test.
5947 * testsuite/libgomp.c++/atomic-12.C: New test.
5948 * testsuite/libgomp.c++/atomic-13.C: New test.
5949 * testsuite/libgomp.c++/atomic-14.C: New test.
5950 * testsuite/libgomp.c++/atomic-15.C: New test.
5951 * testsuite/libgomp.c++/cancel-for-1.C: New test.
5952 * testsuite/libgomp.c++/cancel-for-2.C: New test.
5953 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
5954 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
5955 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
5956 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
5957 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
5958 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
5959 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
5960 * testsuite/libgomp.c++/cancel-test.h: New file.
5961 * testsuite/libgomp.c++/for-9.C: New test.
5962 * testsuite/libgomp.c++/for-10.C: New test.
5963 * testsuite/libgomp.c++/for-11.C: New test.
5964 * testsuite/libgomp.c++/simd-1.C: New test.
5965 * testsuite/libgomp.c++/simd-2.C: New test.
5966 * testsuite/libgomp.c++/simd-3.C: New test.
5967 * testsuite/libgomp.c++/simd-4.C: New test.
5968 * testsuite/libgomp.c++/simd-5.C: New test.
5969 * testsuite/libgomp.c++/simd-6.C: New test.
5970 * testsuite/libgomp.c++/simd-7.C: New test.
5971 * testsuite/libgomp.c++/simd-8.C: New test.
5972 * testsuite/libgomp.c++/target-1.C: New test.
5973 * testsuite/libgomp.c++/target-2.C: New test.
5974 * testsuite/libgomp.c++/target-2-aux.cc: New file.
5975 * testsuite/libgomp.c++/target-3.C: New test.
5976 * testsuite/libgomp.c++/taskgroup-1.C: New test.
5977 * testsuite/libgomp.c++/udr-1.C: New test.
5978 * testsuite/libgomp.c++/udr-2.C: New test.
5979 * testsuite/libgomp.c++/udr-3.C: New test.
5980 * testsuite/libgomp.c++/udr-4.C: New test.
5981 * testsuite/libgomp.c++/udr-5.C: New test.
5982 * testsuite/libgomp.c++/udr-6.C: New test.
5983 * testsuite/libgomp.c++/udr-7.C: New test.
5984 * testsuite/libgomp.c++/udr-8.C: New test.
5985 * testsuite/libgomp.c++/udr-9.C: New test.
5986
5987 2013-09-20 Jakub Jelinek <jakub@redhat.com>
5988
5989 PR testsuite/57605
5990 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
5991 ALWAYS_CFLAGS.
5992
5993 2013-09-20 Alan Modra <amodra@gmail.com>
5994
5995 * configure: Regenerate.
5996
5997 2013-09-19 Jakub Jelinek <jakub@redhat.com>
5998
5999 * testsuite/libgomp.c/sections-2.c: New test.
6000
6001 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
6002
6003 * testsuite/libgomp.fortran/strassen.f90:
6004 Add dg-skip-if aarch64_tiny.
6005
6006 2013-06-20 Iain Sandoe <iain@codesourcery.com>
6007 Cesar Philippidis <cesar@codesourcery.com>
6008
6009 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
6010 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
6011 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
6012 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6013 * testsuite/libgomp.graphite/graphite.exp: Likewise.
6014 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
6015 Use dg-runtest rather than gfortran-dg-runtest.
6016
6017 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
6018
6019 * testsuite/libgomp.c/icv-2.c: Extend current handling of
6020 Linux-based x86 systems to cover all GNU systems.
6021 * testsuite/libgomp.c/lock-3.c: Likewise.
6022 * testsuite/libgomp.c/pr48591.c: Likewise.
6023
6024 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
6025
6026 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
6027 GNU/Hurd, as done for Linux-based systems.
6028
6029 * config/posix/ptrlock.h: Fix comment.
6030
6031 2013-05-27 Tobias Burnus <burnus@net-b.de>
6032
6033 PR fortran/57423
6034 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
6035 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
6036 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
6037 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
6038 omp_destroy_nest_lock): Correct arguments to match the one in
6039 the OpenMP spec.
6040 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
6041 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
6042 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
6043 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
6044
6045 2013-05-16 Jakub Jelinek <jakub@redhat.com>
6046
6047 * testsuite/libgomp.c/loop-13.c: New test.
6048 * testsuite/libgomp.c/loop-14.c: New test.
6049 * testsuite/libgomp.c/loop-15.c: New test.
6050 * testsuite/libgomp.c++/loop-13.C: New test.
6051 * testsuite/libgomp.c++/loop-14.C: New test.
6052 * testsuite/libgomp.c++/loop-15.C: New test.
6053
6054 2013-02-06 Jakub Jelinek <jakub@redhat.com>
6055
6056 PR middle-end/56217
6057 * testsuite/libgomp.c++/pr56217.C: New test.
6058
6059 2013-02-01 Alan Modra <amodra@gmail.com>
6060
6061 * task.c (GOMP_task, GOMP_taskwait): Comment.
6062
6063 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
6064 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
6065
6066 PR libgomp/55561
6067 * config/linux/wait.h (do_spin): Use atomic load for addr.
6068 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
6069 for intptr and ptrlock.
6070 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
6071 for ptrlock.
6072
6073 2013-01-22 Alan Modra <amodra@gmail.com>
6074
6075 PR libgomp/51376
6076 PR libgomp/56073
6077 * task.c (GOMP_task): Revert 2011-12-09 change.
6078 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
6079 barrier to read task->children..
6080 (gomp_barrier_handle_tasks): ..and matching atomic store with
6081 release barrier here when setting parent->children to NULL.
6082
6083 2013-01-16 Jakub Jelinek <jakub@redhat.com>
6084 Tobias Burnus <burnus@net-b.de>
6085
6086 PR driver/55884
6087 * testsuite/libgomp.fortran/fortran.exp: Use
6088 -fintrinsic-modules-path= instead of
6089 -fintrinsic-modules-path.
6090
6091 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
6092
6093 Update copyright years.
6094
6095 2012-12-19 Tobias Burnus <burnus@net-b.de>
6096
6097 * testsuite/libgomp.fortran/fortran.exp: Set
6098 -fintrinsic-modules-path.
6099
6100 2012-12-19 Tobias Burnus <burnus@net-b.de>
6101
6102 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
6103 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
6104
6105 2012-11-21 Jakub Jelinek <jakub@redhat.com>
6106
6107 PR libgomp/55411
6108 * team.c (gomp_free_thread): Decrease gomp_managed_threads
6109 if pool had any threads_used.
6110
6111 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
6112
6113 * testsuite/libgomp.c++/pr24455.C: Use
6114 -Wl,-undefined,dynamic_lookup on darwin.
6115
6116 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
6117
6118 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
6119
6120 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
6121
6122 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
6123
6124 2012-10-23 Ian Bolton <ian.bolton@arm.com>
6125 Jim MacArthur <jim.macarthur@arm.com>
6126 Marcus Shawcroft <marcus.shawcroft@arm.com>
6127 Nigel Stephens <nigel.stephens@arm.com>
6128 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6129 Richard Earnshaw <rearnsha@arm.com>
6130 Sofiane Naci <sofiane.naci@arm.com>
6131 Stephen Thomas <stephen.thomas@arm.com>
6132 Tejas Belagod <tejas.belagod@arm.com>
6133 Yufeng Zhang <yufeng.zhang@arm.com>
6134
6135 * configure.tgt: Add AArch64.
6136
6137 2012-10-04 Jason Merrill <jason@redhat.com>
6138
6139 * testsuite/libgomp.c++/tls-init1.C: New.
6140
6141 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
6142
6143 * configure: Regenerated.
6144
6145 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
6146
6147 * config/linux/mips/futex.h (sys_futex0): Change to static
6148 function with noinline, nomips16 attributes under MIPS16. Adjust
6149 asm statement to place 'li v0,SYS_futex' immediately before
6150 syscall insn.
6151
6152 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
6153
6154 * libgomp.texi (Library Index): Renamed from "Index" to prevent
6155 conflict with index.html on case-insensitive file systems.
6156
6157 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
6158
6159 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
6160 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
6161
6162 2012-07-02 Richard Guenther <rguenther@suse.de>
6163 Michael Matz <matz@suse.de>
6164 Tobias Grosser <tobias@grosser.es>
6165 Sebastian Pop <sebpop@gmail.com>
6166
6167 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
6168 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6169 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6170 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6171
6172 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
6173
6174 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
6175
6176 2012-06-22 Richard Guenther <rguenther@suse.de>
6177
6178 Merge from graphite branch
6179 2012-01-13 Tobias Grosser <tobias@grosser.es>
6180
6181 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6182 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6183
6184 2012-06-07 Jakub Jelinek <jakub@redhat.com>
6185
6186 PR middle-end/53580
6187 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
6188 use GOMP_barrier () call instead.
6189 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6190 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6191 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
6192 call GOMP_barrier instead.
6193 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6194
6195 2012-06-06 Jakub Jelinek <jakub@redhat.com>
6196
6197 PR libgomp/52993
6198 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
6199 argument to memset call.
6200
6201 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
6202
6203 * configure: Regenerated.
6204
6205 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6206
6207 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
6208
6209 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
6210
6211 PR bootstrap/52812
6212 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
6213
6214 2012-03-22 Jakub Jelinek <jakub@redhat.com>
6215
6216 PR middle-end/52547
6217 * testsuite/libgomp.c/pr52547.c: New test.
6218
6219 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6220
6221 * testsuite/lib/libgomp.exp: load fortran-modules.exp
6222
6223 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6224
6225 * configure.tgt (mips-sgi-irix6*): Remove.
6226
6227 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6228
6229 * configure.tgt (alpha*-dec-osf*): Remove.
6230
6231 * config/osf/sem.h: Remove.
6232 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
6233
6234 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
6235
6236 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
6237
6238 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6239
6240 PR libstdc++/52188
6241 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
6242 Remove ENABLE_SYMVERS_SOL2.
6243 * configure: Regenerate.
6244 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
6245 (PREPROCESS): New variable.
6246 (libgomp.ver): New target.
6247 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
6248 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
6249 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
6250 Use libgomp.ver.
6251 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
6252 * Makefile.in: Regenerate.
6253
6254 2012-02-14 Walter Lee <walt@tilera.com>
6255
6256 * configure.tgt: Handle tilegx and tilepro.
6257 * config/linux/tile/futex.h: New file.
6258
6259 2012-02-08 Richard Guenther <rguenther@suse.de>
6260
6261 PR tree-optimization/46886
6262 * testsuite/libgomp.c/pr46886.c: New testcase.
6263
6264 2012-01-25 Matthias Klose <doko@ubuntu.com>
6265
6266 * config/linux/arm: Remove empty directory.
6267 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
6268
6269 2011-12-09 Alan Modra <amodra@gmail.com>
6270
6271 PR libgomp/51376
6272 * task.c (GOMP_taskwait): Don't access task->children outside of
6273 task_lock mutex region.
6274 (GOMP_task): Likewise.
6275
6276 2011-12-06 Jakub Jelinek <jakub@redhat.com>
6277
6278 PR libgomp/51132
6279 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
6280 to file scope.
6281 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6282 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6283 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6284 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6285 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6286
6287 2011-12-02 Alan Modra <amodra@gmail.com>
6288
6289 * config/linux/affinity.c: Use atomic rather than sync builtin.
6290 * config/linux/lock.c: Likewise.
6291 * config/linux/ptrlock.h: Likewise.
6292 * config/linux/ptrlock.c: Likewise.
6293 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
6294 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
6295 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
6296 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
6297 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
6298 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
6299 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
6300 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
6301 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
6302 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
6303
6304 2011-11-30 Alan Modra <amodra@gmail.com>
6305
6306 PR libgomp/51298
6307 * config/linux/bar.h: Use atomic rather than sync builtins.
6308 * config/linux/bar.c: Likewise. Add missing acquire
6309 synchronisation on generation field.
6310 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
6311 double unlock.
6312
6313 2011-11-30 Alan Modra <amodra@gmail.com>
6314
6315 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
6316 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
6317 * config/linux/mutex.h: Use atomic rather than sync builtins.
6318 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
6319 * config/linux/omp-lock.h: Comment fix.
6320 * config/linux/arm/mutex.h: Delete.
6321 * config/linux/powerpc/mutex.h: Delete.
6322 * config/linux/ia64/mutex.h: Delete.
6323 * config/linux/mips/mutex.h: Delete.
6324
6325 2011-11-30 Alan Modra <amodra@gmail.com>
6326
6327 PR libgomp/51249
6328 * config/linux/sem.h: Rewrite.
6329 * config/linux/sem.c: Rewrite.
6330
6331 2011-11-28 Richard Henderson <rth@redhat.com>
6332
6333 * libgomp.h (enum memmodel): New.
6334
6335 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
6336
6337 * configure: Regenerate.
6338
6339 2011-10-10 Matthias Klose <doko@ubuntu.com>
6340
6341 * config/posix95: Remove empty directory.
6342
6343 2011-08-26 Jakub Jelinek <jakub@redhat.com>
6344
6345 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
6346
6347 2011-08-19 Jakub Jelinek <jakub@redhat.com>
6348
6349 PR fortran/49792
6350 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
6351 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
6352
6353 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6354
6355 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
6356
6357 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6358
6359 PR libgomp/49965
6360 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
6361
6362 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
6363
6364 * config/linux/proc.h: New.
6365 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
6366 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
6367 (gomp_init_num_threads): Update call to cpuset_popcount.
6368 (get_num_procs): Ditto.
6369 * config/linux/affinity.c (gomp_init_affinity): Call
6370 gomp_cpuset_popcount.
6371
6372 2011-08-02 Jakub Jelinek <jakub@redhat.com>
6373
6374 PR fortran/42041
6375 PR fortran/46752
6376 * omp.h.in (omp_in_final): New prototype.
6377 * omp_lib.f90.in (omp_in_final): New interface.
6378 (omp_integer_kind, omp_logical_kind): Remove
6379 and replace all its uses in the module with 4.
6380 (openmp_version): Change to 201107.
6381 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
6382 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
6383 kind for the parameters.
6384 (omp_in_final): New external.
6385 (openmp_version): Change to 201107.
6386 * task.c (omp_in_final): New function.
6387 (gomp_init_task): Initialize final_task.
6388 (GOMP_task): Remove unused attribute from flags. Handle final
6389 tasks.
6390 (GOMP_taskyield): New function.
6391 (omp_in_final): Return true if if (false) or final (true) task
6392 or descendant of final (true).
6393 * fortran.c (omp_in_final_): New function.
6394 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
6395 (GOMP_3.0): Export GOMP_taskyield.
6396 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
6397 variables.
6398 (parse_unsigned_long_list): New function.
6399 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
6400 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
6401 even if parse_affinity returned false.
6402 * config/linux/affinity.c (gomp_init_affinity): Handle
6403 gomp_cpu_affinity_len == 0.
6404 * libgomp_g.h (GOMP_taskyield): New prototype.
6405 * libgomp.h (struct gomp_task): Add final_task field.
6406 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
6407 * team.c (gomp_team_start): Override new task's nthreads_var icv
6408 if list form OMP_NUM_THREADS has been used and it has value for
6409 the new nesting level.
6410
6411 * testsuite/libgomp.c/atomic-11.c: New test.
6412 * testsuite/libgomp.c/atomic-12.c: New test.
6413 * testsuite/libgomp.c/atomic-13.c: New test.
6414 * testsuite/libgomp.c/atomic-14.c: New test.
6415 * testsuite/libgomp.c/reduction-6.c: New test.
6416 * testsuite/libgomp.c/task-5.c: New test.
6417 * testsuite/libgomp.c++/atomic-2.C: New test.
6418 * testsuite/libgomp.c++/atomic-3.C: New test.
6419 * testsuite/libgomp.c++/atomic-4.C: New test.
6420 * testsuite/libgomp.c++/atomic-5.C: New test.
6421 * testsuite/libgomp.c++/atomic-6.C: New test.
6422 * testsuite/libgomp.c++/atomic-7.C: New test.
6423 * testsuite/libgomp.c++/atomic-8.C: New test.
6424 * testsuite/libgomp.c++/atomic-9.C: New test.
6425 * testsuite/libgomp.c++/task-8.C: New test.
6426 * testsuite/libgomp.c++/reduction-4.C: New test.
6427 * testsuite/libgomp.fortran/allocatable7.f90: New test.
6428 * testsuite/libgomp.fortran/allocatable8.f90: New test.
6429 * testsuite/libgomp.fortran/crayptr3.f90: New test.
6430 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
6431 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
6432 * testsuite/libgomp.fortran/pointer1.f90: New test.
6433 * testsuite/libgomp.fortran/pointer2.f90: New test.
6434 * testsuite/libgomp.fortran/task4.f90: New test.
6435
6436 2011-08-02 Tobias Burnus <burnus@net-b.de>
6437
6438 * libgomp.texi: Update OpenMP spec references to 3.1.
6439 (omp_in_final,OMP_PROC_BIND): New sections.
6440 (OMP_NUM_THREADS): Document that the value can be now a list.
6441 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
6442
6443 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
6444
6445 * config/linux/x86/futex.h: Check __x86_64__ instead of
6446 __LP64__.
6447
6448 2011-07-29 Jakub Jelinek <jakub@redhat.com>
6449
6450 PR middle-end/49897
6451 PR middle-end/49898
6452 * testsuite/libgomp.c/pr49897-1.c: New test.
6453 * testsuite/libgomp.c/pr49897-2.c: New test.
6454 * testsuite/libgomp.c/pr49898-1.c: New test.
6455 * testsuite/libgomp.c/pr49898-2.c: New test.
6456
6457 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
6458
6459 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
6460 for ia32 instead of ilp32.
6461
6462 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
6463 * testsuite/libgomp.c/atomic-6.c: Likewise.
6464
6465 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
6466
6467 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
6468 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
6469
6470 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6471
6472 PR libgomp/45351
6473 * config/osf/sem.h: New file.
6474 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
6475
6476 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6477
6478 PR target/49541
6479 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
6480 ldflags.
6481
6482 2011-07-15 Jakub Jelinek <jakub@redhat.com>
6483
6484 * config/linux/wait.h (do_spin): New inline, largely copied
6485 from do_wait, just don't do futex_wait here, instead return true if
6486 it should be done.
6487 (do_wait): Implement using do_spin.
6488 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
6489 to prototype.
6490 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6491 __sync_bool_compare_and_swap, pass the oldval to
6492 gomp_mutex_lock_slow.
6493 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
6494 If all mutex contenders are just spinning and not sleeping, don't
6495 change state to 2 unnecessarily. Optimize the loop when state has
6496 already become 2 to use just one atomic operation per loop instead
6497 of two.
6498 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
6499 to prototype.
6500 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6501 __sync_bool_compare_and_swap, pass the oldval to
6502 gomp_mutex_lock_slow.
6503
6504 2011-06-22 Jakub Jelinek <jakub@redhat.com>
6505
6506 PR libgomp/49490
6507 * iter.c (gomp_iter_static_next): For chunk size 0
6508 only use n ceil/ nthreads size for the first
6509 n % nthreads threads in the team instead of
6510 all threads except for the last few ones which
6511 get less work or none at all.
6512 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
6513 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
6514 chunk argument, set run_sched_modifier to 0 for static
6515 resp. 1 for other kinds. If chunk argument is 0
6516 and not static, set value to 1.
6517
6518 2011-05-19 Jakub Jelinek <jakub@redhat.com>
6519
6520 PR c++/49043
6521 * testsuite/libgomp.c++/pr49043.C: New test.
6522
6523 PR c++/48869
6524 * testsuite/libgomp.c++/pr48869.C: New test.
6525
6526 2011-05-06 Jakub Jelinek <jakub@redhat.com>
6527
6528 PR fortran/48894
6529 * fortran.c: Include limits.h.
6530 (TO_INT): Define.
6531 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
6532 *set.
6533 (omp_set_num_threads_8_, omp_set_schedule_8_,
6534 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
6535 omp_get_team_size_8_): Use TO_INT macro.
6536 * testsuite/libgomp.fortran/pr48894.f90: New test.
6537
6538 2011-04-13 Jakub Jelinek <jakub@redhat.com>
6539
6540 PR middle-end/48591
6541 * testsuite/libgomp.c/pr48591.c: New test.
6542
6543 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6544
6545 PR bootstrap/48135
6546 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
6547 * configure: Regenerate.
6548
6549 2011-02-27 Jakub Jelinek <jakub@redhat.com>
6550
6551 PR fortran/47886
6552 * testsuite/libgomp.fortran/task3.f90: New test.
6553
6554 2011-02-24 Tobias Burnus <burnus@net-b.de>
6555
6556 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
6557
6558 2011-02-23 Jakub Jelinek <jakub@redhat.com>
6559
6560 PR libgomp/47854
6561 * libgomp.texi (omp_get_wtime): Don't say time in the past
6562 must be Unix Epoch.
6563
6564 2011-02-18 Jakub Jelinek <jakub@redhat.com>
6565
6566 PR libgomp/47804
6567 * testsuite/libgomp.fortran/fortran.exp: Check for both
6568 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
6569 but $blddir != "", still append ${blddir}/${lang_library_path}
6570 to ld_library_path.
6571
6572 2011-02-16 Tobias Burnus <burnus@net-b.de>
6573
6574 PR libgomp/47758
6575 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
6576 of libquadmath.a before adding its libpath to ldflags.
6577
6578 2011-02-14 Jakub Jelinek <jakub@redhat.com>
6579
6580 PR libgomp/47731
6581 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
6582 to FUTEX_WAIT futex syscall.
6583 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
6584
6585 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6586
6587 * configure: Regenerate.
6588
6589 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
6590
6591 PR libstdc++/36104
6592 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
6593
6594 2011-01-16 Gerald Pfeifer
6595
6596 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
6597
6598 2010-12-14 Jakub Jelinek <jakub@redhat.com>
6599
6600 PR fortran/46874
6601 * libgomp.fortran/allocatable6.f90: New test.
6602
6603 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6604
6605 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
6606 * configure: Regenerate.
6607
6608 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
6609
6610 PR target/40125
6611 PR lto/46695
6612 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
6613 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
6614 * aclocal.m4: Regenerate.
6615 * configure: Regenerate.
6616 * Makefile.in: Regenerate.
6617 * testsuite/Makefile.in: Regenerate.
6618
6619 2010-12-02 Jakub Jelinek <jakub@redhat.com>
6620
6621 PR fortran/46753
6622 * libgomp.fortran/pr46753.f90: New test.
6623
6624 PR libgomp/43706
6625 * env.c (initialize_env): Default to spin count 300000
6626 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
6627 is specified.
6628
6629 PR libgomp/45240
6630 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
6631 at the end if sync builtins aren't supported.
6632
6633 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6634
6635 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
6636
6637 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6638
6639 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
6640
6641 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
6642
6643 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
6644
6645 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6646 Tobias Burnus <burnus@net-b.de>
6647
6648 PR fortran/32049
6649 * configure.ac:
6650 * configure: Regenerate.
6651
6652 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
6653
6654 * config/linux/futex.h: New.
6655 * config/linux/arm/mutex.h: New.
6656 * configure.tgt (arm*-*-linux*): Add config path.
6657
6658 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6659
6660 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6661
6662 2010-09-23 Tobias Burnus <burnus@net-b.de>
6663
6664 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
6665 Change Fortran datatype to LOGICAL.
6666 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
6667 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
6668
6669 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6670
6671 * configure: Regenerate.
6672
6673 2010-07-26 Jakub Jelinek <jakub@redhat.com>
6674
6675 * libgomp.texi: Add function keyword to a couple of Fortran
6676 interfaces, use integer instead of int for Fortran.
6677
6678 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
6679
6680 * libgomp.texi: Fix spelling and pasto problems throughout.
6681 Adjust prototypes to match code.
6682
6683 2010-07-24 Tobias Burnus <burnus@net-b.de>
6684
6685 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
6686 silence -fwhole-file warning.
6687
6688 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6689
6690 * configure.tgt (*-*-solaris2.[56]*): Removed.
6691
6692 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6693
6694 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
6695 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
6696 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
6697 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
6698 targetting solaris2*.
6699 * configure: Regenerate.
6700 * config.h.in: Regenerate.
6701
6702 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
6703 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
6704 Add libgomp_version_dep.
6705 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
6706 versioning.
6707 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
6708 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
6709 * Makefile.in: Regenerate.
6710
6711 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
6712 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6713 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
6714 to common block, protected by
6715 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6716
6717 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
6718
6719 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
6720
6721 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
6722
6723 PR bootstrap/43170
6724 * configure: Regenerate.
6725
6726 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6727
6728 PR other/43620
6729 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
6730 * configure: Regenerate.
6731 * Makefile.in: Regenerate.
6732 * testsuite/Makefile.in: Regenerate.
6733
6734 2010-04-26 Jakub Jelinek <jakub@redhat.com>
6735
6736 PR c/43893
6737 * testsuite/libgomp.c/pr43893.c: New test.
6738 * testsuite/libgomp.c++/pr43893.C: New test.
6739
6740 2010-04-21 Jakub Jelinek <jakub@redhat.com>
6741
6742 PR middle-end/43570
6743 * testsuite/libgomp.fortran/vla8.f90: New test.
6744
6745 2010-04-20 Jakub Jelinek <jakub@redhat.com>
6746
6747 PR libgomp/43706
6748 * config/linux/affinity.c (gomp_init_affinity): Decrease
6749 gomp_available_cpus if affinity mask confines the process to fewer
6750 CPUs.
6751 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
6752 non-NULL, just return gomp_available_cpus.
6753
6754 PR libgomp/43569
6755 * sections.c (gomp_sections_init): Initialize ws->mode.
6756
6757 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
6758
6759 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
6760 not unused bar variable.
6761 * configure: Regenerate.
6762
6763 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6764
6765 * Makefile.in: Regenerate.
6766 * aclocal.m4: Regenerate.
6767 * testsuite/Makefile.in: Regenerate.
6768
6769 2010-03-22 Jakub Jelinek <jakub@redhat.com>
6770
6771 PR libgomp/42942
6772 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
6773 (initialize_env): Adjust callers.
6774 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
6775 when the argument is 0.
6776
6777 * testsuite/libgomp.c/pr42942.c: New test.
6778
6779 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
6780
6781 PR middle-end/42644
6782 PR middle-end/42130
6783 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6784 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
6785
6786 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6787
6788 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
6789 * testsuite/libgomp.c++/task-6.C: Likewise.
6790
6791 2010-01-28 Steve Ellcey <sje@cup.hp.com>
6792
6793 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
6794
6795 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
6796
6797 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
6798 * configure: Regenerate.
6799
6800 2010-01-26 Jakub Jelinek <jakub@redhat.com>
6801
6802 PR fortran/42866
6803 * testsuite/libgomp.fortran/allocatable5.f90: New test.
6804
6805 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
6806
6807 * configure.ac: Test for executability of GFORTRAN.
6808 * configure: Regenerate.
6809
6810 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6811
6812 * configure: Regenerate.
6813
6814 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
6815
6816 PR libgomp/42602
6817 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
6818
6819 2010-01-03 Richard Guenther <rguenther@suse.de>
6820
6821 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
6822
6823 2009-12-23 Sebastian Pop <sebpop@gmail.com>
6824
6825 * testsuite/libgomp.graphite/pr4118.c: New.
6826
6827 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6828
6829 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
6830 for darwin, protect the test with require-effective-target tls_runtime.
6831 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6832
6833 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6834
6835 PR target/41605
6836 * testsuite/lib/libgomp.exp: Provide -B options to allow for
6837 link spec %s substitutions for static libraries.
6838
6839 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
6840
6841 PR testsuite/42135
6842 * libgomp.graphite/force-parallel-2.c: Reduce array size.
6843
6844 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6845
6846 * Makefile.in: Regenerate.
6847 * configure: Regenerate.
6848 * testsuite/Makefile.in: Regenerate.
6849
6850 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
6851
6852 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
6853 settings for LC_ALL and LANG.
6854
6855 2009-11-25 Jakub Jelinek <jakub@redhat.com>
6856
6857 PR fortran/42162
6858 * testsuite/libgomp.fortran/pr42162.f90: New test.
6859
6860 2009-11-13 Jakub Jelinek <jakub@redhat.com>
6861
6862 PR middle-end/42029
6863 * testsuite/libgomp.c/pr42029.c: New test.
6864
6865 2009-10-26 Jakub Jelinek <jakub@redhat.com>
6866
6867 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
6868 *s. Accept ld version without text in ()s.
6869 * configure: Regenerated.
6870
6871 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
6872
6873 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
6874
6875 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6876
6877 PR libgomp/41418
6878 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
6879 or a hyphen (happens with fortran language disabled).
6880 * configure: Regenerate.
6881
6882 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6883
6884 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
6885 use sed script portable to Solaris /bin/sed for extracting ld
6886 version.
6887 * configure: Regenerate.
6888
6889 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
6890
6891 * testsuite/libgomp.graphite/bounds.c: New test.
6892
6893 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6894
6895 * Makefile.am (libgomp_la_LINK): New.
6896 * Makefile.in: Regenerate.
6897
6898 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6899
6900 * configure.ac (AC_PREREQ): Bump to 2.64.
6901
6902 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6903
6904 * Makefile.am (install-html, install-pdf): Remove.
6905 * Makefile.in: Regenerate.
6906
6907 * Makefile.in: Regenerate.
6908 * aclocal.m4: Regenerate.
6909 * config.h.in: Regenerate.
6910 * configure: Regenerate.
6911 * testsuite/Makefile.in: Regenerate.
6912
6913 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6914
6915 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
6916 * Makefile.in: Regenerate.
6917
6918 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
6919
6920 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
6921 * Makefile.in: Regenerate.
6922
6923 2009-08-19 Tobias Burnus <burnus@net-b.de>
6924
6925 PR fortran/41102
6926 omp_lib.h.in: Fix -std=f95 errors.
6927
6928 2009-08-14 David Edelsohn <edelsohn@gnu.org>
6929
6930 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
6931 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
6932 * testsuite/libgomp.graphite/graphite.exp: New.
6933
6934 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
6935
6936 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
6937 only build.
6938
6939 2009-08-04 David Daney <ddaney@caviumnetworks.com>
6940
6941 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
6942 needed memory barrier semantics.
6943 * config/linux/mips/mutex.h: New file.
6944
6945 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6946
6947 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
6948
6949 2009-07-16 Joseph Myers <joseph@codesourcery.com>
6950
6951 * configure: Regenerate.
6952
6953 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
6954
6955 PR testsuite/40699
6956 PR testsuite/40707
6957 PR testsuite/40709
6958 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
6959 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
6960 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
6961
6962 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
6963
6964 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
6965 options when choosing a multilib.
6966
6967 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
6968
6969 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
6970 ld_library_path. Use add_path. Add just find_libgcc_s to
6971 ld_library_path, not every libgcc multilib directory.
6972 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
6973 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
6974 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
6975 Use add_path.
6976 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
6977
6978 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
6979
6980 * Makefile.am (LTLDFLAGS): Define.
6981 (LINK): Define.
6982 * Makefile.in: Regenerate.
6983
6984 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
6985
6986 PR fortran/39718
6987 * testsuite/libgomp.fortran/fortran.exp: Don't link with
6988 libgfortranbegin, check existence of libgfortran.a instead of
6989 libgfortranbegin.a.
6990
6991 2009-05-20 Jakub Jelinek <jakub@redhat.com>
6992
6993 PR libgomp/40174
6994 * team.c (gomp_thread_start): Destroy thr->release semaphore.
6995 (gomp_free_pool_helper): Likewise.
6996
6997 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
6998 Jakub Jelinek <jakub@redhat.com>
6999
7000 PR fortran/35423
7001 * testsuite/libgomp.fortran/workshare2.f90: New test.
7002
7003 2009-04-09 Nick Clifton <nickc@redhat.com>
7004
7005 * iter.c: Change copyright header to refer to version 3 of the
7006 GNU General Public License with version 3.1 of the GCC Runtime
7007 Library Exception and to point readers at the COPYING3 and
7008 COPYING3.RUNTIME files and the FSF's license web page.
7009 * alloc.c: Likewise.
7010 * barrier.c: Likewise.
7011 * config/bsd/proc.c: Likewise.
7012 * config/linux/affinity.c: Likewise.
7013 * config/linux/alpha/futex.h: Likewise.
7014 * config/linux/bar.c: Likewise.
7015 * config/linux/bar.h: Likewise.
7016 * config/linux/ia64/futex.h: Likewise.
7017 * config/linux/ia64/mutex.h: Likewise.
7018 * config/linux/lock.c: Likewise.
7019 * config/linux/mips/futex.h: Likewise.
7020 * config/linux/mutex.c: Likewise.
7021 * config/linux/mutex.h: Likewise.
7022 * config/linux/powerpc/futex.h: Likewise.
7023 * config/linux/proc.c: Likewise.
7024 * config/linux/ptrlock.c: Likewise.
7025 * config/linux/ptrlock.h: Likewise.
7026 * config/linux/s390/futex.h: Likewise.
7027 * config/linux/sem.c: Likewise.
7028 * config/linux/sem.h: Likewise.
7029 * config/linux/sparc/futex.h: Likewise.
7030 * config/linux/wait.h: Likewise.
7031 * config/linux/x86/futex.h: Likewise.
7032 * config/mingw32/proc.c: Likewise.
7033 * config/mingw32/time.c: Likewise.
7034 * config/posix/affinity.c: Likewise.
7035 * config/posix/bar.c: Likewise.
7036 * config/posix/bar.h: Likewise.
7037 * config/posix/lock.c: Likewise.
7038 * config/posix/mutex.h: Likewise.
7039 * config/posix/proc.c: Likewise.
7040 * config/posix/ptrlock.h: Likewise.
7041 * config/posix/sem.c: Likewise.
7042 * config/posix/sem.h: Likewise.
7043 * config/posix/time.c: Likewise.
7044 * config/posix95/lock.c: Likewise.
7045 * critical.c: Likewise.
7046 * env.c: Likewise.
7047 * error.c: Likewise.
7048 * fortran.c: Likewise.
7049 * iter_ull.c: Likewise.
7050 * libgomp.h: Likewise.
7051 * libgomp_f.h.in: Likewise.
7052 * libgomp_g.h: Likewise.
7053 * loop.c: Likewise.
7054 * loop_ull.c: Likewise.
7055 * omp.h.in: Likewise.
7056 * omp_lib.f90.in: Likewise.
7057 * omp_lib.h.in: Likewise.
7058 * ordered.c: Likewise.
7059 * parallel.c: Likewise.
7060 * sections.c: Likewise.
7061 * single.c: Likewise.
7062 * task.c: Likewise.
7063 * team.c: Likewise.
7064 * work.c: Likewise.
7065
7066 2009-04-09 Jakub Jelinek <jakub@redhat.com>
7067
7068 * testsuite/config/default.exp: Change copyright header to refer to
7069 version 3 of the GNU General Public License and to point readers
7070 at the COPYING3 file and the FSF's license web page.
7071
7072 2009-04-08 Jakub Jelinek <jakub@redhat.com>
7073
7074 PR middle-end/39573
7075 * libgomp.c++/pr39573.C: New test.
7076
7077 2009-04-01 Jakub Jelinek <jakub@redhat.com>
7078
7079 PR other/39591
7080 * testsuite/libgomp.c/pr39591-1.c: New test.
7081 * testsuite/libgomp.c/pr39591-2.c: New test.
7082 * testsuite/libgomp.c/pr39591-3.c: New test.
7083
7084 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
7085
7086 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
7087 * testsuite/libgomp.c/atomic-6.c: Ditto.
7088
7089 2009-03-23 Jakub Jelinek <jakub@redhat.com>
7090
7091 PR c/39495
7092 * testsuite/libgomp.c/loop-12.c: New test.
7093 * testsuite/libgomp.c/loop-11.c: New test.
7094 * testsuite/libgomp.c++/loop-11.C: New test.
7095 * testsuite/libgomp.c++/loop-12.C: New test.
7096 * testsuite/libgomp.c++/for-8.C: New test.
7097
7098 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7099
7100 * configure: Regenerate.
7101
7102 2009-02-11 Jakub Jelinek <jakub@redhat.com>
7103
7104 PR middle-end/39154
7105 * testsuite/libgomp.c/pr39154.c: New test.
7106
7107 2009-01-30 Ian Lance Taylor <iant@google.com>
7108
7109 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
7110 libgomp_ld_is_gold. Get gold version number.
7111 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
7112 * configure: Rebuild.
7113
7114 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
7115
7116 * testsuite/lib/libgomp.exp: Add -B option for targets that
7117 use libgfortran.a%s in their specs.
7118
7119 2009-01-07 Jakub Jelinek <jakub@redhat.com>
7120
7121 PR libgomp/38086
7122 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
7123 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
7124 HAVE_AS_SYMVER_DIRECTIVE is not defined.
7125 * configure: Regenerated.
7126 * config.h.in: Likewise.
7127
7128 2008-12-28 Jakub Jelinek <jakub@redhat.com>
7129
7130 PR c++/38650
7131 * testsuite/libgomp.c/pr38650.c: New test.
7132 * testsuite/libgomp.c++/pr38650.C: New test.
7133
7134 2008-12-27 Jakub Jelinek <jakub@redhat.com>
7135
7136 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
7137
7138 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
7139
7140 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
7141
7142 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7143
7144 * configure: Regenerate.
7145
7146 2008-12-08 Jakub Jelinek <jakub@redhat.com>
7147
7148 PR middle-end/36802
7149 * testsuite/libgomp.c/pr36802-1.c: New test.
7150 * testsuite/libgomp.c/pr36802-2.c: New test.
7151 * testsuite/libgomp.c/pr36802-3.c: New test.
7152
7153 2008-12-01 Janis Johnson <janis187@us.ibm.com>
7154
7155 PR libgomp/38270
7156 * config/linux/powerpc/mutex.h: New.
7157
7158 2008-12-01 Jakub Jelinek <jakub@redhat.com>
7159
7160 PR c++/38257
7161 * testsuite/libgomp.c++/for-7.C: New test.
7162
7163 PR c++/38348
7164 * testsuite/libgomp.c++/for-6.C: New test.
7165
7166 2008-11-26 Janis Johnson <janis187@us.ibm.com>
7167
7168 PR testsuite/28870
7169 * testsuite/lib/libgomp.exp: Include new timeout library files.
7170 (libgomp_target_compile): Set timeout value from new proc.
7171
7172 2008-11-13 Steve Ellcey <sje@cup.hp.com>
7173
7174 PR libgomp/37938
7175 * config/linux/ia64/mutex.h: New.
7176
7177 2008-11-04 Tobias Burnus <burnus@net-b.de>
7178
7179 PR libgomp/37935
7180 * libgomp.texi (Runtime library routines, environment variables):
7181 Update for OpenMP version 3.0.
7182
7183 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
7184 Steve Ellcey <sje@cup.hp.com>
7185
7186 * configure: Regenerate for new libtool.
7187 * Makefile.in: Ditto.
7188 * testsuite/Makefile.in: Ditto.
7189
7190 2008-09-19 Jakub Jelinek <jakub@redhat.com>
7191 Andreas Tobler <a.tobler@schweiz.org>
7192
7193 * config/bsd/proc.c: New file.
7194 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
7195 * configure.ac: Check for header <sys/sysctl.h>
7196 * configure: Regenerate.
7197 * config.h.in: Likewise.
7198
7199 2008-09-05 Janis Johnson <janis187@us.ibm.com>
7200
7201 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
7202
7203 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
7204
7205 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
7206 * Makefile.in: Regenerated.
7207 * testsuite/Makefile.in: Regenerated.
7208
7209 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
7210
7211 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
7212 depend on blddir if blddir exists.
7213 (libgomp_target_compile): Likewise.
7214 * testsuite/libgomp.c++/c++.exp: Likewise.
7215 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7216
7217 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7218
7219 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
7220 Do not list GPL as Invariant Section.
7221
7222 2008-07-28 Ilie Garbacea <ilie@mips.com>
7223 Chao-ying Fu <fu@mips.com>
7224
7225 * configure.tgt: Enable futex for MIPS.
7226 * config/linux/mips/futex.h: New file.
7227
7228 2008-07-16 Jakub Jelinek <jakub@redhat.com>
7229
7230 * team.c (gomp_team_end): Free team immediately if it has
7231 just one thread.
7232
7233 2008-07-08 David Edelsohn <edelsohn@gnu.org>
7234
7235 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
7236 * testsuite/libgomp.fortran/fortran.exp: Same.
7237 * testsuite/libgomp.c/c.exp: Same.
7238 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
7239 directory to library path first.
7240
7241 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
7242
7243 * env.c (parse_stacksize): Add cast to avoid warning.
7244 (parse_spincount): Likewise.
7245
7246 2008-06-27 Jakub Jelinek <jakub@redhat.com>
7247
7248 * testsuite/libgomp.c/loop-10.c: New test.
7249 * libgomp.c/loop-3.c (main): Add lastprivate clause.
7250 * libgomp.c++/loop-6.C (main): Likewise.
7251
7252 PR debug/36617
7253 * testsuite/libgomp.c/debug-1.c: New test.
7254
7255 2008-06-19 Jakub Jelinek <jakub@redhat.com>
7256
7257 * testsuite/libgomp.c/nqueens-1.c: New test.
7258
7259 PR c++/36523
7260 * testsuite/libgomp.c++/task-7.C: New function.
7261
7262 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7263
7264 * configure: Regenerate.
7265
7266 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7267
7268 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
7269 mutex when HAVE_SYNC_BUILTINS isn't defined.
7270
7271 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7272
7273 * libgomp.texi (omp_test_lock): Fix typo.
7274
7275 2008-06-12 Tobias Burnus <burnus@net-b.de>
7276
7277 * omp_lib.f90.in: Add "implicit none".
7278
7279 2008-06-12 Jakub Jelinek <jakub@redhat.com>
7280
7281 PR middle-end/36506
7282 * testsuite/libgomp.c/reduction-5.c: New test.
7283
7284 2008-06-11 Jakub Jelinek <jakub@redhat.com>
7285
7286 * libgomp.h (struct gomp_task): Add in_tied_task field.
7287 * task.c (gomp_init_task): Initialize it.
7288 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
7289 unconditionally. Don't call gomp_team_barrier_wake if
7290 current task is implicit or if(0) from implicit and number of
7291 running tasks is equal to nthreads - 1.
7292
7293 PR libgomp/36471
7294 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
7295 omp_get_team_size_8): Fix pastos.
7296
7297 PR libgomp/36469
7298 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
7299 * configure: Regenerated.
7300 * config.h.in: Regenerated.
7301 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
7302 defined.
7303
7304 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
7305
7306 PR bootstrap/36452
7307 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
7308 (GOMP_loop_ull_dynamic_start): Likewise.
7309 (GOMP_loop_ull_guided_start): Likewise.
7310 (GOMP_loop_ull_ordered_static_start): Likewise.
7311 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
7312 (GOMP_loop_ull_ordered_guided_start): Likewise.
7313
7314 2008-06-06 Jakub Jelinek <jakub@redhat.com>
7315 Richard Henderson <rth@redhat.com>
7316 Ulrich Drepper <drepper@redhat.com>
7317 Jakob Blomer <jakob.blomer@ira.uka.de>
7318
7319 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
7320 Substitute also OMP_*LOCK_25*.
7321 * configure: Regenerated.
7322 * config.h.in: Regenerated.
7323 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
7324 ptrlock.c and task.c.
7325 * Makefile.in: Regenerated.
7326 * testsuite/Makefile.in: Regenerated.
7327 * task.c: New file.
7328 * loop_ull.c: New file.
7329 * iter_ull.c: New file.
7330 * libgomp.h: Include ptrlock.h.
7331 (enum gomp_task_kind): New type.
7332 (struct gomp_team): Add task_lock, task_queue, task_count,
7333 task_running_count, single_count fields. Add
7334 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
7335 Remove work_share_lock, generation_mask,
7336 oldest_live_gen, num_live_gen and init_work_shares fields, add
7337 work work_share_list_alloc, work_share_list_free and work_share_chunk
7338 fields. Change work_shares from pointer to pointers into an array.
7339 Change ordered_release field into gomp_sem_t ** from flexible array
7340 member. Add implicit_task and initial_work_shares fields.
7341 Move close to the end of the struct.
7342 (struct gomp_team_state): Add single_count, last_work_share,
7343 active_level and level fields, remove work_share_generation.
7344 (gomp_barrier_handle_tasks): New prototype.
7345 (gomp_finish_task): New inline function.
7346 (struct gomp_work_share): Move chunk_size, end, incr into
7347 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
7348 next_ll fields. Reshuffle fields. Add next_alloc,
7349 next_ws, next_free and inline_ordered_team_ids fields, change
7350 ordered_team_ids into pointer from flexible array member.
7351 Add mode field. Put lock and next into a different cache line
7352 from most of the write-once fields.
7353 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
7354 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
7355 gomp_iter_ull_guided_next): New prototypes.
7356 (gomp_new_icv): New prototype.
7357 (struct gomp_thread): Add thread_pool and task fields.
7358 (struct gomp_thread_pool): New type.
7359 (gomp_new_team): New prototype.
7360 (gomp_team_start): Change type of last argument.
7361 (gomp_new_work_share): Removed.
7362 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
7363 (gomp_work_share_init_done): New static inline.
7364 (gomp_throttled_spin_count_var, gomp_available_cpus,
7365 gomp_managed_threads): New extern decls.
7366 (gomp_init_task): New prototype.
7367 (gomp_spin_count_var): New extern var decl.
7368 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
7369 or no alias support, or if not PIC.
7370 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
7371 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
7372 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
7373 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
7374 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
7375 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
7376 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
7377 gomp_test_nest_lock_25): New prototypes.
7378 (omp_lock_symver, strong_alias): Define.
7379 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
7380 decls.
7381 (gomp_end_task): New.
7382 (struct gomp_task_icv, gomp_global_icv): New.
7383 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
7384 (struct gomp_task): New.
7385 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7386 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7387 (gomp_icv): New.
7388 (gomp_schedule_type): Reorder enum to match
7389 omp_sched_t.
7390 * team.c (struct gomp_thread_start_data): Add thread_pool and task
7391 fields.
7392 (gomp_thread_start): Add gomp_team_barrier_wait call.
7393 For non-nested case remove clearing of docked thread thr fields.
7394 Use pool fields instead of global gomp_* variables. Use
7395 gomp_barrier_wait_last when needed. Initialize ts.active_level.
7396 Create tasks for each member thread.
7397 (free_team): Only destroy team barrier, task_lock here and free it.
7398 (gomp_free_thread): Free last_team if non-NULL.
7399 (gomp_team_end): Call gomp_team_barrier_wait instead of
7400 gomp_barrier_wait. For nested case call one extra
7401 gomp_barrier_wait. Move here some destruction from free_team.
7402 Call free_team on pool->last_team if any, rather than freeing
7403 current team. Destroy work_share_list_free_lock ifndef
7404 HAVE_SYNC_BUILTINS.
7405 (gomp_new_icv): New function.
7406 (gomp_threads, gomp_threads_size, gomp_threads_used,
7407 gomp_threads_dock): Removed.
7408 (gomp_thread_destructor): New variable.
7409 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
7410 functions.
7411 (gomp_team_start): Create new pool if current thread doesn't have
7412 one. Use pool fields instead of global gomp_* variables.
7413 Initialize thread_pool field for new threads. Clear single_count.
7414 Change last argument from ws to team, don't create
7415 new team, set ts.work_share to &team->work_shares[0] and clear
7416 ts.last_work_share. Don't clear ts.work_share_generation.
7417 If number of threads changed, adjust atomically gomp_managed_threads.
7418 Use gomp_init_task instead of gomp_new_task,
7419 set thr->task to the corresponding implicit_task array entry.
7420 Create tasks for each member thread. Initialize ts.level.
7421 (initialize_team): Call pthread_key_create on
7422 gomp_thread_destructor.
7423 (team_destructor): New function.
7424 (new_team): Removed.
7425 (gomp_new_team): New function.
7426 (free_team): Free gomp_work_share blocks chained through next_alloc,
7427 instead of freeing work_shares and destroying work_share_lock.
7428 (gomp_team_end): Call gomp_fini_work_share. If number of threads
7429 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
7430 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
7431 of gomp_barrier_wait.
7432 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
7433 instead of gomp_barrier_wait. Call gomp_work_share_init_done
7434 if gomp_work_share_start returned true. Don't unlock ws->lock.
7435 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
7436 of gomp_barrier_wait.
7437 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
7438 gomp_work_share_init_done if gomp_work_share_start returned true.
7439 Don't unlock ws->lock.
7440 * work.c: Include stddef.h.
7441 (free_work_share): Use work_share_list_free_lock instead
7442 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
7443 Call gomp_fini_work_share and then either free ws if orphaned, or
7444 put it into work_share_list_free list of the current team.
7445 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
7446 functions.
7447 (gomp_work_share_start, gomp_work_share_end,
7448 gomp_work_share_end_nowait): Rewritten.
7449 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
7450 (openmp_version): Set to 200805.
7451 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7452 omp_sched_guided, omp_sched_auto): New parameters.
7453 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7454 omp_set_max_active_levels, omp_get_max_active_levels,
7455 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7456 omp_get_active_level): New interfaces.
7457 * omp_lib.h.in (openmp_version): Set to 200805.
7458 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7459 omp_sched_guided, omp_sched_auto): New parameters.
7460 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7461 omp_set_max_active_levels, omp_get_max_active_levels,
7462 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7463 omp_get_active_level): New externals.
7464 * loop.c: Include limits.h.
7465 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
7466 GFS_AUTO.
7467 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
7468 Likewise. Use gomp_icv.
7469 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
7470 ts.static_trip here.
7471 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
7472 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
7473 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
7474 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
7475 don't unlock ws->lock, otherwise lock it.
7476 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
7477 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
7478 (gomp_parallel_loop_start): Call gomp_new_team instead of
7479 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
7480 Adjust gomp_team_start caller. Pass 0 as second argument to
7481 gomp_resolve_num_threads.
7482 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
7483 If adding ws->chunk_size nthreads + 1 times after end won't
7484 overflow, set ws->mode to 1.
7485 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
7486 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
7487 GOMP_loop_ull_ordered_static_start,
7488 GOMP_loop_ull_ordered_dynamic_start,
7489 GOMP_loop_ull_ordered_guided_start,
7490 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
7491 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
7492 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
7493 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
7494 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
7495 prototypes.
7496 * libgomp.map: Export lock routines also @@OMP_2.0.
7497 (GOMP_loop_ordered_dynamic_first,
7498 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
7499 GOMP_loop_ordered_static_first): Remove.
7500 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
7501 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
7502 GOMP_loop_ull_ordered_dynamic_next,
7503 GOMP_loop_ull_ordered_dynamic_start,
7504 GOMP_loop_ull_ordered_guided_next,
7505 GOMP_loop_ull_ordered_guided_start,
7506 GOMP_loop_ull_ordered_runtime_next,
7507 GOMP_loop_ull_ordered_runtime_start,
7508 GOMP_loop_ull_ordered_static_next,
7509 GOMP_loop_ull_ordered_static_start,
7510 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
7511 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
7512 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
7513 (omp_set_schedule, omp_get_schedule,
7514 omp_get_thread_limit, omp_set_max_active_levels,
7515 omp_get_max_active_levels, omp_get_level,
7516 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
7517 omp_set_schedule_, omp_set_schedule_8_,
7518 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7519 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7520 omp_get_max_active_levels_, omp_get_level_,
7521 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7522 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7523 New exports @@OMP_3.0.
7524 * omp.h.in (omp_sched_t): New type.
7525 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7526 omp_set_max_active_levels, omp_get_max_active_levels,
7527 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7528 omp_get_active_level): New prototypes.
7529 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
7530 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
7531 gomp_thread_limit_var, gomp_remaining_threads_count,
7532 gomp_remaining_threads_lock): New variables.
7533 (parse_spincount): New function.
7534 (initialize_env): Call gomp_init_num_threads unconditionally.
7535 Initialize gomp_available_cpus. Call parse_spincount,
7536 initialize gomp_{,throttled_}spin_count_var
7537 depending on presence and value of OMP_WAIT_POLICY and
7538 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
7539 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
7540 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
7541 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
7542 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
7543 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7544 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7545 (gomp_global_icv): New.
7546 (parse_schedule): Use it. Parse "auto".
7547 (omp_set_num_threads): Use gomp_icv.
7548 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
7549 Likewise.
7550 (omp_get_max_threads): Move from parallel.c.
7551 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7552 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
7553 add ialias.
7554 (parse_stacksize, parse_wait_policy): New functions.
7555 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
7556 both wrappers for compatibility and new locks.
7557 (omp_set_schedule, omp_get_schedule,
7558 omp_get_thread_limit, omp_set_max_active_levels,
7559 omp_get_max_active_levels, omp_get_level,
7560 omp_get_ancestor_thread_num, omp_get_team_size,
7561 omp_get_active_level): New ialias_redirect.
7562 (omp_set_schedule_, omp_set_schedule_8_,
7563 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7564 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7565 omp_get_max_active_levels_, omp_get_level_,
7566 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7567 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7568 New functions.
7569 * parallel.c: Include limits.h.
7570 (gomp_resolve_num_threads): Add count argument. Rewritten.
7571 (GOMP_parallel_start): Call gomp_new_team and pass that as last
7572 argument to gomp_team_start. Pass 0 as second argument to
7573 gomp_resolve_num_threads.
7574 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
7575 if gomp_thread_limit_var != ULONG_MAX.
7576 (omp_in_parallel): Implement using ts.active_level.
7577 (omp_get_max_threads): Move to env.c.
7578 (omp_get_level, omp_get_ancestor_thread_num,
7579 omp_get_team_size, omp_get_active_level): New functions,
7580 add ialias.
7581 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
7582 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
7583 gomp_iter_dynamic_next instead of the _locked variant and don't take
7584 lock around it, otherwise acquire it before calling
7585 gomp_iter_dynamic_next_locked.
7586 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
7587 gomp_iter_dynamic_next instead of the _locked variant and don't take
7588 lock around it.
7589 (GOMP_parallel_sections_start): Call gomp_new_team instead of
7590 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
7591 Adjust gomp_team_start caller. Pass count as second argument to
7592 gomp_resolve_num_threads, don't adjust num_threads after the call.
7593 Use gomp_icv.
7594 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
7595 ws->chunk_size by incr.
7596 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
7597 code.
7598 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
7599 types.
7600 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
7601 (omp_check_defines): Check even the compat defines.
7602 * config/linux/ptrlock.c: New file.
7603 * config/linux/ptrlock.h: New file.
7604 * config/linux/wait.h: New file.
7605 * config/posix/ptrlock.c: New file.
7606 * config/posix/ptrlock.h: New file.
7607 * config/linux/bar.h (gomp_team_barrier_wait,
7608 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7609 (gomp_team_barrier_set_task_pending,
7610 gomp_team_barrier_clear_task_pending,
7611 gomp_team_barrier_set_waiting_for_tasks,
7612 gomp_team_barrier_waiting_for_tasks,
7613 gomp_team_barrier_done): New inlines.
7614 (gomp_barrier_t): Rewritten.
7615 (gomp_barrier_state_t): New typedef.
7616 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
7617 gomp_barrier_wait_start): Rewritten.
7618 (gomp_barrier_wait_end): Change second argument to
7619 gomp_barrier_state_t.
7620 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7621 inlines.
7622 * config/linux/bar.c: Include wait.h instead of libgomp.h and
7623 futex.h.
7624 (gomp_barrier_wait_end): Rewritten.
7625 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7626 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
7627 * config/posix/bar.h (gomp_barrier_t): Add generation field.
7628 (gomp_barrier_state_t): New typedef.
7629 (gomp_team_barrier_wait,
7630 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7631 (gomp_barrier_wait_start): Or all but low 2 bits from generation
7632 into the return value. Return gomp_barrier_state_t.
7633 (gomp_team_barrier_set_task_pending,
7634 gomp_team_barrier_clear_task_pending,
7635 gomp_team_barrier_set_waiting_for_tasks,
7636 gomp_team_barrier_waiting_for_tasks,
7637 gomp_team_barrier_done): New inlines.
7638 (gomp_barrier_wait_end): Change second argument to
7639 gomp_barrier_state_t.
7640 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7641 inlines.
7642 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
7643 (gomp_barrier_wait_end): Change second argument to
7644 gomp_barrier_state_t.
7645 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7646 gomp_team_barrier_wake): New functions.
7647 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
7648 futex.h.
7649 (gomp_futex_wake, gomp_futex_wait): New variables.
7650 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
7651 * config/linux/lock.c: Rewrite to make locks task owned,
7652 for backwards compatibility provide the old entrypoints
7653 if symbol versioning. Include wait.h instead of libgomp.h and
7654 futex.h.
7655 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
7656 * config/posix95/lock.c: Rewrite to make locks task owned,
7657 for backwards compatibility provide the old entrypoints
7658 if symbol versioning.
7659 * config/posix/lock.c: Rewrite to make locks task owned,
7660 for backwards compatibility provide the old entrypoints
7661 if symbol versioning.
7662 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
7663 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
7664 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
7665 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7666 (sys_futex0): Return error code.
7667 (futex_wake, futex_wait): If ENOSYS was returned, clear
7668 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7669 (cpu_relax, atomic_write_barrier): New static inlines.
7670 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7671 (futex_wake, futex_wait): If ENOSYS was returned, clear
7672 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7673 (cpu_relax, atomic_write_barrier): New static inlines.
7674 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7675 (sys_futex0): Return error code.
7676 (futex_wake, futex_wait): If ENOSYS was returned, clear
7677 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7678 (cpu_relax, atomic_write_barrier): New static inlines.
7679 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7680 (sys_futex0): Return error code.
7681 (futex_wake, futex_wait): If ENOSYS was returned, clear
7682 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7683 (cpu_relax, atomic_write_barrier): New static inlines.
7684 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7685 (sys_futex0): Return error code.
7686 (futex_wake, futex_wait): If ENOSYS was returned, clear
7687 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7688 (cpu_relax, atomic_write_barrier): New static inlines.
7689 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7690 (sys_futex0): Return error code.
7691 (futex_wake, futex_wait): If ENOSYS was returned, clear
7692 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7693 (cpu_relax, atomic_write_barrier): New static inlines.
7694 * config/linux/sem.c: Include wait.h instead of libgomp.h and
7695 futex.h.
7696 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
7697 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
7698 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
7699 types.
7700 (omp_nest_lock_t): Change owner into void *, add lock field.
7701 * config/posix95/omp-lock.h: Include semaphore.h.
7702 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7703 (omp_lock_t): Use sem_t instead of mutex if semaphores
7704 aren't broken.
7705 (omp_nest_lock_t): Likewise. Change owner to void *.
7706 * config/posix/omp-lock.h: Include semaphore.h.
7707 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7708 (omp_lock_t): Use sem_t instead of mutex if semaphores
7709 aren't broken.
7710 (omp_nest_lock_t): Likewise. Add owner field.
7711
7712 2008-06-06 Jakub Jelinek <jakub@redhat.com>
7713
7714 * testsuite/libgomp.c/collapse-1.c: New test.
7715 * testsuite/libgomp.c/collapse-2.c: New test.
7716 * testsuite/libgomp.c/collapse-3.c: New test.
7717 * testsuite/libgomp.c/icv-1.c: New test.
7718 * testsuite/libgomp.c/icv-2.c: New test.
7719 * testsuite/libgomp.c/lib-2.c: New test.
7720 * testsuite/libgomp.c/lock-1.c: New test.
7721 * testsuite/libgomp.c/lock-2.c: New test.
7722 * testsuite/libgomp.c/lock-3.c: New test.
7723 * testsuite/libgomp.c/loop-4.c: New test.
7724 * testsuite/libgomp.c/loop-5.c: New test.
7725 * testsuite/libgomp.c/loop-6.c: New test.
7726 * testsuite/libgomp.c/loop-7.c: New test.
7727 * testsuite/libgomp.c/loop-8.c: New test.
7728 * testsuite/libgomp.c/loop-9.c: New test.
7729 * testsuite/libgomp.c/nested-3.c: New test.
7730 * testsuite/libgomp.c/nestedfn-6.c: New test.
7731 * testsuite/libgomp.c/sort-1.c: New test.
7732 * testsuite/libgomp.c/task-1.c: New test.
7733 * testsuite/libgomp.c/task-2.c: New test.
7734 * testsuite/libgomp.c/task-3.c: New test.
7735 * testsuite/libgomp.c/task-4.c: New test.
7736 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
7737 to C++ testsuite default compiler options.
7738 * testsuite/libgomp.c++/collapse-1.C: New test.
7739 * testsuite/libgomp.c++/collapse-2.C: New test.
7740 * testsuite/libgomp.c++/ctor-10.C: New test.
7741 * testsuite/libgomp.c++/for-1.C: New test.
7742 * testsuite/libgomp.c++/for-2.C: New test.
7743 * testsuite/libgomp.c++/for-3.C: New test.
7744 * testsuite/libgomp.c++/for-4.C: New test.
7745 * testsuite/libgomp.c++/for-5.C: New test.
7746 * testsuite/libgomp.c++/loop-8.C: New test.
7747 * testsuite/libgomp.c++/loop-9.C: New test.
7748 * testsuite/libgomp.c++/loop-10.C: New test.
7749 * testsuite/libgomp.c++/task-1.C: New test.
7750 * testsuite/libgomp.c++/task-2.C: New test.
7751 * testsuite/libgomp.c++/task-3.C: New test.
7752 * testsuite/libgomp.c++/task-4.C: New test.
7753 * testsuite/libgomp.c++/task-5.C: New test.
7754 * testsuite/libgomp.c++/task-6.C: New test.
7755 * testsuite/libgomp.fortran/allocatable1.f90: New test.
7756 * testsuite/libgomp.fortran/allocatable2.f90: New test.
7757 * testsuite/libgomp.fortran/allocatable3.f90: New test.
7758 * testsuite/libgomp.fortran/allocatable4.f90: New test.
7759 * testsuite/libgomp.fortran/collapse1.f90: New test.
7760 * testsuite/libgomp.fortran/collapse2.f90: New test.
7761 * testsuite/libgomp.fortran/collapse3.f90: New test.
7762 * testsuite/libgomp.fortran/collapse4.f90: New test.
7763 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
7764 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
7765 * testsuite/libgomp.fortran/lib4.f90: New test.
7766 * testsuite/libgomp.fortran/lock-1.f90: New test.
7767 * testsuite/libgomp.fortran/lock-2.f90: New test.
7768 * testsuite/libgomp.fortran/nested1.f90: New test.
7769 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
7770 * testsuite/libgomp.fortran/strassen.f90: New test.
7771 * testsuite/libgomp.fortran/tabs1.f90: New test.
7772 * testsuite/libgomp.fortran/tabs2.f: New test.
7773 * testsuite/libgomp.fortran/task1.f90: New test.
7774 * testsuite/libgomp.fortran/task2.f90: New test.
7775 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
7776 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7777 * testsuite/libgomp.c/pr26943-2.c: Likewise.
7778 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7779 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7780
7781 2008-05-23 Jakub Jelinek <jakub@redhat.com>
7782
7783 PR c++/36308
7784 * testsuite/libgomp.c++/ctor-11.C: New test.
7785 * testsuite/libgomp.c++/ctor-12.C: New test.
7786
7787 2008-05-15 Janis Johnson <janis187@us.ibm.com>
7788
7789 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
7790
7791 2008-05-07 Jakub Jelinek <jakub@redhat.com>
7792
7793 PR middle-end/36106
7794 * testsuite/libgomp.c/atomic-5.c: New test.
7795 * testsuite/libgomp.c/atomic-6.c: New test.
7796 * testsuite/libgomp.c/autopar-1.c: New test.
7797
7798 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7799
7800 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
7801 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
7802 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
7803 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
7804 * configure: Regenerate.
7805 * Makefile.in, testsuite/Makefile.in: Likewise.
7806
7807 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
7808
7809 PR bootstrap/35457
7810 * aclocal.m4: Regenerate.
7811 * configure: Regenerate.
7812
7813 2008-03-18 Jakub Jelinek <jakub@redhat.com>
7814
7815 PR middle-end/35611
7816 * testsuite/libgomp.c/atomic-4.c: New test.
7817
7818 PR libgomp/35625
7819 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
7820 (gomp_iter_guided_next): Likewise.
7821 * testsuite/libgomp.c/pr35625.c: New test.
7822
7823 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7824
7825 * aclocal.m4: Regenerate.
7826 * configure: Likewise.
7827 * Makefile.in: Likewise.
7828 * testsuite/Makefile.in: Likewise.
7829
7830 2008-03-13 Jakub Jelinek <jakub@redhat.com>
7831
7832 PR middle-end/35185
7833 * testsuite/libgomp.c++/pr35185.C: New test.
7834
7835 2008-03-12 Jakub Jelinek <jakub@redhat.com>
7836
7837 PR middle-end/35549
7838 * testsuite/libgomp.c/pr35549.c: New test.
7839
7840 2008-03-06 Jakub Jelinek <jakub@redhat.com>
7841
7842 * testsuite/libgomp.c/atomic-3.c: New test.
7843
7844 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7845
7846 PR fortran/33197
7847 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
7848 .F08 file suffixes.
7849
7850 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
7851
7852 PR libgomp/33131
7853 * configure.ac: Add ACX_HEADER_STRING.
7854 * env.c: Include strings.h.
7855 * aclocal.m4: Regenerate.
7856 * config.h.in: Regenerate.
7857 * configure: Regenerate.
7858 * Makefile.in: Regenerate.
7859 * testsuite/Makefile.in: Regenerate.
7860
7861 2008-02-15 Jakub Jelinek <jakub@redhat.com>
7862
7863 PR middle-end/35196
7864 * testsuite/libgomp.c/pr35196.c: New test.
7865
7866 PR middle-end/35130
7867 * testsuite/libgomp.fortran/pr35130.f90: New test.
7868 * testsuite/libgomp.c/pr35130.c: New test.
7869
7870 2008-01-25 Jakub Jelinek <jakub@redhat.com>
7871
7872 PR middle-end/33880
7873 * testsuite/libgomp.c/pr33880.c: New test.
7874 * testsuite/libgomp.fortran/pr33880.f90: New test.
7875
7876 2008-01-24 David Edelsohn <edelsohn@gnu.org>
7877
7878 * configure: Regenerate.
7879
7880 2008-01-08 Jakub Jelinek <jakub@redhat.com>
7881
7882 * configure.ac: Move futex checking into ../config/futex.m4.
7883 * configure: Rebuilt.
7884 * aclocal.m4: Rebuilt.
7885 * Makefile.in: Rebuilt.
7886
7887 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
7888 2007-10-15 ../config/tls.m4 change.
7889
7890 2007-12-19 Jakub Jelinek <jakub@redhat.com>
7891
7892 PR c++/34513
7893 * testsuite/libgomp.c/pr34513.c: New test.
7894 * testsuite/libgomp.c++/pr34513.C: New test.
7895
7896 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
7897
7898 PR target/32765
7899 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
7900
7901 2007-12-04 Jakub Jelinek <jakub@redhat.com>
7902
7903 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
7904
7905 2007-12-03 Jakub Jelinek <jakub@redhat.com>
7906
7907 * testsuite/libgomp.c/private-1.c: New test.
7908
7909 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
7910 Paolo Bonzini <bonzini@gnu.org>
7911
7912 * Makefile.am: Use space as vpath separator. Use 'vpath %'
7913 instead of 'VPATH ='.
7914 * Makefile.in: Regenerate.
7915
7916 2007-11-23 Matthias Klose <doko@ubuntu.com>
7917
7918 * configure.ac: Adjust makeinfo version check.
7919 * configure: Regenerate.
7920
7921 2007-11-10 Jakub Jelinek <jakub@redhat.com>
7922
7923 PR fortran/34020
7924 * testsuite/libgomp.fortran/pr34020.f90: New test.
7925
7926 2007-11-06 Jakub Jelinek <jakub@redhat.com>
7927
7928 PR c++/33894
7929 * testsuite/libgomp.c++/atomic-1.C: New test.
7930
7931 2007-10-25 Jakub Jelinek <jakub@redhat.com>
7932
7933 PR libgomp/33275
7934 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
7935 Make x and y integers rather than (implicit) reals. Add private (j)
7936 clause to the last omp parallel.
7937
7938 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
7939
7940 * configure: Regenerate following changes to ../config/tls.m4.
7941
7942 2007-09-28 Jakub Jelinek <jakub@redhat.com>
7943
7944 * testsuite/libgomp.fortran/stack.f90: New test.
7945
7946 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
7947
7948 * config/mingw32/proc.c: New file.
7949
7950 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
7951
7952 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
7953 (main): Use __get_cpuid to get i386 target fetaures.
7954 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
7955 (main): Use __get_cpuid to get x86_64 target fetaures.
7956
7957 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
7958
7959 PR target/32765
7960 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
7961 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
7962
7963 2007-07-12 Jakub Jelinek <jakub@redhat.com>
7964
7965 PR fortran/32550
7966 * testsuite/libgomp.fortran/pr32550.f90: New test.
7967 * testsuite/libgomp.fortran/crayptr2.f90: New test.
7968
7969 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
7970
7971 * aclocal.m4: Regenerated.
7972
7973 2007-07-05 Tobias Burnus <burnus@net-b.de>
7974
7975 PR fortran/32359
7976 * testsuite/libgomp.fortran/pr32359.f90: New.
7977
7978 2007-07-02 Jakub Jelinek <jakub@redhat.com>
7979
7980 PR libgomp/32468
7981 * sections.c (GOMP_parallel_sections_start): Only decrease
7982 number of threads to COUNT if dyn_var is true.
7983 * testsuite/libgomp.c/pr32468.c: New test.
7984
7985 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7986
7987 PR libgomp/26308
7988 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
7989
7990 2007-06-21 Jakub Jelinek <jakub@redhat.com>
7991
7992 PR middle-end/32362
7993 * testsuite/libgomp.c/pr32362-1.c: New test.
7994 * testsuite/libgomp.c/pr32362-2.c: New test.
7995 * testsuite/libgomp.c/pr32362-3.c: New test.
7996
7997 2007-06-07 Jakub Jelinek <jakub@redhat.com>
7998
7999 * team.c (gomp_team_start): Fix setting up thread_attr
8000 stack size.
8001
8002 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
8003
8004 * configure: Regenerate.
8005
8006 2007-05-23 Steve Ellcey <sje@cup.hp.com>
8007
8008 * Makefile.in: Regenerate.
8009 * configure: Regenerate.
8010 * aclocal.m4: Regenerate.
8011 * testsuite/Makefile.in: Regenerate.
8012
8013 2007-05-04 Jakub Jelinek <jakub@redhat.com>
8014
8015 * config/linux/proc.c: New file.
8016
8017 PR libgomp/28482
8018 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
8019
8020 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
8021
8022 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
8023
8024 2007-04-16 Matthias Klose <doko@debian.org>
8025
8026 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
8027 flags if not building with -m64.
8028 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
8029 flag for i?86-*-* targets, if current target matches -m64.
8030
8031 2007-04-14 Steve Ellcey <sje@cup.hp.com>
8032
8033 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
8034 * Makefile.in: Regenerate.
8035
8036 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8037
8038 PR testsuite/31369
8039 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
8040 ld_library_path.
8041 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8042
8043 2007-04-04 Jakub Jelinek <jakub@redhat.com>
8044
8045 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
8046 decls.
8047 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
8048 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
8049 (parse_affinity): New function.
8050 (initialize_env): Call it and gomp_init_affinity.
8051 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
8052 create new pthread_attr_t and call gomp_init_thread_affinity
8053 on it for each thread before passing the attribute to pthread_create.
8054 * config/linux/affinity.c: New file.
8055 * config/posix/affinity.c: New file.
8056 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
8057 * configure: Rebuilt.
8058 * config.h.in: Rebuilt.
8059 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
8060 * Makefile.in: Rebuilt.
8061
8062 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
8063
8064 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
8065 *-*-darwin*.
8066 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
8067 and use it if found.
8068
8069 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
8070
8071 * testsuite/config/default.exp: New file.
8072 * testsuite/lib/libgomp.exp: New file.
8073 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
8074 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
8075 load_lib *, load_gcc_lib *): Move to libgomp.exp.
8076 (libgomp_load): Remove.
8077 * testsuite/lib/libgomp.exp (libgomp_init): Compute
8078 always_ld_library_path, not ld_library_path. Set additional_flags
8079 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
8080 (target_compile): Do not call libgomp_init. Append lang_library_path
8081 and lang_link_flags to options.
8082 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
8083 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
8084 here.
8085 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
8086 always_ld_library_path. Set LD_LIBRARY_PATH here.
8087 * testsuite/libgomp.fortran/fortran.exp: Ditto.
8088 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
8089 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
8090 CX8 flag.
8091 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
8092 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
8093 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
8094 * testsuite/libgomp.c/pr29947-1.c: Ditto.
8095 * testsuite/libgomp.c/atomic-10.c: Ditto.
8096
8097 2007-03-21 Jakub Jelinek <jakub@redhat.com>
8098
8099 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
8100 dg-final cleanup-modules line.
8101 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
8102 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
8103 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
8104 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8105 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8106 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8107 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8108
8109 2007-03-18 Andreas Schwab <schwab@suse.de>
8110
8111 * acinclude.m4: Adjust regular expression for ld version
8112 extraction.
8113 * configure: Regenerate.
8114
8115 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
8116
8117 * Makefile.am: Add install-pdf target as copied from
8118 automake v1.10 rules.
8119 * Makefile.in: Regenerate
8120
8121 2007-02-07 Jakub Jelinek <jakub@redhat.com>
8122
8123 PR libgomp/28486
8124 * configure: Regenerate.
8125
8126 PR c++/30703
8127 * testsuite/libgomp.c++/pr30703.C: New test.
8128
8129 2007-02-02 Jakub Jelinek <jakub@redhat.com>
8130
8131 Revert:
8132 2006-07-05 Eric Christopher <echristo@apple.com>
8133 * configure.ac: Depend addition of -pthread on host OS.
8134 * configure: Regenerate.
8135
8136 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8137
8138 * libgomp.texi: Fix spacing after abbreviations.
8139
8140 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
8141
8142 PR libgomp/30546
8143 * configure.ac: Add check for makeinfo
8144 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
8145 if an appropiate version of makeinfo is found.
8146 * aclocal.m4: Regenerated.
8147 * configure: Regenerated.
8148 * Makefile.in: Regenerated.
8149 * testsuite/Makefile.in: Regenerated.
8150
8151 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
8152
8153 PR libgomp/30540
8154 * libgomp.texi: More about implementation-dependent settings.
8155
8156 2007-01-26 Tobias Burnus <burnus@net-b.de>
8157
8158 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
8159
8160 2007-01-24 Jakub Jelinek <jakub@redhat.com>
8161
8162 PR middle-end/30494
8163 * testsuite/libgomp.c/pr30494.c: New test.
8164
8165 2007-01-15 Tom Tromey <tromey@redhat.com>
8166
8167 * configure: Rebuilt.
8168 * configure.ac: Fixed comment.
8169
8170 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
8171
8172 * libgomp.texi: Document implementation specific default values of
8173 environment variables.
8174
8175 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
8176
8177 PR libgomp/28209
8178 * libgomp.texi: New file.
8179 * configure.ac: Add --enable-generated-files-in-srcdir option.
8180 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
8181 files to srcdir.
8182 * Makefile.in: Regenerated.
8183 * config.h.in: Regenerated.
8184 * testsuite/Makefile.in: Regenerated.
8185 * NOTES: Removed.
8186
8187 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
8188
8189 PR libgomp/29949
8190 * env.c (omp_set_num_threads): Set illegal thread count to 1.
8191
8192 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
8193
8194 * configure: Regenerate.
8195
8196 2006-12-04 Jakub Jelinek <jakub@redhat.com>
8197
8198 PR libgomp/29947
8199 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
8200 start if there shouldn't be any loop iterations.
8201 (gomp_loop_ordered_static_start): Remove start == end test.
8202 * testsuite/libgomp.c/pr29947-1.c: New test.
8203 * testsuite/libgomp.c/pr29947-2.c: New test.
8204
8205 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
8206
8207 * configure.tgt: Force initial-exec TLS model on Linux only.
8208
8209 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
8210
8211 * configure: Regenerated.
8212
8213 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
8214
8215 * env.c (parse_schedule): Reject out of range values.
8216 (parse_unsigned_long): Reject out of range, negative or zero values.
8217
8218 2006-10-29 Jakub Jelinek <jakub@redhat.com>
8219
8220 PR fortran/29629
8221 * testsuite/libgomp.fortran/pr29629.f90: New test.
8222
8223 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
8224
8225 PR libgomp/29494
8226 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
8227 * config/posix95: New directory.
8228 * config/posix95/omp-lock.h: New file.
8229 * config/posix95/lock.c: Likewise.
8230
8231 2006-10-14 Geoffrey Keating <geoffk@apple.com>
8232
8233 * aclocal.m4: Regenerate.
8234 * configure: Regenerate.
8235
8236 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
8237
8238 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
8239 '<' to '<='.
8240
8241 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
8242
8243 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
8244 test.
8245 * configure: Regenerate.
8246 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
8247
8248 2006-09-26 Jakub Jelinek <jakub@redhat.com>
8249
8250 PR middle-end/25261
8251 PR middle-end/28790
8252 * testsuite/libgomp.c/nestedfn-4.c: New test.
8253 * testsuite/libgomp.c/nestedfn-5.c: New test.
8254 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
8255
8256 PR fortran/29097
8257 * testsuite/libgomp.fortran/condinc1.f: New test.
8258 * testsuite/libgomp.fortran/condinc2.f: New test.
8259 * testsuite/libgomp.fortran/condinc3.f90: New test.
8260 * testsuite/libgomp.fortran/condinc4.f90: New test.
8261 * testsuite/libgomp.fortran/condinc1.inc: New file.
8262
8263 2006-09-18 Tom Tromey <tromey@redhat.com>
8264
8265 * configure: Rebuilt.
8266
8267 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
8268
8269 PR c/28768
8270 PR preprocessor/14634
8271 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
8272 to AC_DEFINE.
8273 * configure: Regenerate.
8274
8275 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
8276
8277 * testsuite/libgomp.fortran/reduction3.f90: Change
8278 -2147483648 to -huge(i)-1 to avoid overflow.
8279 * testsuite/libgomp.fortran/reduction4.f90: Change
8280 Z'ffffffff' to not(0) to avoid overflow.
8281
8282 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
8283
8284 PR libgomp/25938
8285 * Makefile.am (libsubincludedir): New.
8286 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
8287 * Makefile.in: Regenerate.
8288
8289 2006-08-17 Jakub Jelinek <jakub@redhat.com>
8290
8291 PR libgomp/28725
8292 * env.c: Include ctype.h.
8293 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
8294 leading and/or trailing whitespace and compare strings case
8295 insensitively.
8296
8297 2006-07-16 Jakub Jelinek <jakub@redhat.com>
8298
8299 PR fortran/28390
8300 * testsuite/libgomp.fortran/pr28390.f: New test.
8301
8302 2006-07-05 Eric Christopher <echristo@apple.com>
8303
8304 * configure.ac: Depend addition of -pthread on host OS.
8305 * configure: Regenerate.
8306
8307 2006-06-21 Jakub Jelinek <jakub@redhat.com>
8308
8309 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
8310 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
8311 defined.
8312
8313 2006-06-20 Jakub Jelinek <jakub@redhat.com>
8314
8315 PR libgomp/26175
8316 PR libgomp/26477
8317 * configure.ac: If neither --enable-linux-futex nor
8318 --disable-linux-futex is passed, determine the default by checking
8319 for compiling and/or running against NPTL. With --enable-linux-futex,
8320 check if SYS_gettid and SYS_futex are defined.
8321 * configure: Rebuilt.
8322
8323 2006-06-14 Richard Henderson <rth@redhat.com>
8324
8325 PR libgomp/28008
8326 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
8327 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
8328
8329 2006-06-09 Richard Henderson <rth@redhat.com>
8330
8331 * env.c (gomp_nthreads_var): Change to unsigned long.
8332 (gomp_run_sched_chunk): Likewise.
8333 (parse_unsigned_long): Rename from parse_num_threads and generalize.
8334 (initialize_env): Initialize gomp_thread_attr.
8335 * libgomp.h (gomp_nthreads_var): Update decl.
8336 (gomp_run_sched_chunk): Likewise.
8337 (gomp_thread_attr): Declare.
8338 * team.c (gomp_thread_attr): Export.
8339 (initialize_team): Don't initialize it.
8340
8341 2006-06-09 Jakub Jelinek <jakub@redhat.com>
8342
8343 PR fortran/27916
8344 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
8345 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
8346
8347 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
8348
8349 * config/mingw32/time.c: New file.
8350 * configure.tgt: Use it.
8351
8352 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
8353
8354 * Makefile.am: Add install-html target. Add install-html to .PHONY
8355 * Makefile.in: Regenerate.
8356
8357 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8358
8359 PR libgomp/27612
8360 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
8361 * testsuite/libgomp.c/critical-1.c: Likewise.
8362 * testsuite/libgomp.c/loop-1.c: Likewise.
8363 * testsuite/libgomp.c/loop-2.c: Likewise.
8364 * testsuite/libgomp.c/single-1.c: Likewise.
8365 * testsuite/libgomp.c/ordered-1.c: Likewise.
8366 * testsuite/libgomp.c/ordered-2.c: Likewise.
8367
8368 2006-05-15 Jakub Jelinek <jakub@redhat.com>
8369
8370 PR middle-end/27416
8371 * libgomp.fortran/pr27416-1.f90: New test.
8372
8373 2006-05-03 Jakub Jelinek <jakub@redhat.com>
8374
8375 PR fortran/27395
8376 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
8377 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
8378
8379 2006-05-02 Jakub Jelinek <jakub@redhat.com>
8380
8381 PR c++/26943
8382 * testsuite/libgomp.c/pr26943-1.c: New test.
8383 * testsuite/libgomp.c/pr26943-2.c: New test.
8384 * testsuite/libgomp.c/pr26943-3.c: New test.
8385 * testsuite/libgomp.c/pr26943-4.c: New test.
8386 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
8387 * testsuite/libgomp.c++/pr26943.C: New test.
8388
8389 2006-05-02 Jakub Jelinek <jakub@redhat.com>
8390
8391 PR middle-end/27337
8392 * testsuite/libgomp.c++/pr27337.C: New test.
8393
8394 2006-04-26 Jakub Jelinek <jakub@redhat.com>
8395
8396 PR c/26171
8397 * testsuite/libgomp.c/pr26171.c: New test.
8398
8399 2006-04-25 Richard Henderson <rth@redhat.com>
8400
8401 PR libgomp/25865
8402 * configure.ac: Use GCC_CHECK_TLS.
8403 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
8404 * Makefile.in, aclocal.m4, configure: Regenerate.
8405
8406 2006-04-10 Matthias Klose <doko@debian.org>
8407
8408 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
8409 directory names containing underscores.
8410
8411 2006-03-21 Jakub Jelinek <jakub@redhat.com>
8412
8413 PR c++/26691
8414 * testsuite/libgomp.c++/pr26691.C: New test.
8415
8416 2006-03-13 Jakub Jelinek <jakub@redhat.com>
8417
8418 * testsuite/libgomp.fortran/retval2.f90: New test.
8419
8420 2006-03-09 Diego Novillo <dnovillo@redhat.com>
8421
8422 * testsuite/libgomp.c++: New directory.
8423
8424 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
8425
8426 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
8427 * config/posix/sem.c: Implement the above.
8428
8429 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
8430
8431 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
8432 define HAVE_BROKEN_POSIX_SEMAPHORES.
8433 * configure: Rebuilt.
8434 * config.h.in: Rebuilt.
8435
8436 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
8437
8438 PR bootstrap/26161
8439 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
8440 for the other pthread check.
8441 * configure: Regenerate.
8442 * config.h.in: Regenerate.
8443
8444 2006-02-15 Jakub Jelinek <jakub@redhat.com>
8445
8446 PR libgomp/25938
8447 PR libgomp/25984
8448 * Makefile.am (fincludedir): New variable.
8449 (nodist_include_HEADERS): Remove Fortran files.
8450 (nodist_finclude_HEADERS): New variable.
8451 * Makefile.in: Regenerated.
8452
8453 2006-02-13 Jakub Jelinek <jakub@redhat.com>
8454
8455 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
8456 Remove tests for returning assumed character length arrays.
8457
8458 2006-02-12 Roger Sayle <roger@eyesopen.com>
8459 John David Anglin <dave@hiauly1.hia.nrc.ca>
8460
8461 PR libgomp/25936
8462 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
8463
8464 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
8465
8466 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
8467
8468 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8469
8470 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
8471 part of LD_LIBRARY_PATH manually.
8472
8473 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
8474
8475 PR libgomp/25852
8476 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
8477 libgomp_init.
8478
8479 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
8480
8481 PR libgomp/25884
8482 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
8483 * configure.ac (PERL): Don't set.
8484 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
8485 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
8486 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
8487 * omp.h.in: Wrap the new configure substitutions with @ characters.
8488 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
8489 * aclocal.m4, configure, Makefile.in: Regenerate.
8490 * mkomp_h.pl: Delete.
8491
8492 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
8493
8494 PR libgomp/25259
8495 * configure.ac: Use GCC_HEADER_STDINT.
8496 * libgomp.h: Include gstdint.h.
8497 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
8498 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
8499
8500 2006-01-24 Richard Henderson <rth@redhat.com>
8501
8502 PR libgomp/25942
8503 * configure.ac: Add AM_MAINTAINER_MODE.
8504 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
8505
8506 2006-01-24 Diego Novillo <dnovillo@redhat.com>
8507
8508 * Makefile.in: Regenerate.
8509 * testsuite/Makefile.in: Regenerate.
8510 * aclocal.m4: Regenerate.
8511
8512 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
8513
8514 * config/posix/proc.c: Conditional include of sys/loadavg.h for
8515 Solaris.
8516 * configure.ac: Add check for loadavg.h.
8517 (link_gomp): Adjust comment.
8518 * configure: Regenerate.
8519 * config.h.in: Regenerate.
8520
8521 2006-01-21 Steve Ellcey <sje@cup.hp.com>
8522
8523 PR libgomp/25877
8524 * configure.ac: Remove check for alloca.h.
8525 * configure: Regenerate.
8526 * config.h.in: Regenerate.
8527 * libgomp.h: define gomp_alloca to be __builtin_alloca.
8528 * team.c: Remove use of alloca.h.
8529 Call gomp_alloca instead of alloca.
8530
8531 2006-01-20 Steve Ellcey <sje@cup.hp.com>
8532
8533 PR libgomp/25877
8534 * team.c: Add include of alloca.h.
8535 * configure.ac: Add check for alloca.h.
8536 * configure: Regenerate.
8537 * config.h.in: Regenerate.
8538
8539 2006-01-17 Jakub Jelinek <jakub@redhat.com>
8540
8541 PR fortran/25219
8542 * testsuite/libgomp.fortran/pr25219.f90: New test.
8543
8544 2005-12-05 Uros Bizjak <uros@kss-loka.si>
8545
8546 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
8547 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
8548 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8549 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8550 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
8551 testsuite/libgomp.fortran/threadprivate1.f90,
8552 testsuite/libgomp.fortran/threadprivate2.f90,
8553 testsuite/libgomp.fortran/threadprivate3.f90,
8554 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8555 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8556 testsuite/libgomp.fortran/omp_parse3.f90: Change required
8557 effective-target to TLS runtime.
8558
8559 * testsuite/libgomp.fortran/pr25162.f: Require
8560 effective-target TLS runtime.
8561
8562 2005-12-01 Jakub Jelinek <jakub@redhat.com>
8563
8564 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
8565 * testsuite/libgomp.c/nestedfn-3.c: New test.
8566
8567 2005-11-30 Jakub Jelinek <jakub@redhat.com>
8568
8569 PR fortran/25162
8570 * testsuite/libgomp.fortran/pr25162.f: New test.
8571
8572 2005-11-28 Jakub Jelinek <jakub@redhat.com>
8573
8574 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
8575 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
8576
8577 2005-11-25 Jakub Jelinek <jakub@redhat.com>
8578
8579 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
8580 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
8581 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
8582 single.c, team.c, work.c, config/linux/alpha/futex.h,
8583 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
8584 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
8585 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
8586 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
8587 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
8588 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
8589 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
8590 FSF address.
8591
8592 2005-11-18 Jakub Jelinek <jakub@redhat.com>
8593
8594 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
8595 to nodist_noinst_HEADERS.
8596 * Makefile.in: Rebuilt.
8597
8598 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
8599 add integer count field.
8600 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
8601 omp_nest_lock_t type change.
8602 (omp_init_nest_lock): Likewise. Initialize count to 0.
8603 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
8604 Increment count.
8605 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
8606 Decrement count.
8607 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
8608 Increment count if successful and return the new nesting level.
8609 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
8610 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
8611 * testsuite/libgomp.c/lib-1.c: New test.
8612 * testsuite/libgomp.fortran/lib1.f90: New test.
8613 * testsuite/libgomp.fortran/lib2.f: New test.
8614 * testsuite/libgomp.fortran/lib3.f: New test.
8615
8616 2005-11-17 Richard Henderson <rth@redhat.com>
8617
8618 PR 24845
8619 * Makefile.am (nodist_toolexeclib_HEADERS): New.
8620 * configure.ac (link_gomp): New. Substitute it.
8621 (AC_CONFIG_FILES): Add libgomp.spec.
8622 * libgomp.spec.in: New file.
8623 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
8624 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
8625
8626 2005-11-18 Jakub Jelinek <jakub@redhat.com>
8627
8628 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
8629 reduction(-:var) behaving the same as reduction(+:var).
8630 * testsuite/libgomp.c/reduction-4.c: New test.
8631
8632 2005-11-15 Uros Bizjak <uros@kss-loka.si>
8633
8634 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
8635 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
8636 testsuite/libgomp.c/copyin-3.c,
8637 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8638 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8639 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
8640 testsuite/libgomp.c++/pr24455.C,
8641 testsuite/libgomp.fortran/threadprivate1.f90,
8642 testsuite/libgomp.fortran/threadprivate2.f90,
8643 testsuite/libgomp.fortran/threadprivate3.f90,
8644 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8645 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8646 testsuite/libgomp.fortran/omp_parse3.f90: Require
8647 effective-target TLS.
8648
8649 2005-11-14 Diego Novillo <dnovillo@redhat.com>
8650
8651 * HEADER: Remove.
8652
8653 2005-11-13 Jakub Jelinek <jakub@redhat.com>
8654
8655 PR libgomp/24797
8656 * team.c (initialize_team): Pass NULL rather than free as
8657 pthread_key_create destructor. Initialize thread specific data
8658 pointer in initial thread to a static local variable rather than
8659 malloced memory.
8660
8661 2005-11-11 Uros Bizjak <uros@kss-loka.si>
8662
8663 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
8664 its location to ld_library_path.
8665
8666 2005-11-10 Diego Novillo <dnovillo@redhat.com>
8667
8668 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
8669
8670 2005-11-10 Diego Novillo <dnovillo@redhat.com>
8671
8672 * testsuite/libgomp.c: Rename from libgomp.dg.
8673
8674 2005-11-09 Diego Novillo <dnovillo@redhat.com>
8675
8676 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
8677 threadprivate variable 'i'.
8678
8679 2005-11-09 Jakub Jelinek <jakub@redhat.com>
8680
8681 * config/linux/s390/futex.h: New file.
8682 * configure.tgt: Use it.
8683
8684 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
8685 before the parallel.
8686
8687 2005-11-08 Jakub Jelinek <jakub@redhat.com>
8688
8689 PR c++/24734
8690 * testsuite/libgomp.c++/master-1.C: New test.
8691
8692 2005-11-07 Jakub Jelinek <jakub@redhat.com>
8693
8694 * testsuite/libgomp.dg/copyin-3.c: New test.
8695
8696 2005-11-07 Jakub Jelinek <jakub@redhat.com>
8697
8698 * testsuite/libgomp.fortran/retval1.f90: New test.
8699 * testsuite/libgomp.fortran/vla7.f90: New test.
8700
8701 2005-11-06 Jakub Jelinek <jakub@redhat.com>
8702
8703 * testsuite/libgomp.fortran/vla2.f90: New test.
8704 * testsuite/libgomp.fortran/vla3.f90: New test.
8705 * testsuite/libgomp.fortran/vla4.f90: New test.
8706 * testsuite/libgomp.fortran/vla5.f90: New test.
8707 * testsuite/libgomp.fortran/vla6.f90: New test.
8708
8709 2005-11-01 Jakub Jelinek <jakub@redhat.com>
8710
8711 * config/linux/sparc/futex.h: New file.
8712 * configure.tgt: Use it.
8713 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
8714
8715 * critical.c: Include stdlib.h.
8716 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
8717 ignoring return value.
8718 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
8719 LIBGOMP_CHECK_SYNC_BUILTINS check.
8720 * configure: Rebuilt.
8721
8722 2005-10-31 Jakub Jelinek <jakub@redhat.com>
8723
8724 * testsuite/libgomp.fortran/vla1.f90: New test.
8725
8726 2005-10-31 Richard Henderson <rth@redhat.com>
8727
8728 * testsuite/libgomp.fortran/character2.f90: Fix race condition
8729 setting 's' in different threads.
8730
8731 2005-10-31 Jakub Jelinek <jakub@redhat.com>
8732
8733 * libgomp.h (attribute_hidden, ialias): Define.
8734 * config/posix/proc.c (omp_get_num_procs): Add ialias.
8735 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
8736 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
8737 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8738 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8739 omp_test_lock, omp_test_nest_lock): Likewise.
8740 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
8741 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8742 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8743 omp_test_lock, omp_test_nest_lock): Likewise.
8744 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
8745 omp_get_dynamic, omp_get_nested): Likewise.
8746 * parallel.c (omp_get_num_threads, omp_get_max_threads,
8747 omp_get_thread_num, omp_in_parallel): Likewise.
8748 * fortran.c (ialias_redirect): Define.
8749 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
8750 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
8751 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
8752 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
8753 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
8754 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
8755 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
8756 omp_get_wtime): Add ialias_redirect.
8757
8758 2005-10-30 Jakub Jelinek <jakub@redhat.com>
8759
8760 * fortran.c: Include stdlib.h.
8761
8762 2005-10-29 Jakub Jelinek <jakub@redhat.com>
8763
8764 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
8765 * Makefile.in: Regenerated.
8766
8767 2005-10-28 Jakub Jelinek <jakub@redhat.com>
8768
8769 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
8770 * libgomp_f.h.in (omp_check_defines): New function.
8771 * env.c: Include libgomp_f.h.
8772 (initialize_env): Call omp_check_defines.
8773
8774 * testsuite/libgomp.dg/copyin-2.c: New test.
8775 * testsuite/libgomp.c++/copyin-2.C: New test.
8776 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
8777
8778 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
8779 * testsuite/libgomp.fortran/sharing2.f90: New test.
8780
8781 * testsuite/libgomp.dg/copyin-1.c: New test.
8782 * testsuite/libgomp.c++/copyin-1.C: New test.
8783
8784 2005-10-26 Jakub Jelinek <jakub@redhat.com>
8785
8786 * testsuite/libgomp.fortran/crayptr1.f90: New test.
8787
8788 * testsuite/libgomp.fortran/workshare1.f90: New test.
8789
8790 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
8791 only test.
8792 * libgomp.fortran/sharing1.f90: New test.
8793
8794 2005-10-24 Jakub Jelinek <jakub@redhat.com>
8795
8796 PR c++/24502
8797 * testsuite/libgomp.c++/loop-7.C: New test.
8798
8799 * testsuite/libgomp.dg/nestedfn-2.c: New test.
8800
8801 * testsuite/libgomp.dg/nestedfn-1.c: New test.
8802 * testsuite/libgomp.fortran/reduction6.f90: New test.
8803 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
8804
8805 2005-10-23 Richard Henderson <rth@redhat.com>
8806
8807 * testsuite/libgomp.c++/ctor-1.C: New.
8808 * testsuite/libgomp.c++/ctor-2.C: New.
8809 * testsuite/libgomp.c++/ctor-3.C: New.
8810 * testsuite/libgomp.c++/ctor-4.C: New.
8811 * testsuite/libgomp.c++/ctor-5.C: New.
8812 * testsuite/libgomp.c++/ctor-6.C: New.
8813 * testsuite/libgomp.c++/ctor-7.C: New.
8814 * testsuite/libgomp.c++/ctor-8.C: New.
8815 * testsuite/libgomp.c++/ctor-9.C: New.
8816
8817 2005-10-21 Diego Novillo <dnovillo@redhat.com>
8818
8819 PR 24455
8820 * testsuite/libgomp.c++/pr24455-1.C: New test.
8821 * testsuite/libgomp.c++/pr24455.C: New test.
8822 * testsuite/libgomp.dg/pr24455-1.c: New test.
8823 * testsuite/libgomp.dg/pr24455.c: New test.
8824
8825 2005-10-20 Richard Henderson <rth@redhat.com>
8826
8827 * testsuite/libgomp.c++/loop-6.C: New.
8828 * testsuite/libgomp.dg/loop-3.c: New.
8829
8830 2005-10-20 Jakub Jelinek <jakub@redhat.com>
8831
8832 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
8833 explicitly private.
8834 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
8835 explicitly shared.
8836
8837 2005-10-19 Diego Novillo <dnovillo@redhat.com>
8838
8839 * testsuite/libgomp.fortran/jacobi.f: New test.
8840
8841 2005-10-19 Richard Henderson <rth@redhat.com>
8842
8843 * configure.tgt (i?86-linux): Default to with_arch instead of
8844 CFLAGS. Add -mtune to match target_cpu.
8845 (x86_64-linux): Tune to i686.
8846
8847 * fortran.c (omp_test_nest_lock_): Fix typo.
8848
8849 2005-10-19 Jakub Jelinek <jakub@redhat.com>
8850
8851 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8852 gomp_ordered_sync): Do nothing if team->nthreads == 1.
8853 * testsuite/libgomp.dg/ordered-3.c: New test.
8854
8855 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
8856 Remove volatile keyword.
8857
8858 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
8859 in COMMON block to avoid warnings on 64-bit targets.
8860
8861 2005-10-18 Diego Novillo <dnovillo@redhat.com>
8862
8863 * testsuite/libgomp.dg/shared-3.c: New test.
8864
8865 2005-10-18 Jakub Jelinek <jakub@redhat.com>
8866
8867 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
8868 * testsuite/libgomp.fortran/reduction5.f90: New test.
8869
8870 2005-10-18 Jakub Jelinek <jakub@redhat.com>
8871
8872 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
8873 dg-options.
8874 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
8875 flush loop now that __sync_synchronize has proper memory barrier.
8876 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
8877 Add -ffixed-form to dg-options.
8878
8879 2005-10-17 Diego Novillo <dnovillo@redhat.com>
8880
8881 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
8882 from subdirectories.
8883 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
8884 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
8885 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
8886 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
8887 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
8888 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
8889 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
8890 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
8891 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
8892 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
8893 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
8894 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
8895 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
8896 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
8897 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
8898 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
8899 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
8900 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
8901 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
8902 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
8903 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
8904 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
8905 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
8906 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
8907 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
8908
8909 2005-10-17 Jakub Jelinek <jakub@redhat.com>
8910
8911 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
8912 lang_library_path exists. Use find instead of glob to gather tests.
8913 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
8914
8915 2005-10-17 Diego Novillo <dnovillo@redhat.com>
8916
8917 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
8918 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
8919 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
8920 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
8921 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
8922 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
8923 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
8924 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
8925 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
8926 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
8927 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
8928 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
8929 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
8930
8931 2005-10-15 Jakub Jelinek <jakub@redhat.com>
8932
8933 * testsuite/libgomp.dg/vla-1.c: New test.
8934
8935 * testsuite/libgomp.fortran/reference2.f90: New test.
8936
8937 * testsuite/libgomp.fortran/character2.f90: Remove explicit
8938 declaration of omp_get_thread_num.
8939 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
8940 use omp_lib.
8941
8942 * testsuite/libgomp.fortran/reduction1.f90: New test.
8943 * testsuite/libgomp.fortran/reduction2.f90: New test.
8944 * testsuite/libgomp.fortran/reduction3.f90: New test.
8945 * testsuite/libgomp.fortran/reduction4.f90: New test.
8946
8947 2005-10-13 Richard Henderson <rth@redhat.com>
8948
8949 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
8950 * Makefile.in: Regenerate.
8951 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
8952 * libgomp.h: Include bar.h.
8953 (struct gomp_barrier): Remove.
8954 (struct gomp_team): Add barrier. Replace master_barrier with
8955 master_release. Replace threads with ordered_release.
8956 (struct gomp_thread): Replace barrier with release.
8957 * ordered.c (gomp_ordered_first): Update for ordered_release change.
8958 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
8959 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
8960 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
8961 (GOMP_single_copy_end): Likewise.
8962 * team.c (gomp_threads_dock): New.
8963 (gomp_barrier_init, gomp_barrier_destroy): Remove.
8964 (gomp_thread_start): Use gomp_barrier_wait.
8965 (new_team, free_team): Update for gomp_team changes.
8966 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
8967 (gomp_team_end): Use gomp_barrier_wait.
8968 (initialize_team): Update for gomp_thread changes.
8969 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
8970 (gomp_work_share_end_nowait): Use atomic ops when available.
8971 * config/linux/bar.c, config/linux/bar.h: New files.
8972 * config/posix/bar.c, config/posix/bar.h: New files.
8973
8974 2005-10-13 Jakub Jelinek <jakub@redhat.com>
8975
8976 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
8977 * testsuite/libgomp.dg/single-2.c: New test.
8978
8979 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
8980 lang_link_flags): Unset, so that they aren't inherited from previously
8981 sourced *.exp.
8982
8983 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
8984
8985 2005-10-12 Richard Henderson <rth@redhat.com>
8986
8987 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
8988 (libgomp_init): Use lang_test_file, lang_library_path, and
8989 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
8990
8991 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
8992 (lang_test_file, lang_link_flags): New.
8993 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
8994
8995 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
8996 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
8997 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
8998 testsuite/libgomp.c++/parallel-1.C,
8999 testsuite/libgomp.c++/reduction-1.C,
9000 testsuite/libgomp.c++/reduction-2.C,
9001 testsuite/libgomp.c++/reduction-3.C,
9002 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
9003 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
9004 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
9005 New files, largely cribbed from the C testsuite.
9006
9007 2005-10-12 Jakub Jelinek <jakub@redhat.com>
9008
9009 * testsuite/libgomp.fortran/character1.f90: New test.
9010 * testsuite/libgomp.fortran/character2.f90: New test.
9011
9012 * testsuite/libgomp.dg/nested-1.c: New test.
9013 * testsuite/libgomp.dg/nested-2.c: New test.
9014 * testsuite/libgomp.fortran/do1.f90: New test.
9015 * testsuite/libgomp.fortran/do2.f90: New test.
9016
9017 * testsuite/libgomp.fortran/reference1.f90: New test.
9018
9019 2005-10-11 Jakub Jelinek <jakub@redhat.com>
9020
9021 * testsuite/libgomp.dg/reduction-1.c: New test.
9022 * testsuite/libgomp.dg/reduction-2.c: New test.
9023 * testsuite/libgomp.dg/reduction-3.c: New test.
9024
9025 2005-10-10 Jakub Jelinek <jakub@redhat.com>
9026
9027 * testsuite/libgomp.dg/atomic-1.c: New test.
9028 * testsuite/libgomp.dg/atomic-2.c: New test.
9029
9030 2005-10-09 Richard Henderson <rth@redhat.com>
9031
9032 * critical.c (atomic_lock): New.
9033 (initialize_critical): Initialize it.
9034 (GOMP_atomic_start, GOMP_atomic_end): New.
9035 * libgomp.map: Export them.
9036 * libgomp_g.h: Declare them.
9037
9038 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
9039
9040 2005-10-02 Richard Henderson <rth@redhat.com>
9041
9042 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
9043 to XCFLAGS instead of CFLAGS.
9044
9045 2005-09-30 Richard Henderson <rth@redhat.com>
9046
9047 * configure.ac: Determine whether -pthread or -lpthread is needed.
9048 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
9049 * Makefine.in, configure: Rebuild.
9050
9051 2005-09-28 Richard Henderson <rth@redhat.com>
9052
9053 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
9054 * testsuite/libgomp.dg/omp-single-3.c: New test.
9055
9056 2005-09-28 Diego Novillo <dnovillo@redhat.com>
9057
9058 * testsuite/libgomp.dg/omp-single-2.c: New test.
9059 * testsuite/libgomp.dg/shared-2.c: Fix return code.
9060
9061 2005-09-27 Richard Henderson <rth@redhat.com>
9062
9063 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
9064 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
9065
9066 2005-09-27 Jakub Jelinek <jakub@redhat.com>
9067
9068 * testsuite/libgomp.dg/omp-loop03.c: New test.
9069
9070 2005-09-27 Diego Novillo <dnovillo@redhat.com>
9071
9072 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
9073
9074 2005-09-27 Diego Novillo <dnovillo@redhat.com>
9075
9076 * testsuite/libgomp.dg/omp-single-1.c: New test.
9077 * testsuite/libgomp.dg/shared-1.c: Return 0.
9078 Add prototype for abort.
9079 * testsuite/libgomp.dg/shared-2.c: Likewise.
9080
9081 2005-09-26 Jakub Jelinek <jakub@redhat.com>
9082
9083 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
9084 constructs.
9085
9086 2005-09-26 Diego Novillo <dnovillo@redhat.com>
9087
9088 * testsuite/libgomp.dg/shared-1.c: New test.
9089 * testsuite/libgomp.dg/shared-2.c: New test.
9090
9091 2005-09-24 Richard Henderson <rth@redhat.com>
9092
9093 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
9094
9095 2005-09-24 Richard Henderson <rth@redhat.com>
9096
9097 * iter.c (gomp_iter_static_next): Round up when computing number
9098 of iterations. Don't bother distributing a remainder equally.
9099
9100 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
9101 Don't call srand. Zero b before testing.
9102 (main): New.
9103
9104 2005-09-24 Jakub Jelinek <jakub@redhat.com>
9105
9106 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
9107 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
9108
9109 2005-09-23 Jakub Jelinek <jakub@redhat.com>
9110
9111 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
9112 without !$omp end do, followed immediately by subroutine end.
9113
9114 2005-09-23 Diego Novillo <dnovillo@redhat.com>
9115
9116 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
9117
9118 2005-09-22 Richard Henderson <rth@redhat.com>
9119
9120 * critical.c (GOMP_critical_name_start): Change argument to void**.
9121 Reuse the pointer space if the mutex fits.
9122 (GOMP_critical_name_end): Likewise.
9123 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
9124 * libgomp_g.h (GOMP_critical_name_start): Update decl.
9125 (GOMP_critical_name_end): Likewise.
9126 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
9127 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
9128
9129 2005-09-20 Richard Henderson <rth@redhat.com>
9130
9131 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
9132 (create_lock_lock): New.
9133 (initialize_critical): Initialize it.
9134 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
9135 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
9136
9137 2005-09-20 Diego Novillo <dnovillo@redhat.com>
9138
9139 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
9140
9141 2005-09-20 Diego Novillo <dnovillo@redhat.com>
9142
9143 * testsuite/libgomp.dg/omp-loop01.c: New test.
9144 * testsuite/libgomp.dg/omp-loop02.c: New test.
9145
9146 2005-09-20 Jakub Jelinek <jakub@redhat.com>
9147
9148 * configure.ac (AC_PROG_FC): Add.
9149 (USE_FORTRAN): New automake conditional.
9150 * configure: Rebuilt.
9151 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
9152 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
9153 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
9154 Add rules to build them.
9155 * Makefile.in: Rebuilt.
9156 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
9157 OMP_NEST_LOCK_KIND.
9158 * libgomp.map: Add Fortran wrappers.
9159 * libgomp_f.h.in: New file.
9160 * omp_lib.h.in: New file.
9161 * omp_lib.f90.in: New file.
9162 * fortran.c: New file.
9163 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
9164 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
9165 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
9166 libgfortran has been built.
9167 * testsuite/libgomp.fortran/fortran.exp: New file.
9168 * testsuite/libgomp.fortran/omp_cond1.f: New test.
9169 * testsuite/libgomp.fortran/omp_cond2.f: New test.
9170 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
9171 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
9172 * testsuite/libgomp.fortran/omp_hello.f: New test.
9173 * testsuite/libgomp.fortran/omp_orphan.f: New test.
9174 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
9175 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
9176 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
9177 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
9178 * testsuite/libgomp.fortran/omp_reduction.f: New test.
9179 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
9180 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
9181
9182 2005-08-30 Richard Henderson <rth@redhat.com>
9183
9184 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
9185 function for when aliases are not usable.
9186 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
9187 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9188 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
9189 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
9190 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
9191 GOMP_loop_ordered_guided_next): Likewise.
9192 * ordered.c (GOMP_ordered_start): Likewise.
9193
9194 2005-08-01 Diego Novillo <dnovillo@redhat.com>
9195
9196 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
9197 * testsuite/libgomp.dg/omp_hello.c: Fix return code
9198 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
9199 * testsuite/libgomp.dg/omp_orphan.c: Likewise
9200 * testsuite/libgomp.dg/omp_reduction.c: Likewise
9201 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
9202 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
9203 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
9204 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
9205
9206 2005-07-07 Eric Christopher <echristo@redhat.com>
9207 Diego Novillo <dnovillo@redhat.com>
9208
9209 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
9210 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
9211 up code.
9212 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
9213 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
9214 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
9215 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
9216 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
9217 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
9218 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
9219
9220 2005-06-13 Diego Novillo <dnovillo@redhat.com>
9221
9222 * TOPLEVEL.patch: Remove.
9223
9224 2005-05-16 Richard Henderson <rth@redhat.com>
9225
9226 * configure.ac: Test for clock_gettime.
9227 * config.h.in, configure: Rebuild.
9228 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
9229 (omp_get_wtime): Use clock_gettime if available.
9230 (omp_get_wtick): Use clock_getres if available.
9231
9232 2005-05-11 Richard Henderson <rth@redhat.com>
9233
9234 * config/linux/ia64/futex.h: New file.
9235 * configure.tgt: Use it.
9236
9237 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
9238
9239 2005-05-07 Richard Henderson <rth@redhat.com>
9240
9241 * config/linux/powerpc/futex.h: New file.
9242 * configure.tgt: Use it.
9243
9244 * config/linux/i486/futex.h: Merge ...
9245 * config/linux/x86_64/futex.h: ... into ...
9246 * config/linux/x86/futex.h: ... here.
9247 * configure.tgt: Update to match.
9248
9249 2005-05-06 Richard Henderson <rth@redhat.com>
9250
9251 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
9252 * config/linux/i486/futex.h: Likewise.
9253 * config/linux/x86_64/futex.h: Likewise.
9254
9255 * config/linux/lock.c: New file.
9256 * config/linux/omp-lock.h: New file.
9257
9258 * critical.c, env.h: Don't include omp.h
9259 * config/posix/lock.c: Include libgomp.h instead of omp.h.
9260 * config/posix/time.c: Likewise.
9261 * config/posix/omp-lock.h: New file.
9262 * libgomp.h: Include omp-lock.h and omp.h.
9263 * Makefile.am (nodist_include_HEADERS): New.
9264 (omp.h): New rule.
9265 * configure.ac (PERL): New.
9266 * mkomp_h.pl: New file.
9267 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
9268 with templates.
9269 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
9270
9271 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
9272 build directory. Re-add -march=i486 hack.
9273
9274 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
9275 (libgomp_link_flags): Remove.
9276 (libgomp_initialized): Remove.
9277 (libgomp_init): Don't protect from reinitialization. Copy code
9278 from libstdc++ for getting the multilib set correctly.
9279
9280 2005-05-05 Richard Henderson <rth@redhat.com>
9281
9282 * config/linux/alpha/futex.h: New file.
9283 * configure.tgt (alpha*-*-linux*): Use it.
9284
9285 * config/posix/mutex.c: New file.
9286 * config/posix/sem.c: Use libgomp.h.
9287
9288 * configure.tgt (x86_64-linux): Also test CC for -m32.
9289 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
9290
9291 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
9292 after $gccpath.
9293
9294 * Makefile.am (SUBDIRS): New.
9295 (libgomp_la_LDFLAGS): Add -lpthread.
9296 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
9297 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
9298
9299 * libgomp_g.h: New file.
9300 * libgomp.h: Split out all public declarations to libgomp_g.h.
9301 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
9302 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
9303 * config/linux/sem.h: Likewise.
9304 * config/posix/sem.h: Likewise.
9305
9306 * Makefile.am (AM_LDFLAGS): New.
9307 (libgomp_version_script): Split out from ...
9308 (libgomp_la_LDFLAGS): ... here.
9309 (libgomp_version_info): New.
9310 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
9311 (LIBGOMP_ENABLE): New.
9312 (LIBGOMP_CHECK_LINKER_FEATURES): New.
9313 (LIBGOMP_ENABLE_SYMVERS): New.
9314 * configure.ac (AC_INIT): Version 1.0.
9315 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
9316 (enable-linux-futex): Likewise. Rename from enable-futex.
9317 (libtool_VERSION): New.
9318 (LIBGOMP_ENABLE_SYMVERS): Use it.
9319 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
9320 * Makefile.in, aclocal.m4, configure: Rebuild.
9321
9322 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
9323 (gomp_mutex_unlock_slow): Fix typo.
9324 * config/linux/sem.c: Similarly.
9325 (gomp_sem_post_slow): Fix typo.
9326 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
9327 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
9328 [__PIC__] (sys_futex0): Don't use tmp output in asm.
9329
9330 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
9331 (libgomp_la_LDFLAGS): Add top_srcdir to path.
9332 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
9333 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
9334 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
9335 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
9336 LDFLAGS. Pull enable_futex check to top-level.
9337 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
9338 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
9339
9340 First attempt at real configury.
9341 * Makefile, config.h: Remove file.
9342 * Makefile.am, Makefile.in: New file.
9343 * acinclude.m4 aclocal.m4: New file.
9344 * configure.ac, configure.tgt, configure: New file.
9345
9346 * config/posix/lock.c: Rename from sys-lock.c.
9347 * config/posix/mutex.h: Rename from sys-mutex.h.
9348 * config/posix/sem.c: Rename from sys-sem.c.
9349 * config/posix/sem.h: Rename from sys-sem.h.
9350 * config/posix/proc.c: Rename from sys-proc.c.
9351 * config/posix/time.c: Rename from sys-proc.c.
9352
9353 * config/linux/mutex.c: New file.
9354 * config/linux/mutex.h: New file.
9355 * config/linux/sem.c: New file.
9356 * config/linux/sem.h: New file.
9357 * config/linux/i486/futex.h: New file.
9358 * config/linux/x86_64/futex.h: New file.
9359
9360 2005-05-04 Richard Henderson <rth@redhat.com>
9361
9362 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
9363 * libgomp.h: Declare them.
9364 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
9365 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
9366
9367 2005-05-04 Richard Henderson <rth@redhat.com>
9368
9369 * libgomp-1 code drop
9370
9371 2005-05-04 Richard Henderson <rth@redhat.com>
9372
9373 * iter.c (gomp_iter_static_next): Return tri-state on 0.
9374 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
9375 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
9376 (gomp_iter_static_next): Update.
9377 (gomp_ordered_static_next): Update.
9378 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
9379 (gomp_loop_ordered_static_start): Likewise. Exit early for a
9380 totally empty range.
9381 (gomp_loop_ordered_static_next): Refine test for calling
9382 gomp_ordered_static_next.
9383 * testsuite/ordered-1.c: Add case for more threads than iterations.
9384
9385 * iter.c (gomp_iter_runtime_next_locked): Remove.
9386 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
9387 gomp_loop_guided_start, gomp_loop_ordered_static_start,
9388 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9389 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
9390 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
9391 gomp_loop_ordered_guided_next): Downcase name, make static, add
9392 an external alias with the old name.
9393 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9394 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
9395 switch and call one of the above static functions.
9396 * libgomp.h: Update.
9397
9398 * work.c (gomp_work_share_start): Lock the mutex for !first too.
9399 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
9400 GOMP_loop_guided_start, GOMP_loop_runtime_start,
9401 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9402 GOMP_loop_ordered_guided_start): Update to match.
9403 * sections.c (GOMP_sections_start): Likewise.
9404 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
9405
9406 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
9407 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
9408 Use bounds check instead of modulus.
9409 (gomp_ordered_sync): Split out of GOMP_ordered_start.
9410 (gomp_ordered_last): Don't sync with ordered_owner here.
9411 (gomp_ordered_next): Likewise.
9412 (gomp_ordered_static_loop_next): Likewise.
9413 * loop.c, libgomp.h: Update to match.
9414
9415 * libgomp.h (GOMP_barrier): Declare.
9416
9417 * testsuite/barrier-1.c: New file.
9418 * testsuite/critical-1.c: New file.
9419 * testsuite/ordered-2.c: New file.
9420 * testsuite/ordered-1.c: New file.
9421 * testsuite/sections-1.c: New file.
9422 * testsuite/single-1.c: New file.
9423 * testsuite/Makefile (TESTS): Add them.
9424
9425 2005-05-04 Richard Henderson <rth@redhat.com>
9426
9427 * libgomp.h (struct gomp_work_share): Add ordered_owner.
9428 * loop.c (GOMP_loop_static_start): If not the startup thread,
9429 acquire the mutex to wait for initialization complete.
9430 (GOMP_loop_ordered_static_start): Likewise.
9431 (GOMP_loop_ordered_runtime_start): Likewise.
9432 (GOMP_loop_ordered_static_first): Remove.
9433 (GOMP_loop_ordered_dynamic_first): Remove.
9434 (GOMP_loop_ordered_guided_first): Remove.
9435 (GOMP_loop_ordered_runtime_first): Remove.
9436 * ordered.c (gomp_ordered_loop_first): Post to own release when
9437 we're the first thread.
9438 (gomp_ordered_loop_last): Wait on release if not owner.
9439 (gomp_ordered_loop_next): Likewise.
9440 (gomp_ordered_static_loop_init): New.
9441 (gomp_ordered_static_loop_next): Use ordered_owner.
9442 (GOMP_ordered_start): Likewise.
9443 * work.c (gomp_new_work_share): Initialize ordered_owner.
9444
9445 2005-05-03 Richard Henderson <rth@redhat.com>
9446
9447 * Makefile (OPT): New.
9448 (CFLAGS): Use it.
9449
9450 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
9451 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
9452 * libgomp.h, libgomp.map, NOTES: Update to match.
9453
9454 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
9455 Add initialized and thr members.
9456 (gomp_thread_start): Pause when initially spawned to wait for
9457 the whole team to be created.
9458 (gomp_team_start): Release team members at the end.
9459
9460 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
9461 (f_foo_1): Use GOMP_loop_end.
9462 (f_foo_2): Use GOMP_loop_end_nowait.
9463
9464 * testsuite/loop-2.c: New file.
9465 * testsuite/Makefile (TESTS): Add it.
9466
9467 2005-05-03 Richard Henderson <rth@redhat.com>
9468
9469 * iter.c (gomp_iter_static_next): Fix overflow check typo.
9470 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
9471 * team.c (new_team): Initialize oldest_live_gen to 1 if no
9472 initial work_share.
9473
9474 * testsuite/Makefile: New file.
9475 * testsuite/loop-1.c: New file.
9476
9477 2005-05-03 Richard Henderson <rth@redhat.com>
9478
9479 Initial implementation and checkin.
9480 \f
9481 Copyright (C) 2005-2018 Free Software Foundation, Inc.
9482
9483 Copying and distribution of this file, with or without modification,
9484 are permitted in any medium without royalty provided the copyright
9485 notice and this notice are preserved.