Fix offloading machine mode stream reading
[gcc.git] / libgomp / ChangeLog
1 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2
3 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
4
5 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6
7 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8 (cuda_errlist): Constify.
9 (errmsg): Move into ...
10 (cuda_error): ... here. Make smaller.
11 (_XSTR, _STR): Delete.
12 (cuda_synames): Delete.
13 (verify_device_library): Delete.
14 (nvptx_init): Don't call it.
15
16 2015-07-28 Tom de Vries <tom@codesourcery.com>
17
18 * testsuite/libgomp.c/uns-outer-4.c: New test.
19
20 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
21
22 * testsuite/libgomp.c/pr66714.c: New test.
23
24 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
25
26 PR libgomp/66950
27 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
28 (fib_ref): New function.
29 (fib): Correct corner cases in the recursion.
30 (main): Replace the non-simd loop with fib_ref call.
31 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
32 subroutine.
33 (fibonacci): Lower the parameter N to 30. Correct accordingly check
34 for the last array element value. Replace the non-simd loop with
35 fib_ref call. Remove redundant b_ref array. Remove the comparison
36 of the last array element with according Fibonacci sequence element.
37 (fib): Correct corner cases in the recursion.
38
39 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
40
41 * target.c (gomp_offload_image_to_device): Rename to ...
42 (gomp_load_image_to_device): ... here.
43 (GOMP_offload_register): Adjust call.
44 (gomp_init_device): Likewise.
45 (gomp_unload_image_from_device): New. Broken out of ...
46 (GOMP_offload_unregister): ... here. Call it.
47 (gomp_unload_device): New.
48 * libgomp.h (gomp_unload_device): Declare.
49 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
50 mem maps.
51
52 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
53
54 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
55 wait=-specific if.
56 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
57 !=0 condition.
58 (goacc_waits): Move !num_waits handling to ...
59 (GOACC_wait): ... here, the only caller that might have zero waits.
60
61 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
62 (struct ptx_image_data): Move earlier, add fns field.
63 (struct ptx_device): Add images and image_lock fields.
64 (ptx_images, ptx_image_lock): Delete.
65 (nvptx_open_device): Initialize images and image_lock fields.
66 (nvptx_close_device): Destroy image_lock.
67 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
68 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
69 fields.
70
71 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
72
73 * target.c (GOMP_offload_register): Use int for device type arg.
74 (GOMP_offload_unregister): Likewise.
75
76 * target.c (struct_offload_image_descr): Constify host_table.
77 (gomp_offload_image_to_device): Likewise.
78 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
79
80 * libgomp.h (gomp_device_descr): Constify target data arguments.
81 * target.c (struct offload_image_descr): Constify target_data.
82 (gomp_offload_image_to_device): Likewise.
83 (GOMP_offload_register): Likewise.
84 (GOMP_offload_unrefister): Likewise.
85 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
86 GOMP_OFFLOAD_unload_image): Constify target data.
87 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
88 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
89
90 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
91
92 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
93 Workaround driver library const error.
94 (struct nvptx_tdata, nvptx_tdata_t): New.
95 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
96 type.
97
98 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
99
100 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
101 of EPS parameter from integer to real.
102 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
103 type of EPS parameter from integer to real.
104
105 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
106
107 * team.c (get_last_team): New.
108 (gomp_new_team): Recycle last non-nested team if possible.
109 (gomp_team_end): Move team work share list free lock destruction
110 to ...
111 (free_team): ... here.
112
113 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
114
115 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
116 and ref from int to double. Replaced their comparison with
117 an inequality of their difference and EPS.
118 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
119 comparison of pri and a reference number with an inequality of their
120 difference and EPS.
121 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
122 the comparison of sum and sum_ref with an inequality of their
123 difference and EPS.
124 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
125 the comparison of pri and a reference number with an inequality of
126 their difference and EPS.
127
128 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
129
130 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
131 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
132 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
133 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
134 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
135 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
136 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
137 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
138 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
139 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
140 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
141 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
142 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
143 variables.
144 (vec_mult): Likewise. Add #pragma omp taskwait.
145 (main): Adjust caller.
146 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
147 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
148 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
149 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
150 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
151 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
152 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
153 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
154 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
155 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
156 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
157 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
158 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
159 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
160 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
161 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
162 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
163 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
164 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
165 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
166 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
167 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
168 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
169 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
170 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
171 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
172 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
173 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
174 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
175 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
176 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
177 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
178 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
179 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
180 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
181 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
182 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
183 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
184 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
185 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
186 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
187 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
188 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
189 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
190 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
191 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
192 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
193 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
194 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
195 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
196 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
197 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
198 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
199 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
200 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
201 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
202 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
203 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
204 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
205 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
206 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
207 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
208 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
209 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
210 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
211 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
212 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
213 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
214 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
215 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
216 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
217 (vec_mult): Add !$omp taskwait.
218 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
219 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
220 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
221 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
222 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
223 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
224 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
225 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
226 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
227 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
228 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
229 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
230 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
231 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
232 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
233 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
234 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
235 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
236 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
237 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
238 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
239 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
240 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
241 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
242 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
243 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
244 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
245 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
246 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
247 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
248 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
249 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
250 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
251 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
252 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
253 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
254 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
255 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
256 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
257 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
258 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
259 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
260 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
261 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
262 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
263 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
264 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
265 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
266 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
267 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
268 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
269 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
270 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
271 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
272 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
273 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
274 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
275 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
276 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
277 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
278 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
279 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
280 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
281 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
282 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
283 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
284 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
285
286 2015-07-10 Tom de Vries <tom@codesourcery.com>
287
288 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
289 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
290
291 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
292
293 PR libgomp/65099
294 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
295 in a 64-bit configuration.
296 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
297 offloading testing if no such device is available.
298 * testsuite/libgomp.oacc-c/c.exp: Likewise.
299 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
300
301 2015-07-08 Tom de Vries <tom@codesourcery.com>
302
303 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
304 second call to f.
305 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
306
307 2015-07-07 Tom de Vries <tom@codesourcery.com>
308
309 PR tree-optimization/66642
310 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
311 iteration count case.
312 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
313 function, factor out of ...
314 (main): ... here. Test low iteration count case.
315
316 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
317
318 * libgomp.h (gomp_thread_pool): Comment last_team field.
319
320 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
321
322 * testsuite/libgomp.c++/pr66702-1.C: Require
323 vect_simd_clones effective target.
324 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
325
326 2015-06-30 Tom de Vries <tom@codesourcery.com>
327
328 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
329 already set. Use DEFAULT_CFLAGS in dg-runtest.
330 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
331 "-O2".
332
333 2015-06-30 Tom de Vries <tom@codesourcery.com>
334
335 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
336 already set. Use DEFAULT_CFLAGS in dg-runtest.
337 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
338 * testsuite/libgomp.c++/pr64824.C: Same.
339 * testsuite/libgomp.c++/pr64868.C: Same.
340 * testsuite/libgomp.c++/pr66199-1.C: Same.
341 * testsuite/libgomp.c++/pr66199-2.C: Same.
342 * testsuite/libgomp.c++/target-2.C: Same.
343 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
344 -std=<standard> option.
345 * testsuite/libgomp.c++/udr-11.C: Same.
346 * testsuite/libgomp.c++/udr-12.C: Same.
347 * testsuite/libgomp.c++/udr-13.C: Same.
348 * testsuite/libgomp.c++/udr-14.C: Same.
349 * testsuite/libgomp.c++/udr-15.C: Same.
350 * testsuite/libgomp.c++/udr-16.C: Same.
351 * testsuite/libgomp.c++/udr-17.C: Same.
352 * testsuite/libgomp.c++/udr-18.C: Same.
353 * testsuite/libgomp.c++/udr-19.C: Same.
354 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
355 * testsuite/libgomp.c++/simd-1.C: Same.
356 * testsuite/libgomp.c++/simd-2.C: Same.
357 * testsuite/libgomp.c++/simd-3.C: Same.
358 * testsuite/libgomp.c++/simd-4.C: Same.
359 * testsuite/libgomp.c++/simd-5.C: Same.
360 * testsuite/libgomp.c++/simd-6.C: Same.
361 * testsuite/libgomp.c++/simd-7.C: Same.
362 * testsuite/libgomp.c++/simd-8.C: Same.
363 * testsuite/libgomp.c++/simd-9.C: Same.
364 * testsuite/libgomp.c++/simd10.C: Same.
365 * testsuite/libgomp.c++/simd11.C: Same.
366 * testsuite/libgomp.c++/simd12.C: Same.
367 * testsuite/libgomp.c++/simd13.C: Same.
368
369 2015-06-30 Jakub Jelinek <jakub@redhat.com>
370
371 PR middle-end/66702
372 * testsuite/libgomp.c++/pr66702-1.C: New test.
373 * testsuite/libgomp.c++/pr66702-2.C: New test.
374
375 2015-06-30 Tom de Vries <tom@codesourcery.com>
376
377 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
378 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
379 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
380 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
381
382 2015-06-30 Tom de Vries <tom@codesourcery.com>
383
384 PR tree-optimization/66652
385 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
386 using restrict pointers.
387 (main): Add arguments to calls to f.
388 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
389
390 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
391
392 * configure.ac: Fix check for header <sys/sysctl.h>.
393 * configure: Regenerate.
394 * config.h.in: Likewise.
395
396 2015-06-23 Tom de Vries <tom@codesourcery.com>
397
398 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
399 abort.
400 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
401
402 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
403
404 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
405 acc_device_nvidia.
406
407 PR libgomp/66518
408 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
409 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
410
411 2015-06-15 Tom de Vries <tom@codesourcery.com>
412
413 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
414 dg-additional-options for any remaining options.
415 * testsuite/libgomp.c/atomic-2.c: Same.
416 * testsuite/libgomp.c/atomic-4.c: Same.
417 * testsuite/libgomp.c/atomic-5.c: Same.
418 * testsuite/libgomp.c/atomic-6.c: Same.
419 * testsuite/libgomp.c/autopar-1.c: Same.
420 * testsuite/libgomp.c/copyin-1.c: Same.
421 * testsuite/libgomp.c/copyin-2.c: Same.
422 * testsuite/libgomp.c/copyin-3.c: Same.
423 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
424 * testsuite/libgomp.c/nestedfn-5.c: Same.
425 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
426 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
427 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
428 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
429 * testsuite/libgomp.c/pr32362-1.c: Same.
430 * testsuite/libgomp.c/pr32362-2.c: Same.
431 * testsuite/libgomp.c/pr32362-3.c: Same.
432 * testsuite/libgomp.c/pr39591-1.c: Same.
433 * testsuite/libgomp.c/pr39591-2.c: Same.
434 * testsuite/libgomp.c/pr39591-3.c: Same.
435 * testsuite/libgomp.c/pr58392.c: Same.
436 * testsuite/libgomp.c/pr58756.c: Same.
437 * testsuite/libgomp.c/simd-1.c: Same.
438 * testsuite/libgomp.c/simd-10.c: Same.
439 * testsuite/libgomp.c/simd-11.c: Same.
440 * testsuite/libgomp.c/simd-12.c: Same.
441 * testsuite/libgomp.c/simd-13.c: Same.
442 * testsuite/libgomp.c/simd-14.c: Same.
443 * testsuite/libgomp.c/simd-15.c: Same.
444 * testsuite/libgomp.c/simd-2.c: Same.
445 * testsuite/libgomp.c/simd-3.c: Same.
446 * testsuite/libgomp.c/simd-4.c: Same.
447 * testsuite/libgomp.c/simd-5.c: Same.
448 * testsuite/libgomp.c/simd-6.c: Same.
449 * testsuite/libgomp.c/simd-7.c: Same.
450 * testsuite/libgomp.c/simd-8.c: Same.
451 * testsuite/libgomp.c/simd-9.c: Same.
452
453 2015-06-15 Tom de Vries <tom@codesourcery.com>
454
455 * testsuite/libgomp.c/pr35625.c: Fix typo.
456
457 2015-06-15 Tom de Vries <tom@codesourcery.com>
458
459 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
460 in dg-options.
461 * testsuite/libgomp.c/atomic-3.c: Same.
462 * testsuite/libgomp.c/debug-1.c: Same.
463 * testsuite/libgomp.c/nqueens-1.c: Same.
464 * testsuite/libgomp.c/pr26171.c: Same.
465 * testsuite/libgomp.c/pr48591.c: Same.
466 * testsuite/libgomp.c/pr64824.c: Same.
467 * testsuite/libgomp.c/pr64868.c: Same.
468 * testsuite/libgomp.c/pr66133.c: Same.
469 * testsuite/libgomp.c/pr66199-1.c: Same.
470 * testsuite/libgomp.c/pr66199-2.c: Same.
471 * testsuite/libgomp.c/target-8.c: Same.
472
473 2015-06-15 Tom de Vries <tom@codesourcery.com>
474
475 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
476 -std={gnu99,c99}.
477 * testsuite/libgomp.c/for-1.c: Same.
478 * testsuite/libgomp.c/for-2.c: Same.
479 * testsuite/libgomp.c/for-3.c: Same.
480 * testsuite/libgomp.c/pr35625.c: Same.
481 * testsuite/libgomp.c/pr39154.c: Same.
482 * testsuite/libgomp.c/simd-16.c: Same.
483 * testsuite/libgomp.c/simd-17.c: Same.
484
485 2015-06-13 Tom de Vries <tom@codesourcery.com>
486
487 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
488
489 2015-06-13 Tom de Vries <tom@codesourcery.com>
490
491 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
492 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
493 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
494 (N): Define.
495 (main): Use N instead of hardcoded constants.
496
497 2015-06-05 Tom de Vries <tom@codesourcery.com>
498
499 merge from gomp4 branch:
500 2015-05-28 Tom de Vries <tom@codesourcery.com>
501
502 PR tree-optimization/65443
503 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
504 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
505 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
506
507 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
508
509 * testsuite/libgomp.graphite/bounds.c: Adjust for
510 cleanup-tree-dump removal.
511 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
512 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
513 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
514 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
515 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
516 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
517 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
518 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
519 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
520 * testsuite/libgomp.graphite/pr41118.c: Likewise.
521
522 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
523
524 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
525 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
526 (futex_wake) [!__x86_64__]: Ditto.
527
528 2015-05-28 Julian Brown <julian@codesourcery.com>
529
530 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
531 function comment. Only call gomp_fatal if new argument is true.
532 (acc_dev_num_out_of_range): New function.
533 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
534 acc_dev_num_out_of_range as appropriate.
535 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
536 (acc_get_device_num, acc_set_device_num): Update calls to
537 resolve_device.
538 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
539 output.
540
541 2015-05-28 Julian Brown <julian@codesourcery.com>
542
543 PR libgomp/65742
544 * oacc-init.c (plugin/plugin-host.h): Include.
545 (acc_on_device): Check whether we're in an offloaded region for
546 host_nonshm
547 plugin. Don't use __builtin_acc_on_device.
548 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
549 nonshm_exec flag in thread-local data.
550 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
551 data for host_nonshm plugin.
552 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
553 for host_nonshm plugin.
554 * plugin/plugin-host.h: New.
555
556 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
557
558 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
559
560 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
561
562 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
563 Declare as int.
564 (FUTEX_PRIVATE_FLAG): Remove L suffix.
565 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
566 Declare as int.
567
568 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
569
570 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
571
572 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
573
574 * target.c (gomp_map_pointer): New function abstracting out
575 GOMP_MAP_POINTER handling.
576 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
577 gomp_map_pointer().
578
579 2015-05-19 Jakub Jelinek <jakub@redhat.com>
580
581 PR middle-end/66199
582 * testsuite/libgomp.c/pr66199-1.c: New test.
583 * testsuite/libgomp.c/pr66199-2.c: New test.
584 * testsuite/libgomp.c++/pr66199-1.C: New test.
585 * testsuite/libgomp.c++/pr66199-2.C: New test.
586 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
587 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
588
589 2015-05-19 Julian Brown <julian@codesourcery.com>
590
591 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
592 on cuInit failure.
593
594 2015-05-13 Jakub Jelinek <jakub@redhat.com>
595
596 PR middle-end/66133
597 * testsuite/libgomp.c/pr66133.c: New test.
598
599 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
600
601 * Makefile.in: Regenerated with automake-1.11.6.
602 * aclocal.m4: Likewise.
603 * config.h.in: Likewise.
604 * configure: Likewise.
605 * testsuite/Makefile.in: Likewise.
606
607 2015-05-08 Jason Merrill <jason@redhat.com>
608
609 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
610 _Complex.
611
612 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
613
614 2015-05-06 Julian Brown <julian@codesourcery.com>
615
616 * oacc-init.c (acc_device_lock): Add explanatory comment.
617 (resolve_device): Add comment about locking requirement.
618 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
619 gomp_init_device and gomp_fini_device calls.
620 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
621 (acc_get_device_num, acc_set_device_num): Add locking around
622 resolve_device and gomp_init_device calls.
623
624 2015-05-06 Julian Brown <julian@codesourcery.com>
625
626 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
627 goacc_thread_lock on error paths.
628 * oacc-mem.c (lookup_host): Remove locking from function. Note
629 locking requirement for caller in function comment.
630 (lookup_dev): Likewise.
631 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
632 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
633 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
634 Add locking.
635
636 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
637
638 PR testsuite/65205
639 PR libgomp/65993
640 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
641 don't expect "0x" prefix for "%p" format specifier, don't expect
642 "(nil)" for NULL pointer.
643 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
644 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
645 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
646 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
647 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
648 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
649 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
650 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
651 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
652 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
653 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
654 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
655 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
656 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
657 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
658 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
659 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
660 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
661 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
662 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
663 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
664 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
665 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
666 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
667 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
668 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
669 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
670 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
671 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
672 accurately specify what we're looking for.
673 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
674 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
675 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
676 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
677 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
678
679 2015-04-30 James Norris <jnorris@codesourcery.com>
680
681 PR testsuite/65205
682 * testsuite/lib/libgomp.exp
683 (check_effective_target_openacc_host_selected)
684 (check_effective_target_openacc_host_nonshm_selected): New
685 procedures.
686 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
687 dg-shouldfail.
688 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
689 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
690 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
691 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
692 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
693 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
694 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
695 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
696 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
697 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
698 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
699 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
700 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
701 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
702 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
703 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
704 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
705 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
706 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
707 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
708 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
709 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
710 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
711 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
712 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
713 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
714 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
715 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
716 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
717 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
718 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
719 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
720 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
721 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
722 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
723 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
724 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
725 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
726 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
727 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
728 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
729 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
730 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
731
732 2015-04-08 Julian Brown <julian@codesourcery.com>
733
734 * libgomp.h (target_mem_desc: Remove mem_map field.
735 (acc_dispatch_t): Remove open_device_func, close_device_func,
736 get_device_num_func, set_device_num_func, target_data members.
737 Change create_thread_data_func argument to device number instead of
738 generic pointer.
739 * oacc-async.c (assert.h): Include.
740 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
741 (acc_wait_all, acc_wait_all_async): Use current host thread's
742 active device, not base_dev.
743 * oacc-cuda.c (acc_get_current_cuda_device)
744 (acc_get_current_cuda_context, acc_get_cuda_stream)
745 (acc_set_cuda_stream): Likewise.
746 * oacc-host.c (host_dispatch): Don't set open_device_func,
747 close_device_func, get_device_num_func or set_device_num_func.
748 * oacc-init.c (base_dev, init_key): Remove.
749 (cached_base_dev): New.
750 (name_of_acc_device_t): New.
751 (acc_init_1): Initialise default-numbered device, not zeroth.
752 (acc_shutdown_1): Close all devices of a given type.
753 (goacc_destroy_thread): Don't use base_dev.
754 (lazy_open, lazy_init, lazy_init_and_open): Remove.
755 (goacc_attach_host_thread_to_device): New.
756 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
757 (acc_get_num_devices): Don't use base_dev.
758 (acc_set_device_type): Reimplement.
759 (acc_get_device_type): Don't use base_dev.
760 (acc_get_device_num): Tweak logic.
761 (acc_set_device_num): Likewise.
762 (acc_on_device): Use acc_get_device_type.
763 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
764 (goacc_lazy_initialize): Reimplement with acc_init and
765 goacc_attach_host_thread_to_device.
766 * oacc-int.h (goacc_thread): Add base_dev field.
767 (base_dev): Remove extern declaration.
768 (goacc_attach_host_thread_to_device): Add prototype.
769 * oacc-mem.c (acc_malloc): Use current thread's device instead of
770 base_dev.
771 (acc_free): Likewise.
772 (acc_memcpy_to_device): Likewise.
773 (acc_memcpy_from_device): Likewise.
774 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
775 goacc_lazy_initialize (throughout).
776 (GOACC_parallel): Use tgt_offset to locate target functions.
777 * target.c (gomp_map_vars): Don't set tgt->mem_map.
778 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
779 (gomp_load_plugin_for_device): Remove open_device, close_device,
780 get_device_num, set_device_num openacc hook initialisation. Don't set
781 openacc.target_data.
782 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
783 (GOMP_OFFLOAD_openacc_close_device)
784 (GOMP_OFFLOAD_openacc_get_device_num)
785 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
786 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
787 to int.
788 * plugin/plugin-nvptx.c (ptx_inited): Remove.
789 (instantiated_devices, ptx_dev_lock): New.
790 (struct ptx_image_data): New.
791 (ptx_devices, ptx_images, ptx_image_lock): New.
792 (fini_streams_for_device): Reorder cuStreamDestroy call.
793 (nvptx_get_num_devices): Remove forward declaration.
794 (nvptx_init): Change return type to bool.
795 (nvptx_fini): Remove.
796 (nvptx_attach_host_thread_to_device): New.
797 (nvptx_open_device): Return struct ptx_device* instead of void*.
798 (nvptx_close_device): Change argument type to struct ptx_device*,
799 return type to void.
800 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
801 (kernel_target_data, kernel_host_table): Remove static globals.
802 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
803 (GOMP_OFFLOAD_init_device): Reimplement.
804 (GOMP_OFFLOAD_fini_device): Likewise.
805 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
806 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
807 (GOMP_OFFLOAD_host2dev): Use ORD argument.
808 (GOMP_OFFLOAD_openacc_open_device)
809 (GOMP_OFFLOAD_openacc_close_device)
810 (GOMP_OFFLOAD_openacc_set_device_num)
811 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
812 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
813 (device number).
814
815 testsuite/
816 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
817
818 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
819
820 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
821 * libgomp.h (struct gomp_memory_mapping): Remove.
822 (struct target_mem_desc): Change type of mem_map from
823 gomp_memory_mapping * to splay_tree_s *.
824 (struct gomp_device_descr): Remove register_image_func, get_table_func.
825 Add load_image_func, unload_image_func.
826 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
827 Remove offload_regions_registered.
828 (gomp_init_tables): Remove.
829 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
830 to splay_tree_s *.
831 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
832 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
833 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
834 offload_regions_registered.
835 Initialize load_image_func, unload_image_func, mem_map.root.
836 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
837 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
838 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
839 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
840 gomp_memory_mapping *. Use dev's lock and splay_tree.
841 (lookup_dev): Use dev's lock.
842 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
843 (acc_is_present): Likewise.
844 (acc_map_data): Likewise.
845 (acc_unmap_data): Likewise. Use dev's lock.
846 (present_create_copy): Likewise.
847 (delete_copyout): Pass dev to lookup_host instead of mem_map.
848 (update_dev_host): Likewise.
849 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
850 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
851 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
852 (GOMP_OFFLOAD_get_table): Remove
853 (GOMP_OFFLOAD_load_image): New function.
854 (GOMP_OFFLOAD_unload_image): New function.
855 * target.c (register_lock): New mutex for offload image registration.
856 (num_devices): Do not guard with PLUGIN_SUPPORT.
857 (gomp_realloc_unlock): New static function.
858 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
859 before gomp_fatal.
860 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
861 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
862 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
863 mem_map's.
864 (gomp_unmap_vars): Likewise.
865 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
866 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
867 (gomp_offload_image_to_device): New static function.
868 (GOMP_offload_register): Add mutex lock.
869 Call gomp_offload_image_to_device for all initialized devices.
870 Replace gomp_realloc with gomp_realloc_unlock.
871 (GOMP_offload_unregister): New function.
872 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
873 get_table_func from the plugin with calls to init_device_func and
874 gomp_offload_image_to_device.
875 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
876 to splay_tree_s *.
877 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
878 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
879 (GOMP_target_data): Do not call gomp_init_tables.
880 (GOMP_target_update): Likewise. Remove argument from gomp_update.
881 (gomp_load_plugin_for_device): Replace register_image and get_table
882 with load_image and unload_image in DLSYM ().
883 (gomp_register_images_for_device): Remove function.
884 (gomp_target_init): Do not initialize current_device.mem_map.*,
885 current_device.offload_regions_registered.
886 Remove call to gomp_register_images_for_device.
887 Do not free offload_images and num_offload_images.
888
889 2015-03-30 Jakub Jelinek <jakub@redhat.com>
890
891 PR fortran/65597
892 * testsuite/libgomp.fortran/pr65597.f90: New test.
893
894 2015-03-27 Tom de Vries <tom@codesourcery.com>
895
896 PR testsuite/65594
897 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
898 (init, check): New function.
899 (foo): Change return type to void.
900 (main): Call init and check.
901
902 2015-03-27 Tom de Vries <tom@codesourcery.com>
903
904 PR testsuite/65594
905 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
906 (foo): Use M for non-inner loops to scale down test-case.
907
908 2015-03-25 Kai Tietz <ktietz@redhat.com>
909
910 PR libgomp/64972
911 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
912 (GOACC_data_start): Likewise.
913 * target.c (gomp_map_vars): Likewise.
914
915 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
916
917 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
918 hppa*-*-hpux*.
919
920 2015-03-19 Jakub Jelinek <jakub@redhat.com>
921
922 * testsuite/libgomp.c/target-10.c: New test.
923 * testsuite/libgomp.c++/target-4.C: New test.
924
925 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
926
927 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
928 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
929
930 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
931
932 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
933 * configure.ac (*-*-rtems*): Assume Pthread is supported.
934 (pthread.h): Check for this header file.
935 * configure: Regenerate.
936
937 2015-02-25 Tom de Vries <tom@codesourcery.com>
938
939 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
940 (check_reduction_op, check_reduction_macro, max, min):
941 Declare.
942 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
943 function.
944 (main): Use new functions.
945
946 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
947
948 * target.c (gomp_load_plugin_for_device): Use const char * instead of
949 char * for variables holding dlerror return values.
950 (DLSYM_OPT): Ditto.
951
952 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
953
954 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
955
956 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
957 Cesar Philippidis <cesar@codesourcery.com>
958
959 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
960 GOACC_ctaid, and GOACC_nctaid routines.
961
962 2015-02-11 Jakub Jelinek <jakub@redhat.com>
963
964 PR c/64824
965 * testsuite/libgomp.c/atomic-18.c: New test.
966 * testsuite/libgomp.c++/atomic-16.C: New test.
967
968 2015-02-04 Jakub Jelinek <jakub@redhat.com>
969
970 PR c/64824
971 PR c/64868
972 * testsuite/libgomp.c/pr64824.c: New test.
973 * testsuite/libgomp.c/pr64868.c: New test.
974 * testsuite/libgomp.c++/pr64824.C: New test.
975 * testsuite/libgomp.c++/pr64868.C: New test.
976
977 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
978
979 PR libgomp/64635
980 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
981 Link with -lpthread.
982 * config/aix/plugin-suffix.h: Delete.
983
984 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
985
986 PR libgomp/64635
987 * configure.tgt (*-*-aix*): Use config_path "aix posix".
988 (*-*-darwin*): Use config_path "bsd darwin posix".
989 (*-*-hpux*): Use config_path "hpux posix".
990 * target.c: Add include of plugin-suffix.h and use
991 SONAME_SUFFIX macro.
992 * config/aix/plugin-suffix.h: New file.
993 * config/darwin/plugin-suffix.h: New file.
994 * config/hpux/plugin-suffix.h: New file.
995 * config/posix/plugin-suffix.h: New file.
996
997 2015-01-23 Jakub Jelinek <jakub@redhat.com>
998
999 PR middle-end/64734
1000 * libgomp.c/pr64734.c: New test.
1001
1002 2015-01-23 Tom de Vries <tom@codesourcery.com>
1003
1004 PR libgomp/64672
1005 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
1006
1007 2015-01-23 Tom de Vries <tom@codesourcery.com>
1008
1009 PR libgomp/64707
1010 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
1011 dg-options.
1012
1013 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
1014
1015 PR libgomp/64625
1016 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
1017 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
1018 formal parameter. Update all users.
1019 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
1020 Document unused formal parameter.
1021
1022 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
1023
1024 * oacc-parallel.c: Don't include <alloca.h>.
1025 (GOACC_parallel): Use gomp_alloca instead of alloca.
1026
1027 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
1028
1029 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
1030
1031 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1032 James Norris <jnorris@codesourcery.com>
1033 Tom de Vries <tom@codesourcery.com>
1034 Julian Brown <julian@codesourcery.com>
1035 Cesar Philippidis <cesar@codesourcery.com>
1036 Nathan Sidwell <nathan@codesourcery.com>
1037 Tobias Burnus <burnus@net-b.de>
1038
1039 * Makefile.am (search_path): Add $(top_srcdir)/../include.
1040 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
1041 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
1042 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
1043 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
1044 Include $(top_srcdir)/plugin/Makefrag.am.
1045 (nodist_libsubinclude_HEADERS): Add openacc.h.
1046 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
1047 openacc.f90, openacc.mod, openacc_kinds.mod.
1048 (omp_lib.mod): Generalize into...
1049 (%.mod): ... this new rule.
1050 (openacc_kinds.mod, openacc.mod): New rules.
1051 * plugin/configfrag.ac: New file.
1052 * configure.ac: Move plugin/offloading support into it. Include
1053 it. Instantiate testsuite/libgomp-test-support.pt.exp.
1054 * plugin/Makefrag.am: New file.
1055 * testsuite/Makefile.am (OFFLOAD_TARGETS)
1056 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
1057 export.
1058 (libgomp-test-support.exp): New rule.
1059 (all-local): Depend on it.
1060 * Makefile.in: Regenerate.
1061 * testsuite/Makefile.in: Regenerate.
1062 * config.h.in: Likewise.
1063 * configure: Likewise.
1064 * configure.tgt: Harden shell syntax.
1065 * env.c: Include "oacc-int.h".
1066 (parse_acc_device_type): New function.
1067 (gomp_debug_var, goacc_device_type, goacc_device_num): New
1068 variables.
1069 (initialize_env): Initialize those. Call
1070 goacc_runtime_initialize.
1071 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
1072 (gomp_fatal): Call gomp_vfatal.
1073 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
1074 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
1075 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
1076 (splay_tree_node, splay_tree, splay_tree_key)
1077 (struct target_mem_desc, struct splay_tree_key_s)
1078 (struct gomp_memory_mapping, struct acc_dispatch_t)
1079 (struct gomp_device_descr, gomp_acc_insert_pointer)
1080 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
1081 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
1082 (gomp_free_memmap, gomp_fini_device): New declarations.
1083 (gomp_vdebug, gomp_debug): New macros.
1084 Include "splay-tree.h".
1085 * libgomp.map (OACC_2.0): New symbol version. Use for
1086 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
1087 acc_set_device_type_h_, acc_get_device_type,
1088 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
1089 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
1090 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
1091 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
1092 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
1093 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
1094 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
1095 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
1096 acc_copyin_array_h_, acc_present_or_copyin,
1097 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
1098 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
1099 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
1100 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
1101 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
1102 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
1103 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
1104 acc_update_device, acc_update_device_32_h_,
1105 acc_update_device_64_h_, acc_update_device_array_h_,
1106 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
1107 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
1108 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
1109 acc_is_present_64_h_, acc_is_present_array_h_,
1110 acc_memcpy_to_device, acc_memcpy_from_device,
1111 acc_get_current_cuda_device, acc_get_current_cuda_context,
1112 acc_get_cuda_stream, acc_set_cuda_stream.
1113 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
1114 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
1115 GOACC_update, GOACC_wait, GOACC_get_thread_num,
1116 GOACC_get_num_threads.
1117 (GOMP_PLUGIN_1.0): New symbol version. Use for
1118 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
1119 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
1120 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
1121 GOMP_PLUGIN_acc_thread.
1122 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
1123 environment variable.
1124 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
1125 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
1126 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
1127 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
1128 (splay_tree_remove): New declarations.
1129 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
1130 (splay_tree_remove, splay_tree_lookup): Move into...
1131 * splay-tree.c: ... this new file.
1132 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
1133 (splay_tree_node, splay_tree, splay_tree_key)
1134 (struct target_mem_desc, struct splay_tree_key_s)
1135 (struct gomp_device_descr): Don't declare.
1136 (num_devices_openmp): New variable.
1137 (gomp_get_num_devices ): Use it.
1138 (gomp_init_targets_once): New function.
1139 (gomp_get_num_devices ): Use it.
1140 (get_kind, gomp_copy_from_async, gomp_free_memmap)
1141 (gomp_fini_device, gomp_register_image_for_device): New functions.
1142 (gomp_map_vars): Add devaddrs parameter.
1143 (gomp_update): Add mm parameter.
1144 (gomp_init_device): Move most of it into...
1145 (gomp_init_tables): ... this new function.
1146 (gomp_register_images_for_device): Remove function.
1147 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
1148 Make them hidden instead of static.
1149 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
1150 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
1151 (GOMP_target_end_data, GOMP_target_update)
1152 (gomp_load_plugin_for_device, gomp_target_init): Update for
1153 OpenACC changes.
1154 * oacc-async.c: New file.
1155 * oacc-cuda.c: Likewise.
1156 * oacc-host.c: Likewise.
1157 * oacc-init.c: Likewise.
1158 * oacc-int.h: Likewise.
1159 * oacc-mem.c: Likewise.
1160 * oacc-parallel.c: Likewise.
1161 * oacc-plugin.c: Likewise.
1162 * oacc-plugin.h: Likewise.
1163 * oacc-ptx.h: Likewise.
1164 * openacc.f90: Likewise.
1165 * openacc.h: Likewise.
1166 * openacc_lib.h: Likewise.
1167 * plugin/plugin-host.c: Likewise.
1168 * plugin/plugin-nvptx.c: Likewise.
1169 * libgomp-plugin.c: Likewise.
1170 * libgomp-plugin.h: Likewise.
1171 * libgomp_target.h: Remove file after merging content into the
1172 former file. Update all users.
1173 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
1174 (offload_targets_s, offload_targets_s_openacc): New variables.
1175 (check_effective_target_openacc_nvidia_accel_present)
1176 (check_effective_target_openacc_nvidia_accel_selected): New
1177 procedures.
1178 (libgomp_init): Update for OpenACC changes.
1179 * testsuite/libgomp-test-support.exp.in: New file.
1180 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1181 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1182 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1183 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
1184 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
1185 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1186 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
1187 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
1188 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1189 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
1190 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
1191 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
1192 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
1193 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1194 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1195 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
1196 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1197 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1198 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1199 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1200 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
1201 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1202 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1203 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
1204 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1205 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1206 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1207 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1208 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1209 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1210 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1211 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1212 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1213 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
1214 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
1215 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1216 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
1217 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1218 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
1219 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1220 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1221 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1222 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1223 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1224 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1225 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
1226 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1227 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1228 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1229 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1230 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1231 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1232 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1233 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1234 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1235 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1236 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1237 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1238 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1239 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
1240 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1241 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
1242 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1243 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1244 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1245 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
1246 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
1247 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1248 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1249 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1250 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
1251 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1252 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1253 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1254 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
1255 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
1256 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1257 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1258 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
1259 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
1260 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
1261 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
1262 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1263 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1264 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1265 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
1266 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
1267 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1268 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1269 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
1270 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1271 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
1272 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
1273 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
1274 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1275 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1276 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1277 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
1278 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1279 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1280 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1281 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
1282 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1283 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
1284 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1285 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1286 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1287 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1288 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1289 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1290 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1291 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1292 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1293 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1294 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1295 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1296 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1297 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1298 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1299 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1300 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1301 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1302 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
1303 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1304 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1305 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1306 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1307 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
1308 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
1309 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
1310 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
1311 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
1312 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1313 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
1314 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
1315 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1316 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1317 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1318 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1319 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
1320 Likewise.
1321 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
1322 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
1323 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
1324 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1325 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
1326 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1327 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1328 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1329 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1330 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1331 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1332 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1333 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1334 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
1335 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1336 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
1337 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
1338 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
1339 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
1340 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
1341 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
1342 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1343 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1344 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
1345 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1346 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
1347 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1348 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1349 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1350 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1351 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1352 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1353 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1354 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1355 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
1356 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1357 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
1358 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
1359 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
1360 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1361 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
1362 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1363 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1364 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
1365 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
1366 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1367 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
1368 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
1369 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1370 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1371 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1372 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1373 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1374 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1375 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
1376 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1377 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1378 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
1379 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
1380 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
1381
1382 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1383 Julian Brown <julian@codesourcery.com>
1384 David Malcolm <dmalcolm@redhat.com>
1385
1386 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
1387 to "GNU Offloading and Multi Processing Runtime Library". Change
1388 all users.
1389 * configure: Regenerate.
1390 * libgomp.texi: Update.
1391
1392 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
1393
1394 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
1395 "$tgt_dir/lib32".
1396 * configure: Regenerate.
1397
1398 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
1399 "intelmic" in $offload_targets.
1400
1401 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1402
1403 Update copyright years.
1404
1405 * libgomp.texi: Bump @copying's copyright year.
1406
1407 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1408
1409 * testsuite/lib/libgomp.exp: Load target-utils.exp.
1410 Move load of target-supportes.exp earlier.
1411
1412 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
1413
1414 * testsuite/libgomp.c/target-9.c: New test.
1415
1416 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
1417
1418 * config.h.in: Regenerate.
1419 * configure: Regenerate.
1420 * configure.ac: Add GCC_CHECK_EMUTLS.
1421 * libgomp.h: Add check for USE_EMUTLS: this case
1422 is equal to HAVE_TLS.
1423 * team.c: Likewise.
1424
1425 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
1426
1427 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
1428
1429 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
1430 Ilya Verbin <ilya.verbin@intel.com>
1431
1432 * testsuite/libgomp.c/target-critical-1.c: New test.
1433
1434 2014-11-26 Jakub Jelinek <jakub@redhat.com>
1435
1436 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
1437 to dg-options unless expensive testing is on.
1438 (TESTITERS): Define to N if not defined.
1439 (main): Use TESTITERS instead of N.
1440 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
1441 dg-additional-options depending on whether expensive testing is on.
1442 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
1443 Decrease N to 100000 and CHUNKSZ to 10000.
1444
1445 2014-11-24 Jakub Jelinek <jakub@redhat.com>
1446
1447 PR fortran/63938
1448 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
1449 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
1450
1451 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
1452
1453 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
1454
1455 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
1456
1457 PR bootstrap/63784
1458 * configure: Regenerated.
1459
1460 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
1461
1462 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
1463 vect_simd_clones effective target.
1464 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
1465
1466 2014-11-14 Jakub Jelinek <jakub@redhat.com>
1467
1468 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
1469 of 32 as block_size.
1470 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
1471 instead of 32 as block_size.
1472
1473 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
1474 Ilya Verbin <ilya.verbin@intel.com>
1475
1476 * Makefile.in: Regenerate.
1477 * configure: Regenerate.
1478 * configure.ac: Set up offload_additional_options,
1479 offload_additional_lib_paths and offload_targets.
1480 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
1481 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
1482 * testsuite/Makefile.in: Regenerate.
1483 * testsuite/lib/libgomp.exp (libgomp_init): Append
1484 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
1485 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
1486 build directory to LD_LIBRARY_PATH for intelmic offload targets.
1487
1488 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
1489 Ilya Verbin <ilya.verbin@intel.com>
1490 Kirill Yukhin <kirill.yukhin@intel.com>
1491 Ilya Tocar <ilya.tocar@intel.com>
1492
1493 * testsuite/lib/libgomp.exp
1494 (check_effective_target_offload_device): New.
1495 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
1496 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
1497 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
1498 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
1499 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
1500 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
1501 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
1502 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
1503 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
1504 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
1505 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
1506 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
1507 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
1508 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
1509 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
1510 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
1511 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
1512 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
1513 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
1514 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
1515 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
1516 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
1517 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
1518 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
1519 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
1520 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
1521 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
1522 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
1523 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
1524 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
1525 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
1526 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
1527 * testsuite/libgomp.c/target-7.c: Fix test.
1528 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
1529 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
1530 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
1531 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
1532 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
1533 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
1534 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
1535 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
1536 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
1537 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
1538 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
1539 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
1540 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
1541 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
1542 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
1543 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
1544 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
1545 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
1546 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
1547 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
1548 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
1549 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
1550 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
1551 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
1552 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
1553 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
1554 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
1555 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
1556 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
1557 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
1558 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
1559
1560 2014-11-13 Jakub Jelinek <jakub@redhat.com>
1561 Ilya Verbin <ilya.verbin@intel.com>
1562 Thomas Schwinge <thomas@codesourcery.com>
1563 Andrey Turetskiy <andrey.turetskiy@intel.com>
1564
1565 * libgomp.map (GOMP_4.0.1): New symbol version.
1566 Add GOMP_offload_register.
1567 * libgomp_target.h: New file.
1568 * splay-tree.h: New file.
1569 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
1570 (gomp_target_init): New forward declaration.
1571 (gomp_is_initialized): New static variable.
1572 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
1573 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
1574 New structures.
1575 (offload_images, num_offload_images, devices, num_devices): New static
1576 variables.
1577 (splay_compare): New static function.
1578 (struct gomp_device_descr): New structure.
1579 (gomp_get_num_devices): Call gomp_target_init.
1580 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
1581 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
1582 (GOMP_offload_register): New function.
1583 (GOMP_target): Arrange for host callback to be performed in a separate
1584 initial thread and contention group, inheriting ICVs from
1585 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
1586 Add device initialization and lookup for target function in splay tree.
1587 (GOMP_target_data): Add device initialization and call gomp_map_vars.
1588 (GOMP_target_end_data): Call gomp_unmap_vars.
1589 (GOMP_target_update): Add device initialization and call gomp_update.
1590 (gomp_load_plugin_for_device, gomp_register_images_for_device)
1591 (gomp_target_init): New static functions.
1592
1593 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
1594 Thomas Schwinge <thomas@codesourcery.com>
1595 Ilya Verbin <ilya.verbin@intel.com>
1596 Andrey Turetskiy <andrey.turetskiy@intel.com>
1597
1598 * config.h.in: Regenerate.
1599 * configure: Regenerate.
1600 * configure.ac: Check for libdl, required for plugin support.
1601 (PLUGIN_SUPPORT): Define if plugins are supported.
1602 (enable_offload_targets): Support Intel MIC targets.
1603 (OFFLOAD_TARGETS): List of target names suitable for offloading.
1604
1605 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1606
1607 PR target/63610
1608 * configure: Regenerate.
1609
1610 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1611
1612 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
1613
1614 2014-10-06 Marek Polacek <polacek@redhat.com>
1615
1616 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
1617 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
1618 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
1619 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1620
1621 2014-10-06 Marek Polacek <polacek@redhat.com>
1622
1623 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
1624 * testsuite/libgomp.c/nqueens-1.c: Likewise.
1625 * testsuite/libgomp.c/pr26943-3.c: Likewise.
1626 * testsuite/libgomp.c/pr26943-4.c: Likewise.
1627 * testsuite/libgomp.c/pr36802-2.c: Likewise.
1628 * testsuite/libgomp.c/pr36802-3.c: Likewise.
1629 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
1630 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1631 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
1632 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
1633 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
1634 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
1635 * testsuite/libgomp.c/omp-single-1.c: Likewise.
1636 * testsuite/libgomp.c/omp-single-2.c: Likewise.
1637 * testsuite/libgomp.c/omp_matvec.c: Likewise.
1638 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
1639 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
1640 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
1641 declarations.
1642
1643 2014-10-03 Jakub Jelinek <jakub@redhat.com>
1644
1645 PR libgomp/61200
1646 * testsuite/libgomp.c/pr61200.c: New test.
1647
1648 2014-09-18 Jakub Jelinek <jakub@redhat.com>
1649
1650 PR c++/63248
1651 * testsuite/libgomp.c++/pr63248.C: New test.
1652
1653 2014-08-04 Jakub Jelinek <jakub@redhat.com>
1654
1655 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
1656 is not zero, but taskgroup->children is NULL and there are
1657 any task->children, schedule those instead of waiting.
1658 * testsuite/libgomp.c/depend-6.c: New test.
1659 * testsuite/libgomp.c/depend-7.c: New test.
1660 * testsuite/libgomp.c/depend-8.c: New test.
1661 * testsuite/libgomp.c/depend-9.c: New test.
1662 * testsuite/libgomp.c/depend-10.c: New test.
1663
1664 2014-08-01 Jakub Jelinek <jakub@redhat.com>
1665
1666 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
1667 (struct gomp_taskwait): New type.
1668 (struct gomp_task): Add taskwait and parent_depends_on, remove
1669 in_taskwait and taskwait_sem fields.
1670 (gomp_finish_task): Don't destroy taskwait_sem.
1671 * task.c (gomp_init_task): Don't init in_taskwait, instead init
1672 taskwait and parent_depends_on.
1673 (GOMP_task): For if (0) tasks with depend clause that depend on
1674 earlier tasks don't defer them, instead call
1675 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
1676 Initialize redundant_out field, for redundant out entries just
1677 move them at the end of linked list instead of removing them
1678 completely, and set redundant_out flag instead of redundant.
1679 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
1680 that task.
1681 (gomp_task_run_post_handle_dependers): If parent is in
1682 gomp_task_maybe_wait_for_dependencies and newly runnable task
1683 is not parent_depends_on, queue it in parent->children linked
1684 list after all runnable tasks with parent_depends_on set.
1685 Adjust for addition of taskwait indirection.
1686 (gomp_task_run_post_remove_parent): If parent is in
1687 gomp_task_maybe_wait_for_dependencies and task to be removed
1688 is parent_depends_on, decrement n_depend and if needed awake
1689 parent. Adjust for addition of taskwait indirection.
1690 (GOMP_taskwait): Adjust for addition of taskwait indirection.
1691 (gomp_task_maybe_wait_for_dependencies): New function.
1692 * testsuite/libgomp.c/depend-5.c: New test.
1693
1694 2014-07-13 Tobias Burnus <burnus@net-b.de>
1695
1696 * testsuite/libgomp.fortran/pr34020.f90: Make compile
1697 with TS 18508/Fortran 2015.
1698
1699 2014-07-06 Marek Polacek <polacek@redhat.com>
1700
1701 PR c/6940
1702 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
1703
1704 2014-07-03 Jakub Jelinek <jakub@redhat.com>
1705
1706 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
1707 matches regex $lang_source_re, add $lang_include_flags to options.
1708 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
1709 * testsuite/libgomp.c++/c++.exp: Likewise.
1710 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
1711 and lang_include_flags instead of adding -fintrinsic-modules-path= to
1712 ALWAYS_CFLAGS.
1713 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
1714
1715 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
1716
1717 * testsuite/libgomp.fortran/fortran.exp: Explain
1718 gfortran-dg-runtest usage.
1719
1720 2014-06-25 Jakub Jelinek <jakub@redhat.com>
1721
1722 * testsuite/libgomp.fortran/simd5.f90: New test.
1723 * testsuite/libgomp.fortran/simd6.f90: New test.
1724 * testsuite/libgomp.fortran/simd7.f90: New test.
1725
1726 2014-06-24 Jakub Jelinek <jakub@redhat.com>
1727
1728 * testsuite/libgomp.c/for-2.c: Define SC to static for
1729 #pragma omp for simd testing.
1730 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
1731 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
1732 SC macro.
1733 * testsuite/libgomp.c/simd-14.c: New test.
1734 * testsuite/libgomp.c/simd-15.c: New test.
1735 * testsuite/libgomp.c/simd-16.c: New test.
1736 * testsuite/libgomp.c/simd-17.c: New test.
1737 * testsuite/libgomp.c++/for-10.C: Define SC to static for
1738 #pragma omp for simd testing.
1739 * testsuite/libgomp.c++/simd10.C: New test.
1740 * testsuite/libgomp.c++/simd11.C: New test.
1741 * testsuite/libgomp.c++/simd12.C: New test.
1742 * testsuite/libgomp.c++/simd13.C: New test.
1743
1744 * testsuite/libgomp.fortran/aligned1.f03: New test.
1745 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
1746 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
1747 tasks with !$omp parallel !$omp single.
1748 * testsuite/libgomp.fortran/target8.f90: New test.
1749 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
1750 not to use trim in the combiner, instead call elemental function.
1751 (fn): New elemental function.
1752 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
1753 Make elemental.
1754 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
1755 omp_in): Likewise.
1756 * testsuite/libgomp.fortran/udr12.f90: New test.
1757 * testsuite/libgomp.fortran/udr13.f90: New test.
1758 * testsuite/libgomp.fortran/udr14.f90: New test.
1759 * testsuite/libgomp.fortran/udr15.f90: New test.
1760
1761 2014-06-18 Jakub Jelinek <jakub@redhat.com>
1762
1763 * omp_lib.f90.in (openmp_version): Set to 201307.
1764 * omp_lib.h.in (openmp_version): Likewise.
1765 * testsuite/libgomp.c/target-8.c: New test.
1766 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
1767 and inbranch clauses.
1768 * testsuite/libgomp.fortran/depend-3.f90: New test.
1769 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
1770 openmp_version.
1771 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1772 * testsuite/libgomp.fortran/target1.f90: New test.
1773 * testsuite/libgomp.fortran/target2.f90: New test.
1774 * testsuite/libgomp.fortran/target3.f90: New test.
1775 * testsuite/libgomp.fortran/target4.f90: New test.
1776 * testsuite/libgomp.fortran/target5.f90: New test.
1777 * testsuite/libgomp.fortran/target6.f90: New test.
1778 * testsuite/libgomp.fortran/target7.f90: New test.
1779
1780 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1781
1782 PR fortran/60928
1783 * testsuite/libgomp.fortran/allocatable9.f90: New test.
1784 * testsuite/libgomp.fortran/allocatable10.f90: New test.
1785 * testsuite/libgomp.fortran/allocatable11.f90: New test.
1786 * testsuite/libgomp.fortran/allocatable12.f90: New test.
1787 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
1788 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
1789 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
1790 * testsuite/libgomp.fortran/associate1.f90: New test.
1791 * testsuite/libgomp.fortran/associate2.f90: New test.
1792 * testsuite/libgomp.fortran/procptr1.f90: New test.
1793
1794 2014-06-06 Jakub Jelinek <jakub@redhat.com>
1795
1796 * testsuite/libgomp.fortran/simd1.f90: New test.
1797 * testsuite/libgomp.fortran/udr1.f90: New test.
1798 * testsuite/libgomp.fortran/udr2.f90: New test.
1799 * testsuite/libgomp.fortran/udr3.f90: New test.
1800 * testsuite/libgomp.fortran/udr4.f90: New test.
1801 * testsuite/libgomp.fortran/udr5.f90: New test.
1802 * testsuite/libgomp.fortran/udr6.f90: New test.
1803 * testsuite/libgomp.fortran/udr7.f90: New test.
1804 * testsuite/libgomp.fortran/udr8.f90: New test.
1805 * testsuite/libgomp.fortran/udr9.f90: New test.
1806 * testsuite/libgomp.fortran/udr10.f90: New test.
1807 * testsuite/libgomp.fortran/udr11.f90: New test.
1808
1809 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
1810
1811 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
1812 vect_simd_clones effective target.
1813 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
1814
1815 2014-05-21 Jakub Jelinek <jakub@redhat.com>
1816
1817 PR middle-end/61252
1818 * testsuite/libgomp.c++/simd-9.C: New test.
1819
1820 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
1821
1822 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
1823 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
1824 texts according to their @menu entry positions.
1825
1826 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1827
1828 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
1829 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
1830 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
1831 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
1832 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
1833 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
1834 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
1835 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
1836 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
1837 * testsuite/libgomp.fortran/depend-1.f90: New test.
1838 * testsuite/libgomp.fortran/depend-2.f90: New test.
1839 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
1840 * testsuite/libgomp.fortran/simd1.f90: New test.
1841 * testsuite/libgomp.fortran/simd2.f90: New test.
1842 * testsuite/libgomp.fortran/simd3.f90: New test.
1843 * testsuite/libgomp.fortran/simd4.f90: New test.
1844 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
1845
1846 2014-05-02 Jakub Jelinek <jakub@redhat.com>
1847
1848 * testsuite/libgomp.c/simd-10.c: New test.
1849 * testsuite/libgomp.c/simd-11.c: New test.
1850 * testsuite/libgomp.c/simd-12.c: New test.
1851 * testsuite/libgomp.c/simd-13.c: New test.
1852
1853 2014-04-24 Jakub Jelinek <jakub@redhat.com>
1854
1855 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
1856 atomic type clauses in any order and optional comma in between.
1857 * testsuite/libgomp.c++/atomic-15.C: Likewise.
1858 * testsuite/libgomp.c/atomic-17.c: Likewise.
1859
1860 * testsuite/libgomp.c/simd-7.c: New test.
1861 * testsuite/libgomp.c/simd-8.c: New test.
1862 * testsuite/libgomp.c/simd-9.c: New test.
1863 * testsuite/libgomp.c/loop-16.c: New test.
1864
1865 2014-04-02 Richard Henderson <rth@redhat.com>
1866
1867 * config/linux/futex.h (futex_wait): Get error value from errno.
1868 (futex_wake): Likewise.
1869
1870 2014-03-25 Jakub Jelinek <jakub@redhat.com>
1871
1872 PR c++/60331
1873 * testsuite/libgomp.c++/udr-11.C: New test.
1874 * testsuite/libgomp.c++/udr-12.C: New test.
1875 * testsuite/libgomp.c++/udr-13.C: New test.
1876 * testsuite/libgomp.c++/udr-14.C: New test.
1877 * testsuite/libgomp.c++/udr-15.C: New test.
1878 * testsuite/libgomp.c++/udr-16.C: New test.
1879 * testsuite/libgomp.c++/udr-17.C: New test.
1880 * testsuite/libgomp.c++/udr-18.C: New test.
1881 * testsuite/libgomp.c++/udr-19.C: New test.
1882
1883 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1884
1885 Update copyright years
1886
1887 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1888
1889 * hashtab.h: Use the standard form for the copyright notice.
1890
1891 2014-01-02 Tobias Burnus <burnus@net-b.de>
1892
1893 * libgomp.texi: Bump @copying's copyright year.
1894
1895 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
1896
1897 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
1898 alloca () with __builtin_alloca ().
1899 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
1900 * testsuite/libgomp.c/lock-3.c: Likewise.
1901 * testsuite/libgomp.c/pr48591.c: Likewise.
1902
1903 2013-12-17 Jakub Jelinek <jakub@redhat.com>
1904
1905 PR testsuite/59534
1906 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
1907 comparisons.
1908
1909 2013-12-16 Jakub Jelinek <jakub@redhat.com>
1910
1911 PR libgomp/58756
1912 * testsuite/libgomp.c/pr58756.c: New test.
1913
1914 2013-12-12 Jakub Jelinek <jakub@redhat.com>
1915
1916 PR libgomp/59467
1917 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
1918 !$omp parallel.
1919
1920 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
1921
1922 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
1923 ALWAYS_CFLAGS.
1924 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
1925 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1926 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1927 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1928 Likewise.
1929
1930 * libgomp_g.h: Include <stddef.h> for size_t.
1931
1932 * libgomp.spec.in: Update comment about libgomp's dependencies.
1933 * configure.ac: Likewise.
1934 * configure: Regenerate.
1935
1936 2013-10-16 Tobias Burnus <burnus@net-b.de>
1937
1938 * libgomp.texi: (Runtime Library Routines): Update references for
1939 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
1940 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
1941 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
1942 (Environment Variables): Update references for OpenMP 4.0. Add
1943 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
1944 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
1945 order.
1946
1947 2013-10-14 Jakub Jelinek <jakub@redhat.com>
1948
1949 * env.c (parse_bind_var): Initialize value to avoid
1950 (false positive) warning.
1951
1952 2013-10-12 Jakub Jelinek <jakub@redhat.com>
1953
1954 PR libgomp/58691
1955 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
1956 to check variable.
1957 (gomp_init_num_threads): Move i variable declaration into
1958 #ifdef CPU_ALLOC_SIZE block.
1959 * config/linux/affinity.c (gomp_affinity_init_level): Test
1960 gomp_places_list_len == 0 rather than gomp_places_list == 0
1961 when checking for topology reading error.
1962 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
1963 * env.c (parse_affinity): Add ignore argument, if true, don't populate
1964 gomp_places_list, only parse env var and always return false.
1965 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
1966 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
1967 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
1968 and either of these variables were parsed correctly into a places
1969 list.
1970
1971 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
1972 Jakub Jelinek <jakub@redhat.com>
1973
1974 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
1975 of 5 loopfn matches.
1976 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
1977 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
1978 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
1979 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
1980 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
1981 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1982 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1983 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
1984
1985 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
1986
1987 * Makefile.am (omp_lib.mod): Streamline rule.
1988 * Makefile.in: Regenerate.
1989
1990 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
1991 exceptions.
1992
1993 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
1994 * testsuite/libgomp.fortran/lib1.f90: Likewise.
1995 * testsuite/libgomp.fortran/lib2.f: Likewise.
1996 * testsuite/libgomp.fortran/lib3.f: Likewise.
1997
1998 * configure.ac: Typo fix.
1999 * configure: Regenerate.
2000
2001 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
2002 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2003
2004 * omp.h.in: Don't touch the user's namespace.
2005
2006 2013-10-11 Jakub Jelinek <jakub@redhat.com>
2007 Tobias Burnus <burnus@net-b.de>
2008 Richard Henderson <rth@redhat.com>
2009
2010 * target.c: New file.
2011 * Makefile.am (libgomp_la_SOURCES): Add target.c.
2012 * Makefile.in: Regenerated.
2013 * libgomp_g.h (GOMP_task): Add depend argument.
2014 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
2015 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
2016 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
2017 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
2018 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
2019 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
2020 GOMP_taskgroup_start, GOMP_taskgroup_end,
2021 GOMP_parallel_sections): New prototypes.
2022 * fortran.c (omp_is_initial_device): Add ialias_redirect.
2023 (omp_is_initial_device_): New function.
2024 (ULP, STR1, STR2, ialias_redirect): Removed.
2025 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
2026 omp_set_default_device_8_, omp_get_default_device_,
2027 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
2028 functions.
2029 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
2030 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
2031 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
2032 @@GOMP_4.0.
2033 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
2034 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
2035 omp_set_default_device, omp_set_default_device_,
2036 omp_set_default_device_8_, omp_get_default_device,
2037 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
2038 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
2039 omp_get_team_num_): Export @@OMP_4.0.
2040 * team.c (struct gomp_thread_start_data): Add place field.
2041 (gomp_thread_start): Clear thr->thread_pool and
2042 thr->task before returning. Use gomp_team_barrier_wait_final
2043 instead of gomp_team_barrier_wait. Initialize thr->place.
2044 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
2045 team_cancelled and task_queued_count fields.
2046 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
2047 before calling pthread_exit.
2048 (gomp_free_thread): No longer static. Use
2049 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
2050 (gomp_team_start): Add flags argument. Set
2051 thr->thread_pool->threads_busy to nthreads immediately after creating
2052 new pool. Use gomp_managed_threads_lock instead of
2053 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
2054 (gomp_team_end): Use gomp_managed_threads_lock instead of
2055 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
2056 of gomp_team_barrier_wait. If team->team_cancelled, call
2057 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
2058 rather than thr->ts.work_share.
2059 (initialize_team): Don't call gomp_sem_init here.
2060 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
2061 caller.
2062 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
2063 * env.c (gomp_global_icv): Add default_device_var, target_data and
2064 bind_var initializers.
2065 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
2066 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
2067 gomp_places_list_len): New variables.
2068 (parse_bind_var, parse_one_place, parse_places_var): New functions.
2069 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
2070 sized places.
2071 (gomp_cancel_var): New global variable.
2072 (parse_int): New function.
2073 (handle_omp_display_env): New function.
2074 (initialize_env): Use it. Initialize default_device_var.
2075 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
2076 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
2077 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
2078 been successfully parsed (and call gomp_init_affinity in that case).
2079 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2080 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2081 omp_get_team_num, omp_is_initial_device): New functions.
2082 * libgomp.h: Include stdlib.h.
2083 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
2084 Define.
2085 (struct target_mem_desc): Forward declare.
2086 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
2087 and thread_limit_var fields.
2088 (gomp_get_num_devices): New prototype.
2089 (gomp_cancel_var): New extern decl.
2090 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
2091 team_cancelled and task_queued_count fields. Add comments about
2092 task_{,queued_,running_}count.
2093 (gomp_cancel_kind): New enum.
2094 (gomp_work_share_end_cancel): New prototype.
2095 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
2096 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
2097 and depend fields.
2098 (struct gomp_taskgroup): New type.
2099 (struct gomp_task_depend_entry,
2100 struct gomp_dependers_vec): New types.
2101 (gomp_finish_task): Free depend_hash if non-NULL.
2102 (struct gomp_team_state): Add place_partition_off
2103 and place_partition_len fields.
2104 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
2105 gomp_places_list_len): New extern decls.
2106 (struct gomp_thread): Add place field.
2107 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
2108 (gomp_init_thread_affinity): Add place argument.
2109 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2110 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2111 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2112 gomp_affinity_init_level, gomp_affinity_print_place): New
2113 prototypes.
2114 (gomp_team_start): Add flags argument.
2115 (gomp_thread_limit_var, gomp_remaining_threads_count,
2116 gomp_remaining_threads_lock): Remove.
2117 (gomp_managed_threads_lock): New variable.
2118 (struct gomp_thread_pool): Add threads_busy field.
2119 (gomp_free_thread): New prototype.
2120 * task.c: Include hashtab.h.
2121 (hash_entry_type): New typedef.
2122 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
2123 (gomp_init_task): Clear dependers, depend_hash, depend_count,
2124 copy_ctors_done and taskgroup fields.
2125 (GOMP_task): Add depend argument, handle depend clauses. If
2126 gomp_team_barrier_cancelled or if it's taskgroup has been
2127 cancelled, don't queue or start new tasks. Set copy_ctors_done
2128 field if needed. Initialize taskgroup field. If copy_ctors_done
2129 and already cancelled, don't discard the task. If taskgroup is
2130 non-NULL, enqueue the task into taskgroup queue. Increment
2131 num_children field in taskgroup. Increment task_queued_count.
2132 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
2133 gomp_task_run_post_remove_taskgroup): New inline functions.
2134 (gomp_task_run_post_handle_depend_hash,
2135 gomp_task_run_post_handle_dependers,
2136 gomp_task_run_post_handle_depend): New functions.
2137 (GOMP_taskwait): Use them. If more than one new tasks
2138 have been queued, wake other threads if needed.
2139 (gomp_barrier_handle_tasks): Likewise. If
2140 gomp_team_barrier_cancelled, don't start any new tasks, just free
2141 all tasks.
2142 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
2143 * omp_lib.f90.in
2144 (omp_proc_bind_kind, omp_proc_bind_false,
2145 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
2146 omp_proc_bind_spread): New params.
2147 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2148 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2149 omp_get_team_num, omp_is_initial_device): New interfaces.
2150 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
2151 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
2152 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
2153 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
2154 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
2155 useless use omp_lib_kinds.
2156 * omp.h.in (omp_proc_bind_t): New typedef.
2157 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2158 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2159 omp_get_team_num, omp_is_initial_device): New prototypes.
2160 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
2161 through to gomp_team_start.
2162 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
2163 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
2164 Adjust gomp_parallel_loop_start callers.
2165 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
2166 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
2167 GOMP_loop_end_cancel): New functions.
2168 (GOMP_parallel_end): Add ialias_redirect.
2169 * hashtab.h: New file.
2170 * libgomp.texi (Environment Variables): Minor cleanup,
2171 update section refs to OpenMP 4.0rc2.
2172 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
2173 environment variables.
2174 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
2175 team->work_shares_to_free to thr->ts.work_share before calling
2176 free_work_share.
2177 (gomp_work_share_end_cancel): New function.
2178 * config/linux/proc.c: Include errno.h.
2179 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
2180 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
2181 sizeof (cpu_set_t) to determine number of iterations. Fix up check
2182 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
2183 gomp_cpuset_size is sizeof (cpu_set_t).
2184 (gomp_init_num_threads): Initialize gomp_cpuset_size,
2185 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
2186 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
2187 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
2188 contain any logical CPUs.
2189 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
2190 is NULL. Use gomp_cpusetp instead of &cpuset and pass
2191 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
2192 pthread_getaffinity_np. Check gomp_places_list instead of
2193 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
2194 * config/linux/bar.c (gomp_barrier_wait_end,
2195 gomp_barrier_wait_last): Use BAR_* defines.
2196 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
2197 from state where needed. Set work_share_cancelled to 0 on last
2198 thread.
2199 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
2200 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
2201 functions.
2202 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
2203 Add cpusetsize argument.
2204 (gomp_cpuset_size, gomp_cpusetp): Declare.
2205 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
2206 (affinity_counter): Remove.
2207 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
2208 if CPU_ALLOC_SIZE isn't defined.
2209 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
2210 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
2211 bind current thread to the first place.
2212 (gomp_init_thread_affinity): Rewritten. Add place argument, just
2213 pthread_setaffinity_np to gomp_places_list[place].
2214 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2215 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2216 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2217 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
2218 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
2219 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
2220 (gomp_barrier_t): Add awaited_final field.
2221 (gomp_barrier_init): Initialize awaited_final field.
2222 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
2223 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
2224 prototypes.
2225 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
2226 defines.
2227 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
2228 gomp_team_barrier_cancelled): New inline functions.
2229 (gomp_barrier_last_thread,
2230 gomp_team_barrier_set_task_pending,
2231 gomp_team_barrier_clear_task_pending,
2232 gomp_team_barrier_set_waiting_for_tasks,
2233 gomp_team_barrier_waiting_for_tasks,
2234 gomp_team_barrier_done): Use BAR_* defines.
2235 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
2236 (gomp_barrier_wait_end): Use BAR_* defines.
2237 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
2238 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
2239 Use BAR_* defines.
2240 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
2241 gomp_team_barrier_cancel): New functions.
2242 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
2243 argument.
2244 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2245 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2246 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2247 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
2248 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
2249 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
2250 (gomp_barrier_t): Add cancellable field.
2251 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
2252 gomp_team_barrier_cancel): New prototypes.
2253 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
2254 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
2255 gomp_team_barrier_cancelled): New inline functions.
2256 (gomp_barrier_wait_start, gomp_barrier_last_thread,
2257 gomp_team_barrier_set_task_pending,
2258 gomp_team_barrier_clear_task_pending,
2259 gomp_team_barrier_set_waiting_for_tasks,
2260 gomp_team_barrier_waiting_for_tasks,
2261 gomp_team_barrier_done): Use BAR_* defines.
2262 * barrier.c (GOMP_barrier_cancel): New function.
2263 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
2264 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
2265 omp_proc_bind_spread): New params.
2266 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2267 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2268 omp_get_team_num, omp_is_initial_device): New externals.
2269 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
2270 New functions.
2271 (gomp_resolve_num_threads): Adjust for thread_limit now being in
2272 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
2273 infinity. If not nested, just return minimum of max_num_threads
2274 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
2275 to the returned value. Otherwise, don't update atomically
2276 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
2277 (GOMP_parallel_end): Adjust for thread_limit now being in
2278 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
2279 infinity. Adjust threads_busy in the pool rather than
2280 gomp_remaining_threads_count. Remember team->nthreads and call
2281 gomp_team_end before adjusting threads_busy, if not nested
2282 afterwards, just set it to 1 non-atomically. Add ialias.
2283 (GOMP_parallel_start): Adjust gomp_team_start caller.
2284 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
2285 * testsuite/libgomp.c/affinity-1.c: New test.
2286 * testsuite/libgomp.c/atomic-15.c: New test.
2287 * testsuite/libgomp.c/atomic-16.c: New test.
2288 * testsuite/libgomp.c/atomic-17.c: New test.
2289 * testsuite/libgomp.c/cancel-for-1.c: New test.
2290 * testsuite/libgomp.c/cancel-for-2.c: New test.
2291 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
2292 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
2293 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
2294 * testsuite/libgomp.c/cancel-sections-1.c: New test.
2295 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
2296 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
2297 * testsuite/libgomp.c/depend-1.c: New test.
2298 * testsuite/libgomp.c/depend-2.c: New test.
2299 * testsuite/libgomp.c/depend-3.c: New test.
2300 * testsuite/libgomp.c/depend-4.c: New test.
2301 * testsuite/libgomp.c/for-1.c: New test.
2302 * testsuite/libgomp.c/for-1.h: New file.
2303 * testsuite/libgomp.c/for-2.c: New test.
2304 * testsuite/libgomp.c/for-2.h: New file.
2305 * testsuite/libgomp.c/for-3.c: New test.
2306 * testsuite/libgomp.c/pr58392.c: New test.
2307 * testsuite/libgomp.c/simd-1.c: New test.
2308 * testsuite/libgomp.c/simd-2.c: New test.
2309 * testsuite/libgomp.c/simd-3.c: New test.
2310 * testsuite/libgomp.c/simd-4.c: New test.
2311 * testsuite/libgomp.c/simd-5.c: New test.
2312 * testsuite/libgomp.c/simd-6.c: New test.
2313 * testsuite/libgomp.c/target-1.c: New test.
2314 * testsuite/libgomp.c/target-2.c: New test.
2315 * testsuite/libgomp.c/target-3.c: New test.
2316 * testsuite/libgomp.c/target-4.c: New test.
2317 * testsuite/libgomp.c/target-5.c: New test.
2318 * testsuite/libgomp.c/target-6.c: New test.
2319 * testsuite/libgomp.c/target-7.c: New test.
2320 * testsuite/libgomp.c/taskgroup-1.c: New test.
2321 * testsuite/libgomp.c/thread-limit-1.c: New test.
2322 * testsuite/libgomp.c/thread-limit-2.c: New test.
2323 * testsuite/libgomp.c/thread-limit-3.c: New test.
2324 * testsuite/libgomp.c/udr-1.c: New test.
2325 * testsuite/libgomp.c/udr-2.c: New test.
2326 * testsuite/libgomp.c/udr-3.c: New test.
2327 * testsuite/libgomp.c++/affinity-1.C: New test.
2328 * testsuite/libgomp.c++/atomic-10.C: New test.
2329 * testsuite/libgomp.c++/atomic-11.C: New test.
2330 * testsuite/libgomp.c++/atomic-12.C: New test.
2331 * testsuite/libgomp.c++/atomic-13.C: New test.
2332 * testsuite/libgomp.c++/atomic-14.C: New test.
2333 * testsuite/libgomp.c++/atomic-15.C: New test.
2334 * testsuite/libgomp.c++/cancel-for-1.C: New test.
2335 * testsuite/libgomp.c++/cancel-for-2.C: New test.
2336 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
2337 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
2338 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
2339 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
2340 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
2341 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
2342 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
2343 * testsuite/libgomp.c++/cancel-test.h: New file.
2344 * testsuite/libgomp.c++/for-9.C: New test.
2345 * testsuite/libgomp.c++/for-10.C: New test.
2346 * testsuite/libgomp.c++/for-11.C: New test.
2347 * testsuite/libgomp.c++/simd-1.C: New test.
2348 * testsuite/libgomp.c++/simd-2.C: New test.
2349 * testsuite/libgomp.c++/simd-3.C: New test.
2350 * testsuite/libgomp.c++/simd-4.C: New test.
2351 * testsuite/libgomp.c++/simd-5.C: New test.
2352 * testsuite/libgomp.c++/simd-6.C: New test.
2353 * testsuite/libgomp.c++/simd-7.C: New test.
2354 * testsuite/libgomp.c++/simd-8.C: New test.
2355 * testsuite/libgomp.c++/target-1.C: New test.
2356 * testsuite/libgomp.c++/target-2.C: New test.
2357 * testsuite/libgomp.c++/target-2-aux.cc: New file.
2358 * testsuite/libgomp.c++/target-3.C: New test.
2359 * testsuite/libgomp.c++/taskgroup-1.C: New test.
2360 * testsuite/libgomp.c++/udr-1.C: New test.
2361 * testsuite/libgomp.c++/udr-2.C: New test.
2362 * testsuite/libgomp.c++/udr-3.C: New test.
2363 * testsuite/libgomp.c++/udr-4.C: New test.
2364 * testsuite/libgomp.c++/udr-5.C: New test.
2365 * testsuite/libgomp.c++/udr-6.C: New test.
2366 * testsuite/libgomp.c++/udr-7.C: New test.
2367 * testsuite/libgomp.c++/udr-8.C: New test.
2368 * testsuite/libgomp.c++/udr-9.C: New test.
2369
2370 2013-09-20 Jakub Jelinek <jakub@redhat.com>
2371
2372 PR testsuite/57605
2373 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
2374 ALWAYS_CFLAGS.
2375
2376 2013-09-20 Alan Modra <amodra@gmail.com>
2377
2378 * configure: Regenerate.
2379
2380 2013-09-19 Jakub Jelinek <jakub@redhat.com>
2381
2382 * testsuite/libgomp.c/sections-2.c: New test.
2383
2384 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
2385
2386 * testsuite/libgomp.fortran/strassen.f90:
2387 Add dg-skip-if aarch64_tiny.
2388
2389 2013-06-20 Iain Sandoe <iain@codesourcery.com>
2390 Cesar Philippidis <cesar@codesourcery.com>
2391
2392 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
2393 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
2394 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
2395 * testsuite/libgomp.fortran/fortran.exp: Likewise.
2396 * testsuite/libgomp.graphite/graphite.exp: Likewise.
2397 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
2398 Use dg-runtest rather than gfortran-dg-runtest.
2399
2400 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
2401
2402 * testsuite/libgomp.c/icv-2.c: Extend current handling of
2403 Linux-based x86 systems to cover all GNU systems.
2404 * testsuite/libgomp.c/lock-3.c: Likewise.
2405 * testsuite/libgomp.c/pr48591.c: Likewise.
2406
2407 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
2408
2409 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
2410 GNU/Hurd, as done for Linux-based systems.
2411
2412 * config/posix/ptrlock.h: Fix comment.
2413
2414 2013-05-27 Tobias Burnus <burnus@net-b.de>
2415
2416 PR fortran/57423
2417 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
2418 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
2419 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
2420 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
2421 omp_destroy_nest_lock): Correct arguments to match the one in
2422 the OpenMP spec.
2423 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
2424 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
2425 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
2426 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
2427
2428 2013-05-16 Jakub Jelinek <jakub@redhat.com>
2429
2430 * testsuite/libgomp.c/loop-13.c: New test.
2431 * testsuite/libgomp.c/loop-14.c: New test.
2432 * testsuite/libgomp.c/loop-15.c: New test.
2433 * testsuite/libgomp.c++/loop-13.C: New test.
2434 * testsuite/libgomp.c++/loop-14.C: New test.
2435 * testsuite/libgomp.c++/loop-15.C: New test.
2436
2437 2013-02-06 Jakub Jelinek <jakub@redhat.com>
2438
2439 PR middle-end/56217
2440 * testsuite/libgomp.c++/pr56217.C: New test.
2441
2442 2013-02-01 Alan Modra <amodra@gmail.com>
2443
2444 * task.c (GOMP_task, GOMP_taskwait): Comment.
2445
2446 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
2447 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
2448
2449 PR libgomp/55561
2450 * config/linux/wait.h (do_spin): Use atomic load for addr.
2451 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
2452 for intptr and ptrlock.
2453 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
2454 for ptrlock.
2455
2456 2013-01-22 Alan Modra <amodra@gmail.com>
2457
2458 PR libgomp/51376
2459 PR libgomp/56073
2460 * task.c (GOMP_task): Revert 2011-12-09 change.
2461 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
2462 barrier to read task->children..
2463 (gomp_barrier_handle_tasks): ..and matching atomic store with
2464 release barrier here when setting parent->children to NULL.
2465
2466 2013-01-16 Jakub Jelinek <jakub@redhat.com>
2467 Tobias Burnus <burnus@net-b.de>
2468
2469 PR driver/55884
2470 * testsuite/libgomp.fortran/fortran.exp: Use
2471 -fintrinsic-modules-path= instead of
2472 -fintrinsic-modules-path.
2473
2474 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
2475
2476 Update copyright years.
2477
2478 2012-12-19 Tobias Burnus <burnus@net-b.de>
2479
2480 * testsuite/libgomp.fortran/fortran.exp: Set
2481 -fintrinsic-modules-path.
2482
2483 2012-12-19 Tobias Burnus <burnus@net-b.de>
2484
2485 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
2486 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
2487
2488 2012-11-21 Jakub Jelinek <jakub@redhat.com>
2489
2490 PR libgomp/55411
2491 * team.c (gomp_free_thread): Decrease gomp_managed_threads
2492 if pool had any threads_used.
2493
2494 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
2495
2496 * testsuite/libgomp.c++/pr24455.C: Use
2497 -Wl,-undefined,dynamic_lookup on darwin.
2498
2499 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
2500
2501 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
2502
2503 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
2504
2505 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
2506
2507 2012-10-23 Ian Bolton <ian.bolton@arm.com>
2508 Jim MacArthur <jim.macarthur@arm.com>
2509 Marcus Shawcroft <marcus.shawcroft@arm.com>
2510 Nigel Stephens <nigel.stephens@arm.com>
2511 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2512 Richard Earnshaw <rearnsha@arm.com>
2513 Sofiane Naci <sofiane.naci@arm.com>
2514 Stephen Thomas <stephen.thomas@arm.com>
2515 Tejas Belagod <tejas.belagod@arm.com>
2516 Yufeng Zhang <yufeng.zhang@arm.com>
2517
2518 * configure.tgt: Add AArch64.
2519
2520 2012-10-04 Jason Merrill <jason@redhat.com>
2521
2522 * testsuite/libgomp.c++/tls-init1.C: New.
2523
2524 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
2525
2526 * configure: Regenerated.
2527
2528 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
2529
2530 * config/linux/mips/futex.h (sys_futex0): Change to static
2531 function with noinline, nomips16 attributes under MIPS16. Adjust
2532 asm statement to place 'li v0,SYS_futex' immediately before
2533 syscall insn.
2534
2535 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
2536
2537 * libgomp.texi (Library Index): Renamed from "Index" to prevent
2538 conflict with index.html on case-insensitive file systems.
2539
2540 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
2541
2542 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
2543 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
2544
2545 2012-07-02 Richard Guenther <rguenther@suse.de>
2546 Michael Matz <matz@suse.de>
2547 Tobias Grosser <tobias@grosser.es>
2548 Sebastian Pop <sebpop@gmail.com>
2549
2550 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
2551 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2552 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2553 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2554
2555 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
2556
2557 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
2558
2559 2012-06-22 Richard Guenther <rguenther@suse.de>
2560
2561 Merge from graphite branch
2562 2012-01-13 Tobias Grosser <tobias@grosser.es>
2563
2564 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
2565 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2566
2567 2012-06-07 Jakub Jelinek <jakub@redhat.com>
2568
2569 PR middle-end/53580
2570 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
2571 use GOMP_barrier () call instead.
2572 * testsuite/libgomp.c/pr26943-3.c: Likewise.
2573 * testsuite/libgomp.c/pr26943-4.c: Likewise.
2574 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
2575 call GOMP_barrier instead.
2576 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2577
2578 2012-06-06 Jakub Jelinek <jakub@redhat.com>
2579
2580 PR libgomp/52993
2581 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
2582 argument to memset call.
2583
2584 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
2585
2586 * configure: Regenerated.
2587
2588 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2589
2590 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
2591
2592 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
2593
2594 PR bootstrap/52812
2595 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
2596
2597 2012-03-22 Jakub Jelinek <jakub@redhat.com>
2598
2599 PR middle-end/52547
2600 * testsuite/libgomp.c/pr52547.c: New test.
2601
2602 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2603
2604 * testsuite/lib/libgomp.exp: load fortran-modules.exp
2605
2606 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2607
2608 * configure.tgt (mips-sgi-irix6*): Remove.
2609
2610 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2611
2612 * configure.tgt (alpha*-dec-osf*): Remove.
2613
2614 * config/osf/sem.h: Remove.
2615 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
2616
2617 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
2618
2619 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
2620
2621 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2622
2623 PR libstdc++/52188
2624 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
2625 Remove ENABLE_SYMVERS_SOL2.
2626 * configure: Regenerate.
2627 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
2628 (PREPROCESS): New variable.
2629 (libgomp.ver): New target.
2630 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
2631 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
2632 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
2633 Use libgomp.ver.
2634 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
2635 * Makefile.in: Regenerate.
2636
2637 2012-02-14 Walter Lee <walt@tilera.com>
2638
2639 * configure.tgt: Handle tilegx and tilepro.
2640 * config/linux/tile/futex.h: New file.
2641
2642 2012-02-08 Richard Guenther <rguenther@suse.de>
2643
2644 PR tree-optimization/46886
2645 * testsuite/libgomp.c/pr46886.c: New testcase.
2646
2647 2012-01-25 Matthias Klose <doko@ubuntu.com>
2648
2649 * config/linux/arm: Remove empty directory.
2650 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
2651
2652 2011-12-09 Alan Modra <amodra@gmail.com>
2653
2654 PR libgomp/51376
2655 * task.c (GOMP_taskwait): Don't access task->children outside of
2656 task_lock mutex region.
2657 (GOMP_task): Likewise.
2658
2659 2011-12-06 Jakub Jelinek <jakub@redhat.com>
2660
2661 PR libgomp/51132
2662 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
2663 to file scope.
2664 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2665 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2666 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2667 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2668 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2669
2670 2011-12-02 Alan Modra <amodra@gmail.com>
2671
2672 * config/linux/affinity.c: Use atomic rather than sync builtin.
2673 * config/linux/lock.c: Likewise.
2674 * config/linux/ptrlock.h: Likewise.
2675 * config/linux/ptrlock.c: Likewise.
2676 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
2677 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
2678 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
2679 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
2680 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
2681 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
2682 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
2683 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
2684 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
2685 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
2686
2687 2011-11-30 Alan Modra <amodra@gmail.com>
2688
2689 PR libgomp/51298
2690 * config/linux/bar.h: Use atomic rather than sync builtins.
2691 * config/linux/bar.c: Likewise. Add missing acquire
2692 synchronisation on generation field.
2693 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
2694 double unlock.
2695
2696 2011-11-30 Alan Modra <amodra@gmail.com>
2697
2698 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
2699 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
2700 * config/linux/mutex.h: Use atomic rather than sync builtins.
2701 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
2702 * config/linux/omp-lock.h: Comment fix.
2703 * config/linux/arm/mutex.h: Delete.
2704 * config/linux/powerpc/mutex.h: Delete.
2705 * config/linux/ia64/mutex.h: Delete.
2706 * config/linux/mips/mutex.h: Delete.
2707
2708 2011-11-30 Alan Modra <amodra@gmail.com>
2709
2710 PR libgomp/51249
2711 * config/linux/sem.h: Rewrite.
2712 * config/linux/sem.c: Rewrite.
2713
2714 2011-11-28 Richard Henderson <rth@redhat.com>
2715
2716 * libgomp.h (enum memmodel): New.
2717
2718 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
2719
2720 * configure: Regenerate.
2721
2722 2011-10-10 Matthias Klose <doko@ubuntu.com>
2723
2724 * config/posix95: Remove empty directory.
2725
2726 2011-08-26 Jakub Jelinek <jakub@redhat.com>
2727
2728 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
2729
2730 2011-08-19 Jakub Jelinek <jakub@redhat.com>
2731
2732 PR fortran/49792
2733 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
2734 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
2735
2736 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2737
2738 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
2739
2740 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2741
2742 PR libgomp/49965
2743 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
2744
2745 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
2746
2747 * config/linux/proc.h: New.
2748 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
2749 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
2750 (gomp_init_num_threads): Update call to cpuset_popcount.
2751 (get_num_procs): Ditto.
2752 * config/linux/affinity.c (gomp_init_affinity): Call
2753 gomp_cpuset_popcount.
2754
2755 2011-08-02 Jakub Jelinek <jakub@redhat.com>
2756
2757 PR fortran/42041
2758 PR fortran/46752
2759 * omp.h.in (omp_in_final): New prototype.
2760 * omp_lib.f90.in (omp_in_final): New interface.
2761 (omp_integer_kind, omp_logical_kind): Remove
2762 and replace all its uses in the module with 4.
2763 (openmp_version): Change to 201107.
2764 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
2765 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
2766 kind for the parameters.
2767 (omp_in_final): New external.
2768 (openmp_version): Change to 201107.
2769 * task.c (omp_in_final): New function.
2770 (gomp_init_task): Initialize final_task.
2771 (GOMP_task): Remove unused attribute from flags. Handle final
2772 tasks.
2773 (GOMP_taskyield): New function.
2774 (omp_in_final): Return true if if (false) or final (true) task
2775 or descendant of final (true).
2776 * fortran.c (omp_in_final_): New function.
2777 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
2778 (GOMP_3.0): Export GOMP_taskyield.
2779 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
2780 variables.
2781 (parse_unsigned_long_list): New function.
2782 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
2783 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
2784 even if parse_affinity returned false.
2785 * config/linux/affinity.c (gomp_init_affinity): Handle
2786 gomp_cpu_affinity_len == 0.
2787 * libgomp_g.h (GOMP_taskyield): New prototype.
2788 * libgomp.h (struct gomp_task): Add final_task field.
2789 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
2790 * team.c (gomp_team_start): Override new task's nthreads_var icv
2791 if list form OMP_NUM_THREADS has been used and it has value for
2792 the new nesting level.
2793
2794 * testsuite/libgomp.c/atomic-11.c: New test.
2795 * testsuite/libgomp.c/atomic-12.c: New test.
2796 * testsuite/libgomp.c/atomic-13.c: New test.
2797 * testsuite/libgomp.c/atomic-14.c: New test.
2798 * testsuite/libgomp.c/reduction-6.c: New test.
2799 * testsuite/libgomp.c/task-5.c: New test.
2800 * testsuite/libgomp.c++/atomic-2.C: New test.
2801 * testsuite/libgomp.c++/atomic-3.C: New test.
2802 * testsuite/libgomp.c++/atomic-4.C: New test.
2803 * testsuite/libgomp.c++/atomic-5.C: New test.
2804 * testsuite/libgomp.c++/atomic-6.C: New test.
2805 * testsuite/libgomp.c++/atomic-7.C: New test.
2806 * testsuite/libgomp.c++/atomic-8.C: New test.
2807 * testsuite/libgomp.c++/atomic-9.C: New test.
2808 * testsuite/libgomp.c++/task-8.C: New test.
2809 * testsuite/libgomp.c++/reduction-4.C: New test.
2810 * testsuite/libgomp.fortran/allocatable7.f90: New test.
2811 * testsuite/libgomp.fortran/allocatable8.f90: New test.
2812 * testsuite/libgomp.fortran/crayptr3.f90: New test.
2813 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
2814 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
2815 * testsuite/libgomp.fortran/pointer1.f90: New test.
2816 * testsuite/libgomp.fortran/pointer2.f90: New test.
2817 * testsuite/libgomp.fortran/task4.f90: New test.
2818
2819 2011-08-02 Tobias Burnus <burnus@net-b.de>
2820
2821 * libgomp.texi: Update OpenMP spec references to 3.1.
2822 (omp_in_final,OMP_PROC_BIND): New sections.
2823 (OMP_NUM_THREADS): Document that the value can be now a list.
2824 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
2825
2826 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
2827
2828 * config/linux/x86/futex.h: Check __x86_64__ instead of
2829 __LP64__.
2830
2831 2011-07-29 Jakub Jelinek <jakub@redhat.com>
2832
2833 PR middle-end/49897
2834 PR middle-end/49898
2835 * testsuite/libgomp.c/pr49897-1.c: New test.
2836 * testsuite/libgomp.c/pr49897-2.c: New test.
2837 * testsuite/libgomp.c/pr49898-1.c: New test.
2838 * testsuite/libgomp.c/pr49898-2.c: New test.
2839
2840 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
2841
2842 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
2843 for ia32 instead of ilp32.
2844
2845 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
2846 * testsuite/libgomp.c/atomic-6.c: Likewise.
2847
2848 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
2849
2850 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
2851 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
2852
2853 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2854
2855 PR libgomp/45351
2856 * config/osf/sem.h: New file.
2857 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
2858
2859 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2860
2861 PR target/49541
2862 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
2863 ldflags.
2864
2865 2011-07-15 Jakub Jelinek <jakub@redhat.com>
2866
2867 * config/linux/wait.h (do_spin): New inline, largely copied
2868 from do_wait, just don't do futex_wait here, instead return true if
2869 it should be done.
2870 (do_wait): Implement using do_spin.
2871 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
2872 to prototype.
2873 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
2874 __sync_bool_compare_and_swap, pass the oldval to
2875 gomp_mutex_lock_slow.
2876 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
2877 If all mutex contenders are just spinning and not sleeping, don't
2878 change state to 2 unnecessarily. Optimize the loop when state has
2879 already become 2 to use just one atomic operation per loop instead
2880 of two.
2881 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
2882 to prototype.
2883 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
2884 __sync_bool_compare_and_swap, pass the oldval to
2885 gomp_mutex_lock_slow.
2886
2887 2011-06-22 Jakub Jelinek <jakub@redhat.com>
2888
2889 PR libgomp/49490
2890 * iter.c (gomp_iter_static_next): For chunk size 0
2891 only use n ceil/ nthreads size for the first
2892 n % nthreads threads in the team instead of
2893 all threads except for the last few ones which
2894 get less work or none at all.
2895 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
2896 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
2897 chunk argument, set run_sched_modifier to 0 for static
2898 resp. 1 for other kinds. If chunk argument is 0
2899 and not static, set value to 1.
2900
2901 2011-05-19 Jakub Jelinek <jakub@redhat.com>
2902
2903 PR c++/49043
2904 * testsuite/libgomp.c++/pr49043.C: New test.
2905
2906 PR c++/48869
2907 * testsuite/libgomp.c++/pr48869.C: New test.
2908
2909 2011-05-06 Jakub Jelinek <jakub@redhat.com>
2910
2911 PR fortran/48894
2912 * fortran.c: Include limits.h.
2913 (TO_INT): Define.
2914 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
2915 *set.
2916 (omp_set_num_threads_8_, omp_set_schedule_8_,
2917 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
2918 omp_get_team_size_8_): Use TO_INT macro.
2919 * testsuite/libgomp.fortran/pr48894.f90: New test.
2920
2921 2011-04-13 Jakub Jelinek <jakub@redhat.com>
2922
2923 PR middle-end/48591
2924 * testsuite/libgomp.c/pr48591.c: New test.
2925
2926 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2927
2928 PR bootstrap/48135
2929 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
2930 * configure: Regenerate.
2931
2932 2011-02-27 Jakub Jelinek <jakub@redhat.com>
2933
2934 PR fortran/47886
2935 * testsuite/libgomp.fortran/task3.f90: New test.
2936
2937 2011-02-24 Tobias Burnus <burnus@net-b.de>
2938
2939 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
2940
2941 2011-02-23 Jakub Jelinek <jakub@redhat.com>
2942
2943 PR libgomp/47854
2944 * libgomp.texi (omp_get_wtime): Don't say time in the past
2945 must be Unix Epoch.
2946
2947 2011-02-18 Jakub Jelinek <jakub@redhat.com>
2948
2949 PR libgomp/47804
2950 * testsuite/libgomp.fortran/fortran.exp: Check for both
2951 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
2952 but $blddir != "", still append ${blddir}/${lang_library_path}
2953 to ld_library_path.
2954
2955 2011-02-16 Tobias Burnus <burnus@net-b.de>
2956
2957 PR libgomp/47758
2958 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
2959 of libquadmath.a before adding its libpath to ldflags.
2960
2961 2011-02-14 Jakub Jelinek <jakub@redhat.com>
2962
2963 PR libgomp/47731
2964 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
2965 to FUTEX_WAIT futex syscall.
2966 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
2967
2968 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2969
2970 * configure: Regenerate.
2971
2972 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
2973
2974 PR libstdc++/36104
2975 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
2976
2977 2011-01-16 Gerald Pfeifer
2978
2979 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
2980
2981 2010-12-14 Jakub Jelinek <jakub@redhat.com>
2982
2983 PR fortran/46874
2984 * libgomp.fortran/allocatable6.f90: New test.
2985
2986 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2987
2988 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
2989 * configure: Regenerate.
2990
2991 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
2992
2993 PR target/40125
2994 PR lto/46695
2995 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
2996 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
2997 * aclocal.m4: Regenerate.
2998 * configure: Regenerate.
2999 * Makefile.in: Regenerate.
3000 * testsuite/Makefile.in: Regenerate.
3001
3002 2010-12-02 Jakub Jelinek <jakub@redhat.com>
3003
3004 PR fortran/46753
3005 * libgomp.fortran/pr46753.f90: New test.
3006
3007 PR libgomp/43706
3008 * env.c (initialize_env): Default to spin count 300000
3009 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
3010 is specified.
3011
3012 PR libgomp/45240
3013 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
3014 at the end if sync builtins aren't supported.
3015
3016 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3017
3018 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
3019
3020 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3021
3022 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
3023
3024 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
3025
3026 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
3027
3028 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3029 Tobias Burnus <burnus@net-b.de>
3030
3031 PR fortran/32049
3032 * configure.ac:
3033 * configure: Regenerate.
3034
3035 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
3036
3037 * config/linux/futex.h: New.
3038 * config/linux/arm/mutex.h: New.
3039 * configure.tgt (arm*-*-linux*): Add config path.
3040
3041 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
3042
3043 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3044
3045 2010-09-23 Tobias Burnus <burnus@net-b.de>
3046
3047 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
3048 Change Fortran datatype to LOGICAL.
3049 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
3050 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
3051
3052 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3053
3054 * configure: Regenerate.
3055
3056 2010-07-26 Jakub Jelinek <jakub@redhat.com>
3057
3058 * libgomp.texi: Add function keyword to a couple of Fortran
3059 interfaces, use integer instead of int for Fortran.
3060
3061 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
3062
3063 * libgomp.texi: Fix spelling and pasto problems throughout.
3064 Adjust prototypes to match code.
3065
3066 2010-07-24 Tobias Burnus <burnus@net-b.de>
3067
3068 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
3069 silence -fwhole-file warning.
3070
3071 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3072
3073 * configure.tgt (*-*-solaris2.[56]*): Removed.
3074
3075 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3076
3077 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
3078 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
3079 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
3080 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
3081 targetting solaris2*.
3082 * configure: Regenerate.
3083 * config.h.in: Regenerate.
3084
3085 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
3086 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
3087 Add libgomp_version_dep.
3088 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
3089 versioning.
3090 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
3091 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
3092 * Makefile.in: Regenerate.
3093
3094 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
3095 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
3096 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
3097 to common block, protected by
3098 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
3099
3100 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
3101
3102 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
3103
3104 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
3105
3106 PR bootstrap/43170
3107 * configure: Regenerate.
3108
3109 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3110
3111 PR other/43620
3112 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
3113 * configure: Regenerate.
3114 * Makefile.in: Regenerate.
3115 * testsuite/Makefile.in: Regenerate.
3116
3117 2010-04-26 Jakub Jelinek <jakub@redhat.com>
3118
3119 PR c/43893
3120 * testsuite/libgomp.c/pr43893.c: New test.
3121 * testsuite/libgomp.c++/pr43893.C: New test.
3122
3123 2010-04-21 Jakub Jelinek <jakub@redhat.com>
3124
3125 PR middle-end/43570
3126 * testsuite/libgomp.fortran/vla8.f90: New test.
3127
3128 2010-04-20 Jakub Jelinek <jakub@redhat.com>
3129
3130 PR libgomp/43706
3131 * config/linux/affinity.c (gomp_init_affinity): Decrease
3132 gomp_available_cpus if affinity mask confines the process to fewer
3133 CPUs.
3134 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
3135 non-NULL, just return gomp_available_cpus.
3136
3137 PR libgomp/43569
3138 * sections.c (gomp_sections_init): Initialize ws->mode.
3139
3140 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
3141
3142 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
3143 not unused bar variable.
3144 * configure: Regenerate.
3145
3146 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3147
3148 * Makefile.in: Regenerate.
3149 * aclocal.m4: Regenerate.
3150 * testsuite/Makefile.in: Regenerate.
3151
3152 2010-03-22 Jakub Jelinek <jakub@redhat.com>
3153
3154 PR libgomp/42942
3155 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
3156 (initialize_env): Adjust callers.
3157 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
3158 when the argument is 0.
3159
3160 * testsuite/libgomp.c/pr42942.c: New test.
3161
3162 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
3163
3164 PR middle-end/42644
3165 PR middle-end/42130
3166 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3167 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
3168
3169 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3170
3171 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
3172 * testsuite/libgomp.c++/task-6.C: Likewise.
3173
3174 2010-01-28 Steve Ellcey <sje@cup.hp.com>
3175
3176 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
3177
3178 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
3179
3180 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
3181 * configure: Regenerate.
3182
3183 2010-01-26 Jakub Jelinek <jakub@redhat.com>
3184
3185 PR fortran/42866
3186 * testsuite/libgomp.fortran/allocatable5.f90: New test.
3187
3188 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
3189
3190 * configure.ac: Test for executability of GFORTRAN.
3191 * configure: Regenerate.
3192
3193 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3194
3195 * configure: Regenerate.
3196
3197 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
3198
3199 PR libgomp/42602
3200 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
3201
3202 2010-01-03 Richard Guenther <rguenther@suse.de>
3203
3204 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
3205
3206 2009-12-23 Sebastian Pop <sebpop@gmail.com>
3207
3208 * testsuite/libgomp.graphite/pr4118.c: New.
3209
3210 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3211
3212 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
3213 for darwin, protect the test with require-effective-target tls_runtime.
3214 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
3215
3216 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3217
3218 PR target/41605
3219 * testsuite/lib/libgomp.exp: Provide -B options to allow for
3220 link spec %s substitutions for static libraries.
3221
3222 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
3223
3224 PR testsuite/42135
3225 * libgomp.graphite/force-parallel-2.c: Reduce array size.
3226
3227 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3228
3229 * Makefile.in: Regenerate.
3230 * configure: Regenerate.
3231 * testsuite/Makefile.in: Regenerate.
3232
3233 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
3234
3235 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
3236 settings for LC_ALL and LANG.
3237
3238 2009-11-25 Jakub Jelinek <jakub@redhat.com>
3239
3240 PR fortran/42162
3241 * testsuite/libgomp.fortran/pr42162.f90: New test.
3242
3243 2009-11-13 Jakub Jelinek <jakub@redhat.com>
3244
3245 PR middle-end/42029
3246 * testsuite/libgomp.c/pr42029.c: New test.
3247
3248 2009-10-26 Jakub Jelinek <jakub@redhat.com>
3249
3250 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
3251 *s. Accept ld version without text in ()s.
3252 * configure: Regenerated.
3253
3254 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
3255
3256 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
3257
3258 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3259
3260 PR libgomp/41418
3261 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
3262 or a hyphen (happens with fortran language disabled).
3263 * configure: Regenerate.
3264
3265 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3266
3267 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
3268 use sed script portable to Solaris /bin/sed for extracting ld
3269 version.
3270 * configure: Regenerate.
3271
3272 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
3273
3274 * testsuite/libgomp.graphite/bounds.c: New test.
3275
3276 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3277
3278 * Makefile.am (libgomp_la_LINK): New.
3279 * Makefile.in: Regenerate.
3280
3281 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3282
3283 * configure.ac (AC_PREREQ): Bump to 2.64.
3284
3285 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3286
3287 * Makefile.am (install-html, install-pdf): Remove.
3288 * Makefile.in: Regenerate.
3289
3290 * Makefile.in: Regenerate.
3291 * aclocal.m4: Regenerate.
3292 * config.h.in: Regenerate.
3293 * configure: Regenerate.
3294 * testsuite/Makefile.in: Regenerate.
3295
3296 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3297
3298 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
3299 * Makefile.in: Regenerate.
3300
3301 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
3302
3303 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
3304 * Makefile.in: Regenerate.
3305
3306 2009-08-19 Tobias Burnus <burnus@net-b.de>
3307
3308 PR fortran/41102
3309 omp_lib.h.in: Fix -std=f95 errors.
3310
3311
3312 2009-08-14 David Edelsohn <edelsohn@gnu.org>
3313
3314 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
3315 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
3316 * testsuite/libgomp.graphite/graphite.exp: New.
3317
3318 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
3319
3320 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
3321 only build.
3322
3323 2009-08-04 David Daney <ddaney@caviumnetworks.com>
3324
3325 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
3326 needed memory barrier semantics.
3327 * config/linux/mips/mutex.h: New file.
3328
3329 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3330
3331 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
3332
3333 2009-07-16 Joseph Myers <joseph@codesourcery.com>
3334
3335 * configure: Regenerate.
3336
3337 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
3338
3339 PR testsuite/40699
3340 PR testsuite/40707
3341 PR testsuite/40709
3342 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
3343 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
3344 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
3345
3346 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
3347
3348 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
3349 options when choosing a multilib.
3350
3351 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
3352
3353 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
3354 ld_library_path. Use add_path. Add just find_libgcc_s to
3355 ld_library_path, not every libgcc multilib directory.
3356 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
3357 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
3358 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
3359 Use add_path.
3360 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
3361
3362 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
3363
3364 * Makefile.am (LTLDFLAGS): Define.
3365 (LINK): Define.
3366 * Makefile.in: Regenerate.
3367
3368 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
3369
3370 PR fortran/39718
3371 * testsuite/libgomp.fortran/fortran.exp: Don't link with
3372 libgfortranbegin, check existence of libgfortran.a instead of
3373 libgfortranbegin.a.
3374
3375 2009-05-20 Jakub Jelinek <jakub@redhat.com>
3376
3377 PR libgomp/40174
3378 * team.c (gomp_thread_start): Destroy thr->release semaphore.
3379 (gomp_free_pool_helper): Likewise.
3380
3381 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
3382 Jakub Jelinek <jakub@redhat.com>
3383
3384 PR fortran/35423
3385 * testsuite/libgomp.fortran/workshare2.f90: New test.
3386
3387 2009-04-09 Nick Clifton <nickc@redhat.com>
3388
3389 * iter.c: Change copyright header to refer to version 3 of the
3390 GNU General Public License with version 3.1 of the GCC Runtime
3391 Library Exception and to point readers at the COPYING3 and
3392 COPYING3.RUNTIME files and the FSF's license web page.
3393 * alloc.c: Likewise.
3394 * barrier.c: Likewise.
3395 * config/bsd/proc.c: Likewise.
3396 * config/linux/affinity.c: Likewise.
3397 * config/linux/alpha/futex.h: Likewise.
3398 * config/linux/bar.c: Likewise.
3399 * config/linux/bar.h: Likewise.
3400 * config/linux/ia64/futex.h: Likewise.
3401 * config/linux/ia64/mutex.h: Likewise.
3402 * config/linux/lock.c: Likewise.
3403 * config/linux/mips/futex.h: Likewise.
3404 * config/linux/mutex.c: Likewise.
3405 * config/linux/mutex.h: Likewise.
3406 * config/linux/powerpc/futex.h: Likewise.
3407 * config/linux/proc.c: Likewise.
3408 * config/linux/ptrlock.c: Likewise.
3409 * config/linux/ptrlock.h: Likewise.
3410 * config/linux/s390/futex.h: Likewise.
3411 * config/linux/sem.c: Likewise.
3412 * config/linux/sem.h: Likewise.
3413 * config/linux/sparc/futex.h: Likewise.
3414 * config/linux/wait.h: Likewise.
3415 * config/linux/x86/futex.h: Likewise.
3416 * config/mingw32/proc.c: Likewise.
3417 * config/mingw32/time.c: Likewise.
3418 * config/posix/affinity.c: Likewise.
3419 * config/posix/bar.c: Likewise.
3420 * config/posix/bar.h: Likewise.
3421 * config/posix/lock.c: Likewise.
3422 * config/posix/mutex.h: Likewise.
3423 * config/posix/proc.c: Likewise.
3424 * config/posix/ptrlock.h: Likewise.
3425 * config/posix/sem.c: Likewise.
3426 * config/posix/sem.h: Likewise.
3427 * config/posix/time.c: Likewise.
3428 * config/posix95/lock.c: Likewise.
3429 * critical.c: Likewise.
3430 * env.c: Likewise.
3431 * error.c: Likewise.
3432 * fortran.c: Likewise.
3433 * iter_ull.c: Likewise.
3434 * libgomp.h: Likewise.
3435 * libgomp_f.h.in: Likewise.
3436 * libgomp_g.h: Likewise.
3437 * loop.c: Likewise.
3438 * loop_ull.c: Likewise.
3439 * omp.h.in: Likewise.
3440 * omp_lib.f90.in: Likewise.
3441 * omp_lib.h.in: Likewise.
3442 * ordered.c: Likewise.
3443 * parallel.c: Likewise.
3444 * sections.c: Likewise.
3445 * single.c: Likewise.
3446 * task.c: Likewise.
3447 * team.c: Likewise.
3448 * work.c: Likewise.
3449
3450 2009-04-09 Jakub Jelinek <jakub@redhat.com>
3451
3452 * testsuite/config/default.exp: Change copyright header to refer to
3453 version 3 of the GNU General Public License and to point readers
3454 at the COPYING3 file and the FSF's license web page.
3455
3456 2009-04-08 Jakub Jelinek <jakub@redhat.com>
3457
3458 PR middle-end/39573
3459 * libgomp.c++/pr39573.C: New test.
3460
3461 2009-04-01 Jakub Jelinek <jakub@redhat.com>
3462
3463 PR other/39591
3464 * testsuite/libgomp.c/pr39591-1.c: New test.
3465 * testsuite/libgomp.c/pr39591-2.c: New test.
3466 * testsuite/libgomp.c/pr39591-3.c: New test.
3467
3468 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
3469
3470 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
3471 * testsuite/libgomp.c/atomic-6.c: Ditto.
3472
3473 2009-03-23 Jakub Jelinek <jakub@redhat.com>
3474
3475 PR c/39495
3476 * testsuite/libgomp.c/loop-12.c: New test.
3477 * testsuite/libgomp.c/loop-11.c: New test.
3478 * testsuite/libgomp.c++/loop-11.C: New test.
3479 * testsuite/libgomp.c++/loop-12.C: New test.
3480 * testsuite/libgomp.c++/for-8.C: New test.
3481
3482 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3483
3484 * configure: Regenerate.
3485
3486 2009-02-11 Jakub Jelinek <jakub@redhat.com>
3487
3488 PR middle-end/39154
3489 * testsuite/libgomp.c/pr39154.c: New test.
3490
3491 2009-01-30 Ian Lance Taylor <iant@google.com>
3492
3493 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
3494 libgomp_ld_is_gold. Get gold version number.
3495 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
3496 * configure: Rebuild.
3497
3498 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3499
3500 * testsuite/lib/libgomp.exp: Add -B option for targets that
3501 use libgfortran.a%s in their specs.
3502
3503 2009-01-07 Jakub Jelinek <jakub@redhat.com>
3504
3505 PR libgomp/38086
3506 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
3507 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
3508 HAVE_AS_SYMVER_DIRECTIVE is not defined.
3509 * configure: Regenerated.
3510 * config.h.in: Likewise.
3511
3512 2008-12-28 Jakub Jelinek <jakub@redhat.com>
3513
3514 PR c++/38650
3515 * testsuite/libgomp.c/pr38650.c: New test.
3516 * testsuite/libgomp.c++/pr38650.C: New test.
3517
3518 2008-12-27 Jakub Jelinek <jakub@redhat.com>
3519
3520 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
3521
3522 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
3523
3524 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
3525
3526 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3527
3528 * configure: Regenerate.
3529
3530 2008-12-08 Jakub Jelinek <jakub@redhat.com>
3531
3532 PR middle-end/36802
3533 * testsuite/libgomp.c/pr36802-1.c: New test.
3534 * testsuite/libgomp.c/pr36802-2.c: New test.
3535 * testsuite/libgomp.c/pr36802-3.c: New test.
3536
3537 2008-12-01 Janis Johnson <janis187@us.ibm.com>
3538
3539 PR libgomp/38270
3540 * config/linux/powerpc/mutex.h: New.
3541
3542 2008-12-01 Jakub Jelinek <jakub@redhat.com>
3543
3544 PR c++/38257
3545 * testsuite/libgomp.c++/for-7.C: New test.
3546
3547 PR c++/38348
3548 * testsuite/libgomp.c++/for-6.C: New test.
3549
3550 2008-11-26 Janis Johnson <janis187@us.ibm.com>
3551
3552 PR testsuite/28870
3553 * testsuite/lib/libgomp.exp: Include new timeout library files.
3554 (libgomp_target_compile): Set timeout value from new proc.
3555
3556 2008-11-13 Steve Ellcey <sje@cup.hp.com>
3557
3558 PR libgomp/37938
3559 * config/linux/ia64/mutex.h: New.
3560
3561 2008-11-04 Tobias Burnus <burnus@net-b.de>
3562
3563 PR libgomp/37935
3564 * libgomp.texi (Runtime library routines, environment variables):
3565 Update for OpenMP version 3.0.
3566
3567 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
3568 Steve Ellcey <sje@cup.hp.com>
3569
3570 * configure: Regenerate for new libtool.
3571 * Makefile.in: Ditto.
3572 * testsuite/Makefile.in: Ditto.
3573
3574 2008-09-19 Jakub Jelinek <jakub@redhat.com>
3575 Andreas Tobler <a.tobler@schweiz.org>
3576
3577 * config/bsd/proc.c: New file.
3578 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
3579 * configure.ac: Check for header <sys/sysctl.h>
3580 * configure: Regenerate.
3581 * config.h.in: Likewise.
3582
3583 2008-09-05 Janis Johnson <janis187@us.ibm.com>
3584
3585 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
3586
3587 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
3588
3589 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
3590 * Makefile.in: Regenerated.
3591 * testsuite/Makefile.in: Regenerated.
3592
3593 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
3594
3595 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
3596 depend on blddir if blddir exists.
3597 (libgomp_target_compile): Likewise.
3598 * testsuite/libgomp.c++/c++.exp: Likewise.
3599 * testsuite/libgomp.fortran/fortran.exp: Likewise.
3600
3601 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3602
3603 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
3604 Do not list GPL as Invariant Section.
3605
3606 2008-07-28 Ilie Garbacea <ilie@mips.com>
3607 Chao-ying Fu <fu@mips.com>
3608
3609 * configure.tgt: Enable futex for MIPS.
3610 * config/linux/mips/futex.h: New file.
3611
3612 2008-07-16 Jakub Jelinek <jakub@redhat.com>
3613
3614 * team.c (gomp_team_end): Free team immediately if it has
3615 just one thread.
3616
3617 2008-07-08 David Edelsohn <edelsohn@gnu.org>
3618
3619 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
3620 * testsuite/libgomp.fortran/fortran.exp: Same.
3621 * testsuite/libgomp.c/c.exp: Same.
3622 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
3623 directory to library path first.
3624
3625 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
3626
3627 * env.c (parse_stacksize): Add cast to avoid warning.
3628 (parse_spincount): Likewise.
3629
3630 2008-06-27 Jakub Jelinek <jakub@redhat.com>
3631
3632 * testsuite/libgomp.c/loop-10.c: New test.
3633 * libgomp.c/loop-3.c (main): Add lastprivate clause.
3634 * libgomp.c++/loop-6.C (main): Likewise.
3635
3636 PR debug/36617
3637 * testsuite/libgomp.c/debug-1.c: New test.
3638
3639 2008-06-19 Jakub Jelinek <jakub@redhat.com>
3640
3641 * testsuite/libgomp.c/nqueens-1.c: New test.
3642
3643 PR c++/36523
3644 * testsuite/libgomp.c++/task-7.C: New function.
3645
3646 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3647
3648 * configure: Regenerate.
3649
3650 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3651
3652 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
3653 mutex when HAVE_SYNC_BUILTINS isn't defined.
3654
3655 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3656
3657 * libgomp.texi (omp_test_lock): Fix typo.
3658
3659 2008-06-12 Tobias Burnus <burnus@net-b.de>
3660
3661 * omp_lib.f90.in: Add "implicit none".
3662
3663 2008-06-12 Jakub Jelinek <jakub@redhat.com>
3664
3665 PR middle-end/36506
3666 * testsuite/libgomp.c/reduction-5.c: New test.
3667
3668 2008-06-11 Jakub Jelinek <jakub@redhat.com>
3669
3670 * libgomp.h (struct gomp_task): Add in_tied_task field.
3671 * task.c (gomp_init_task): Initialize it.
3672 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
3673 unconditionally. Don't call gomp_team_barrier_wake if
3674 current task is implicit or if(0) from implicit and number of
3675 running tasks is equal to nthreads - 1.
3676
3677 PR libgomp/36471
3678 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
3679 omp_get_team_size_8): Fix pastos.
3680
3681 PR libgomp/36469
3682 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
3683 * configure: Regenerated.
3684 * config.h.in: Regenerated.
3685 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
3686 defined.
3687
3688 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
3689
3690 PR bootstrap/36452
3691 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
3692 (GOMP_loop_ull_dynamic_start): Likewise.
3693 (GOMP_loop_ull_guided_start): Likewise.
3694 (GOMP_loop_ull_ordered_static_start): Likewise.
3695 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
3696 (GOMP_loop_ull_ordered_guided_start): Likewise.
3697
3698 2008-06-06 Jakub Jelinek <jakub@redhat.com>
3699 Richard Henderson <rth@redhat.com>
3700 Ulrich Drepper <drepper@redhat.com>
3701 Jakob Blomer <jakob.blomer@ira.uka.de>
3702
3703 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
3704 Substitute also OMP_*LOCK_25*.
3705 * configure: Regenerated.
3706 * config.h.in: Regenerated.
3707 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
3708 ptrlock.c and task.c.
3709 * Makefile.in: Regenerated.
3710 * testsuite/Makefile.in: Regenerated.
3711 * task.c: New file.
3712 * loop_ull.c: New file.
3713 * iter_ull.c: New file.
3714 * libgomp.h: Include ptrlock.h.
3715 (enum gomp_task_kind): New type.
3716 (struct gomp_team): Add task_lock, task_queue, task_count,
3717 task_running_count, single_count fields. Add
3718 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
3719 Remove work_share_lock, generation_mask,
3720 oldest_live_gen, num_live_gen and init_work_shares fields, add
3721 work work_share_list_alloc, work_share_list_free and work_share_chunk
3722 fields. Change work_shares from pointer to pointers into an array.
3723 Change ordered_release field into gomp_sem_t ** from flexible array
3724 member. Add implicit_task and initial_work_shares fields.
3725 Move close to the end of the struct.
3726 (struct gomp_team_state): Add single_count, last_work_share,
3727 active_level and level fields, remove work_share_generation.
3728 (gomp_barrier_handle_tasks): New prototype.
3729 (gomp_finish_task): New inline function.
3730 (struct gomp_work_share): Move chunk_size, end, incr into
3731 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
3732 next_ll fields. Reshuffle fields. Add next_alloc,
3733 next_ws, next_free and inline_ordered_team_ids fields, change
3734 ordered_team_ids into pointer from flexible array member.
3735 Add mode field. Put lock and next into a different cache line
3736 from most of the write-once fields.
3737 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
3738 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
3739 gomp_iter_ull_guided_next): New prototypes.
3740 (gomp_new_icv): New prototype.
3741 (struct gomp_thread): Add thread_pool and task fields.
3742 (struct gomp_thread_pool): New type.
3743 (gomp_new_team): New prototype.
3744 (gomp_team_start): Change type of last argument.
3745 (gomp_new_work_share): Removed.
3746 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
3747 (gomp_work_share_init_done): New static inline.
3748 (gomp_throttled_spin_count_var, gomp_available_cpus,
3749 gomp_managed_threads): New extern decls.
3750 (gomp_init_task): New prototype.
3751 (gomp_spin_count_var): New extern var decl.
3752 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
3753 or no alias support, or if not PIC.
3754 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
3755 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
3756 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
3757 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
3758 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
3759 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
3760 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
3761 gomp_test_nest_lock_25): New prototypes.
3762 (omp_lock_symver, strong_alias): Define.
3763 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
3764 decls.
3765 (gomp_end_task): New.
3766 (struct gomp_task_icv, gomp_global_icv): New.
3767 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
3768 (struct gomp_task): New.
3769 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
3770 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
3771 (gomp_icv): New.
3772 (gomp_schedule_type): Reorder enum to match
3773 omp_sched_t.
3774 * team.c (struct gomp_thread_start_data): Add thread_pool and task
3775 fields.
3776 (gomp_thread_start): Add gomp_team_barrier_wait call.
3777 For non-nested case remove clearing of docked thread thr fields.
3778 Use pool fields instead of global gomp_* variables. Use
3779 gomp_barrier_wait_last when needed. Initialize ts.active_level.
3780 Create tasks for each member thread.
3781 (free_team): Only destroy team barrier, task_lock here and free it.
3782 (gomp_free_thread): Free last_team if non-NULL.
3783 (gomp_team_end): Call gomp_team_barrier_wait instead of
3784 gomp_barrier_wait. For nested case call one extra
3785 gomp_barrier_wait. Move here some destruction from free_team.
3786 Call free_team on pool->last_team if any, rather than freeing
3787 current team. Destroy work_share_list_free_lock ifndef
3788 HAVE_SYNC_BUILTINS.
3789 (gomp_new_icv): New function.
3790 (gomp_threads, gomp_threads_size, gomp_threads_used,
3791 gomp_threads_dock): Removed.
3792 (gomp_thread_destructor): New variable.
3793 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
3794 functions.
3795 (gomp_team_start): Create new pool if current thread doesn't have
3796 one. Use pool fields instead of global gomp_* variables.
3797 Initialize thread_pool field for new threads. Clear single_count.
3798 Change last argument from ws to team, don't create
3799 new team, set ts.work_share to &team->work_shares[0] and clear
3800 ts.last_work_share. Don't clear ts.work_share_generation.
3801 If number of threads changed, adjust atomically gomp_managed_threads.
3802 Use gomp_init_task instead of gomp_new_task,
3803 set thr->task to the corresponding implicit_task array entry.
3804 Create tasks for each member thread. Initialize ts.level.
3805 (initialize_team): Call pthread_key_create on
3806 gomp_thread_destructor.
3807 (team_destructor): New function.
3808 (new_team): Removed.
3809 (gomp_new_team): New function.
3810 (free_team): Free gomp_work_share blocks chained through next_alloc,
3811 instead of freeing work_shares and destroying work_share_lock.
3812 (gomp_team_end): Call gomp_fini_work_share. If number of threads
3813 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
3814 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
3815 of gomp_barrier_wait.
3816 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
3817 instead of gomp_barrier_wait. Call gomp_work_share_init_done
3818 if gomp_work_share_start returned true. Don't unlock ws->lock.
3819 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
3820 of gomp_barrier_wait.
3821 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
3822 gomp_work_share_init_done if gomp_work_share_start returned true.
3823 Don't unlock ws->lock.
3824 * work.c: Include stddef.h.
3825 (free_work_share): Use work_share_list_free_lock instead
3826 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
3827 Call gomp_fini_work_share and then either free ws if orphaned, or
3828 put it into work_share_list_free list of the current team.
3829 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
3830 functions.
3831 (gomp_work_share_start, gomp_work_share_end,
3832 gomp_work_share_end_nowait): Rewritten.
3833 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
3834 (openmp_version): Set to 200805.
3835 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
3836 omp_sched_guided, omp_sched_auto): New parameters.
3837 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3838 omp_set_max_active_levels, omp_get_max_active_levels,
3839 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3840 omp_get_active_level): New interfaces.
3841 * omp_lib.h.in (openmp_version): Set to 200805.
3842 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
3843 omp_sched_guided, omp_sched_auto): New parameters.
3844 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3845 omp_set_max_active_levels, omp_get_max_active_levels,
3846 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3847 omp_get_active_level): New externals.
3848 * loop.c: Include limits.h.
3849 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
3850 GFS_AUTO.
3851 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
3852 Likewise. Use gomp_icv.
3853 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
3854 ts.static_trip here.
3855 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
3856 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
3857 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
3858 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
3859 don't unlock ws->lock, otherwise lock it.
3860 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
3861 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
3862 (gomp_parallel_loop_start): Call gomp_new_team instead of
3863 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
3864 Adjust gomp_team_start caller. Pass 0 as second argument to
3865 gomp_resolve_num_threads.
3866 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
3867 If adding ws->chunk_size nthreads + 1 times after end won't
3868 overflow, set ws->mode to 1.
3869 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
3870 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
3871 GOMP_loop_ull_ordered_static_start,
3872 GOMP_loop_ull_ordered_dynamic_start,
3873 GOMP_loop_ull_ordered_guided_start,
3874 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
3875 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
3876 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
3877 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
3878 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
3879 prototypes.
3880 * libgomp.map: Export lock routines also @@OMP_2.0.
3881 (GOMP_loop_ordered_dynamic_first,
3882 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
3883 GOMP_loop_ordered_static_first): Remove.
3884 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
3885 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
3886 GOMP_loop_ull_ordered_dynamic_next,
3887 GOMP_loop_ull_ordered_dynamic_start,
3888 GOMP_loop_ull_ordered_guided_next,
3889 GOMP_loop_ull_ordered_guided_start,
3890 GOMP_loop_ull_ordered_runtime_next,
3891 GOMP_loop_ull_ordered_runtime_start,
3892 GOMP_loop_ull_ordered_static_next,
3893 GOMP_loop_ull_ordered_static_start,
3894 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
3895 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
3896 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
3897 (omp_set_schedule, omp_get_schedule,
3898 omp_get_thread_limit, omp_set_max_active_levels,
3899 omp_get_max_active_levels, omp_get_level,
3900 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
3901 omp_set_schedule_, omp_set_schedule_8_,
3902 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
3903 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
3904 omp_get_max_active_levels_, omp_get_level_,
3905 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
3906 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
3907 New exports @@OMP_3.0.
3908 * omp.h.in (omp_sched_t): New type.
3909 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3910 omp_set_max_active_levels, omp_get_max_active_levels,
3911 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3912 omp_get_active_level): New prototypes.
3913 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
3914 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
3915 gomp_thread_limit_var, gomp_remaining_threads_count,
3916 gomp_remaining_threads_lock): New variables.
3917 (parse_spincount): New function.
3918 (initialize_env): Call gomp_init_num_threads unconditionally.
3919 Initialize gomp_available_cpus. Call parse_spincount,
3920 initialize gomp_{,throttled_}spin_count_var
3921 depending on presence and value of OMP_WAIT_POLICY and
3922 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
3923 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
3924 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
3925 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
3926 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
3927 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
3928 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
3929 (gomp_global_icv): New.
3930 (parse_schedule): Use it. Parse "auto".
3931 (omp_set_num_threads): Use gomp_icv.
3932 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
3933 Likewise.
3934 (omp_get_max_threads): Move from parallel.c.
3935 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3936 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
3937 add ialias.
3938 (parse_stacksize, parse_wait_policy): New functions.
3939 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
3940 both wrappers for compatibility and new locks.
3941 (omp_set_schedule, omp_get_schedule,
3942 omp_get_thread_limit, omp_set_max_active_levels,
3943 omp_get_max_active_levels, omp_get_level,
3944 omp_get_ancestor_thread_num, omp_get_team_size,
3945 omp_get_active_level): New ialias_redirect.
3946 (omp_set_schedule_, omp_set_schedule_8_,
3947 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
3948 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
3949 omp_get_max_active_levels_, omp_get_level_,
3950 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
3951 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
3952 New functions.
3953 * parallel.c: Include limits.h.
3954 (gomp_resolve_num_threads): Add count argument. Rewritten.
3955 (GOMP_parallel_start): Call gomp_new_team and pass that as last
3956 argument to gomp_team_start. Pass 0 as second argument to
3957 gomp_resolve_num_threads.
3958 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
3959 if gomp_thread_limit_var != ULONG_MAX.
3960 (omp_in_parallel): Implement using ts.active_level.
3961 (omp_get_max_threads): Move to env.c.
3962 (omp_get_level, omp_get_ancestor_thread_num,
3963 omp_get_team_size, omp_get_active_level): New functions,
3964 add ialias.
3965 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
3966 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
3967 gomp_iter_dynamic_next instead of the _locked variant and don't take
3968 lock around it, otherwise acquire it before calling
3969 gomp_iter_dynamic_next_locked.
3970 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
3971 gomp_iter_dynamic_next instead of the _locked variant and don't take
3972 lock around it.
3973 (GOMP_parallel_sections_start): Call gomp_new_team instead of
3974 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
3975 Adjust gomp_team_start caller. Pass count as second argument to
3976 gomp_resolve_num_threads, don't adjust num_threads after the call.
3977 Use gomp_icv.
3978 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
3979 ws->chunk_size by incr.
3980 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
3981 code.
3982 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
3983 types.
3984 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
3985 (omp_check_defines): Check even the compat defines.
3986 * config/linux/ptrlock.c: New file.
3987 * config/linux/ptrlock.h: New file.
3988 * config/linux/wait.h: New file.
3989 * config/posix/ptrlock.c: New file.
3990 * config/posix/ptrlock.h: New file.
3991 * config/linux/bar.h (gomp_team_barrier_wait,
3992 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
3993 (gomp_team_barrier_set_task_pending,
3994 gomp_team_barrier_clear_task_pending,
3995 gomp_team_barrier_set_waiting_for_tasks,
3996 gomp_team_barrier_waiting_for_tasks,
3997 gomp_team_barrier_done): New inlines.
3998 (gomp_barrier_t): Rewritten.
3999 (gomp_barrier_state_t): New typedef.
4000 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
4001 gomp_barrier_wait_start): Rewritten.
4002 (gomp_barrier_wait_end): Change second argument to
4003 gomp_barrier_state_t.
4004 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
4005 inlines.
4006 * config/linux/bar.c: Include wait.h instead of libgomp.h and
4007 futex.h.
4008 (gomp_barrier_wait_end): Rewritten.
4009 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
4010 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
4011 * config/posix/bar.h (gomp_barrier_t): Add generation field.
4012 (gomp_barrier_state_t): New typedef.
4013 (gomp_team_barrier_wait,
4014 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
4015 (gomp_barrier_wait_start): Or all but low 2 bits from generation
4016 into the return value. Return gomp_barrier_state_t.
4017 (gomp_team_barrier_set_task_pending,
4018 gomp_team_barrier_clear_task_pending,
4019 gomp_team_barrier_set_waiting_for_tasks,
4020 gomp_team_barrier_waiting_for_tasks,
4021 gomp_team_barrier_done): New inlines.
4022 (gomp_barrier_wait_end): Change second argument to
4023 gomp_barrier_state_t.
4024 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
4025 inlines.
4026 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
4027 (gomp_barrier_wait_end): Change second argument to
4028 gomp_barrier_state_t.
4029 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
4030 gomp_team_barrier_wake): New functions.
4031 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
4032 futex.h.
4033 (gomp_futex_wake, gomp_futex_wait): New variables.
4034 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
4035 * config/linux/lock.c: Rewrite to make locks task owned,
4036 for backwards compatibility provide the old entrypoints
4037 if symbol versioning. Include wait.h instead of libgomp.h and
4038 futex.h.
4039 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
4040 * config/posix95/lock.c: Rewrite to make locks task owned,
4041 for backwards compatibility provide the old entrypoints
4042 if symbol versioning.
4043 * config/posix/lock.c: Rewrite to make locks task owned,
4044 for backwards compatibility provide the old entrypoints
4045 if symbol versioning.
4046 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
4047 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
4048 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
4049 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4050 (sys_futex0): Return error code.
4051 (futex_wake, futex_wait): If ENOSYS was returned, clear
4052 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4053 (cpu_relax, atomic_write_barrier): New static inlines.
4054 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4055 (futex_wake, futex_wait): If ENOSYS was returned, clear
4056 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4057 (cpu_relax, atomic_write_barrier): New static inlines.
4058 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4059 (sys_futex0): Return error code.
4060 (futex_wake, futex_wait): If ENOSYS was returned, clear
4061 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4062 (cpu_relax, atomic_write_barrier): New static inlines.
4063 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4064 (sys_futex0): Return error code.
4065 (futex_wake, futex_wait): If ENOSYS was returned, clear
4066 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4067 (cpu_relax, atomic_write_barrier): New static inlines.
4068 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4069 (sys_futex0): Return error code.
4070 (futex_wake, futex_wait): If ENOSYS was returned, clear
4071 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4072 (cpu_relax, atomic_write_barrier): New static inlines.
4073 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4074 (sys_futex0): Return error code.
4075 (futex_wake, futex_wait): If ENOSYS was returned, clear
4076 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4077 (cpu_relax, atomic_write_barrier): New static inlines.
4078 * config/linux/sem.c: Include wait.h instead of libgomp.h and
4079 futex.h.
4080 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
4081 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
4082 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
4083 types.
4084 (omp_nest_lock_t): Change owner into void *, add lock field.
4085 * config/posix95/omp-lock.h: Include semaphore.h.
4086 (omp_lock_25_t, omp_nest_lock_25_t): New types.
4087 (omp_lock_t): Use sem_t instead of mutex if semaphores
4088 aren't broken.
4089 (omp_nest_lock_t): Likewise. Change owner to void *.
4090 * config/posix/omp-lock.h: Include semaphore.h.
4091 (omp_lock_25_t, omp_nest_lock_25_t): New types.
4092 (omp_lock_t): Use sem_t instead of mutex if semaphores
4093 aren't broken.
4094 (omp_nest_lock_t): Likewise. Add owner field.
4095
4096 2008-06-06 Jakub Jelinek <jakub@redhat.com>
4097
4098 * testsuite/libgomp.c/collapse-1.c: New test.
4099 * testsuite/libgomp.c/collapse-2.c: New test.
4100 * testsuite/libgomp.c/collapse-3.c: New test.
4101 * testsuite/libgomp.c/icv-1.c: New test.
4102 * testsuite/libgomp.c/icv-2.c: New test.
4103 * testsuite/libgomp.c/lib-2.c: New test.
4104 * testsuite/libgomp.c/lock-1.c: New test.
4105 * testsuite/libgomp.c/lock-2.c: New test.
4106 * testsuite/libgomp.c/lock-3.c: New test.
4107 * testsuite/libgomp.c/loop-4.c: New test.
4108 * testsuite/libgomp.c/loop-5.c: New test.
4109 * testsuite/libgomp.c/loop-6.c: New test.
4110 * testsuite/libgomp.c/loop-7.c: New test.
4111 * testsuite/libgomp.c/loop-8.c: New test.
4112 * testsuite/libgomp.c/loop-9.c: New test.
4113 * testsuite/libgomp.c/nested-3.c: New test.
4114 * testsuite/libgomp.c/nestedfn-6.c: New test.
4115 * testsuite/libgomp.c/sort-1.c: New test.
4116 * testsuite/libgomp.c/task-1.c: New test.
4117 * testsuite/libgomp.c/task-2.c: New test.
4118 * testsuite/libgomp.c/task-3.c: New test.
4119 * testsuite/libgomp.c/task-4.c: New test.
4120 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
4121 to C++ testsuite default compiler options.
4122 * testsuite/libgomp.c++/collapse-1.C: New test.
4123 * testsuite/libgomp.c++/collapse-2.C: New test.
4124 * testsuite/libgomp.c++/ctor-10.C: New test.
4125 * testsuite/libgomp.c++/for-1.C: New test.
4126 * testsuite/libgomp.c++/for-2.C: New test.
4127 * testsuite/libgomp.c++/for-3.C: New test.
4128 * testsuite/libgomp.c++/for-4.C: New test.
4129 * testsuite/libgomp.c++/for-5.C: New test.
4130 * testsuite/libgomp.c++/loop-8.C: New test.
4131 * testsuite/libgomp.c++/loop-9.C: New test.
4132 * testsuite/libgomp.c++/loop-10.C: New test.
4133 * testsuite/libgomp.c++/task-1.C: New test.
4134 * testsuite/libgomp.c++/task-2.C: New test.
4135 * testsuite/libgomp.c++/task-3.C: New test.
4136 * testsuite/libgomp.c++/task-4.C: New test.
4137 * testsuite/libgomp.c++/task-5.C: New test.
4138 * testsuite/libgomp.c++/task-6.C: New test.
4139 * testsuite/libgomp.fortran/allocatable1.f90: New test.
4140 * testsuite/libgomp.fortran/allocatable2.f90: New test.
4141 * testsuite/libgomp.fortran/allocatable3.f90: New test.
4142 * testsuite/libgomp.fortran/allocatable4.f90: New test.
4143 * testsuite/libgomp.fortran/collapse1.f90: New test.
4144 * testsuite/libgomp.fortran/collapse2.f90: New test.
4145 * testsuite/libgomp.fortran/collapse3.f90: New test.
4146 * testsuite/libgomp.fortran/collapse4.f90: New test.
4147 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
4148 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
4149 * testsuite/libgomp.fortran/lib4.f90: New test.
4150 * testsuite/libgomp.fortran/lock-1.f90: New test.
4151 * testsuite/libgomp.fortran/lock-2.f90: New test.
4152 * testsuite/libgomp.fortran/nested1.f90: New test.
4153 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
4154 * testsuite/libgomp.fortran/strassen.f90: New test.
4155 * testsuite/libgomp.fortran/tabs1.f90: New test.
4156 * testsuite/libgomp.fortran/tabs2.f: New test.
4157 * testsuite/libgomp.fortran/task1.f90: New test.
4158 * testsuite/libgomp.fortran/task2.f90: New test.
4159 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
4160 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4161 * testsuite/libgomp.c/pr26943-2.c: Likewise.
4162 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4163 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4164
4165 2008-05-23 Jakub Jelinek <jakub@redhat.com>
4166
4167 PR c++/36308
4168 * testsuite/libgomp.c++/ctor-11.C: New test.
4169 * testsuite/libgomp.c++/ctor-12.C: New test.
4170
4171 2008-05-15 Janis Johnson <janis187@us.ibm.com>
4172
4173 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
4174
4175 2008-05-07 Jakub Jelinek <jakub@redhat.com>
4176
4177 PR middle-end/36106
4178 * testsuite/libgomp.c/atomic-5.c: New test.
4179 * testsuite/libgomp.c/atomic-6.c: New test.
4180 * testsuite/libgomp.c/autopar-1.c: New test.
4181
4182 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4183
4184 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
4185 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
4186 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
4187 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
4188 * configure: Regenerate.
4189 * Makefile.in, testsuite/Makefile.in: Likewise.
4190
4191 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
4192
4193 PR bootstrap/35457
4194 * aclocal.m4: Regenerate.
4195 * configure: Regenerate.
4196
4197 2008-03-18 Jakub Jelinek <jakub@redhat.com>
4198
4199 PR middle-end/35611
4200 * testsuite/libgomp.c/atomic-4.c: New test.
4201
4202 PR libgomp/35625
4203 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
4204 (gomp_iter_guided_next): Likewise.
4205 * testsuite/libgomp.c/pr35625.c: New test.
4206
4207 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4208
4209 * aclocal.m4: Regenerate.
4210 * configure: Likewise.
4211 * Makefile.in: Likewise.
4212 * testsuite/Makefile.in: Likewise.
4213
4214 2008-03-13 Jakub Jelinek <jakub@redhat.com>
4215
4216 PR middle-end/35185
4217 * testsuite/libgomp.c++/pr35185.C: New test.
4218
4219 2008-03-12 Jakub Jelinek <jakub@redhat.com>
4220
4221 PR middle-end/35549
4222 * testsuite/libgomp.c/pr35549.c: New test.
4223
4224 2008-03-06 Jakub Jelinek <jakub@redhat.com>
4225
4226 * testsuite/libgomp.c/atomic-3.c: New test.
4227
4228 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4229
4230 PR fortran/33197
4231 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
4232 .F08 file suffixes.
4233
4234 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
4235
4236 PR libgomp/33131
4237 * configure.ac: Add ACX_HEADER_STRING.
4238 * env.c: Include strings.h.
4239 * aclocal.m4: Regenerate.
4240 * config.h.in: Regenerate.
4241 * configure: Regenerate.
4242 * Makefile.in: Regenerate.
4243 * testsuite/Makefile.in: Regenerate.
4244
4245 2008-02-15 Jakub Jelinek <jakub@redhat.com>
4246
4247 PR middle-end/35196
4248 * testsuite/libgomp.c/pr35196.c: New test.
4249
4250 PR middle-end/35130
4251 * testsuite/libgomp.fortran/pr35130.f90: New test.
4252 * testsuite/libgomp.c/pr35130.c: New test.
4253
4254 2008-01-25 Jakub Jelinek <jakub@redhat.com>
4255
4256 PR middle-end/33880
4257 * testsuite/libgomp.c/pr33880.c: New test.
4258 * testsuite/libgomp.fortran/pr33880.f90: New test.
4259
4260 2008-01-24 David Edelsohn <edelsohn@gnu.org>
4261
4262 * configure: Regenerate.
4263
4264 2008-01-08 Jakub Jelinek <jakub@redhat.com>
4265
4266 * configure.ac: Move futex checking into ../config/futex.m4.
4267 * configure: Rebuilt.
4268 * aclocal.m4: Rebuilt.
4269 * Makefile.in: Rebuilt.
4270
4271 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
4272 2007-10-15 ../config/tls.m4 change.
4273
4274 2007-12-19 Jakub Jelinek <jakub@redhat.com>
4275
4276 PR c++/34513
4277 * testsuite/libgomp.c/pr34513.c: New test.
4278 * testsuite/libgomp.c++/pr34513.C: New test.
4279
4280 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
4281
4282 PR target/32765
4283 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
4284
4285 2007-12-04 Jakub Jelinek <jakub@redhat.com>
4286
4287 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
4288
4289 2007-12-03 Jakub Jelinek <jakub@redhat.com>
4290
4291 * testsuite/libgomp.c/private-1.c: New test.
4292
4293 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
4294 Paolo Bonzini <bonzini@gnu.org>
4295
4296 * Makefile.am: Use space as vpath separator. Use 'vpath %'
4297 instead of 'VPATH ='.
4298 * Makefile.in: Regenerate.
4299
4300 2007-11-23 Matthias Klose <doko@ubuntu.com>
4301
4302 * configure.ac: Adjust makeinfo version check.
4303 * configure: Regenerate.
4304
4305 2007-11-10 Jakub Jelinek <jakub@redhat.com>
4306
4307 PR fortran/34020
4308 * testsuite/libgomp.fortran/pr34020.f90: New test.
4309
4310 2007-11-06 Jakub Jelinek <jakub@redhat.com>
4311
4312 PR c++/33894
4313 * testsuite/libgomp.c++/atomic-1.C: New test.
4314
4315 2007-10-25 Jakub Jelinek <jakub@redhat.com>
4316
4317 PR libgomp/33275
4318 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
4319 Make x and y integers rather than (implicit) reals. Add private (j)
4320 clause to the last omp parallel.
4321
4322 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
4323
4324 * configure: Regenerate following changes to ../config/tls.m4.
4325
4326 2007-09-28 Jakub Jelinek <jakub@redhat.com>
4327
4328 * testsuite/libgomp.fortran/stack.f90: New test.
4329
4330 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
4331
4332 * config/mingw32/proc.c: New file.
4333
4334 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
4335
4336 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
4337 (main): Use __get_cpuid to get i386 target fetaures.
4338 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
4339 (main): Use __get_cpuid to get x86_64 target fetaures.
4340
4341 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
4342
4343 PR target/32765
4344 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
4345 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
4346
4347 2007-07-12 Jakub Jelinek <jakub@redhat.com>
4348
4349 PR fortran/32550
4350 * testsuite/libgomp.fortran/pr32550.f90: New test.
4351 * testsuite/libgomp.fortran/crayptr2.f90: New test.
4352
4353 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
4354
4355 * aclocal.m4: Regenerated.
4356
4357 2007-07-05 Tobias Burnus <burnus@net-b.de>
4358
4359 PR fortran/32359
4360 * testsuite/libgomp.fortran/pr32359.f90: New.
4361
4362 2007-07-02 Jakub Jelinek <jakub@redhat.com>
4363
4364 PR libgomp/32468
4365 * sections.c (GOMP_parallel_sections_start): Only decrease
4366 number of threads to COUNT if dyn_var is true.
4367 * testsuite/libgomp.c/pr32468.c: New test.
4368
4369 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4370
4371 PR libgomp/26308
4372 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
4373
4374 2007-06-21 Jakub Jelinek <jakub@redhat.com>
4375
4376 PR middle-end/32362
4377 * testsuite/libgomp.c/pr32362-1.c: New test.
4378 * testsuite/libgomp.c/pr32362-2.c: New test.
4379 * testsuite/libgomp.c/pr32362-3.c: New test.
4380
4381 2007-06-07 Jakub Jelinek <jakub@redhat.com>
4382
4383 * team.c (gomp_team_start): Fix setting up thread_attr
4384 stack size.
4385
4386 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
4387
4388 * configure: Regenerate.
4389
4390 2007-05-23 Steve Ellcey <sje@cup.hp.com>
4391
4392 * Makefile.in: Regenerate.
4393 * configure: Regenerate.
4394 * aclocal.m4: Regenerate.
4395 * testsuite/Makefile.in: Regenerate.
4396
4397 2007-05-04 Jakub Jelinek <jakub@redhat.com>
4398
4399 * config/linux/proc.c: New file.
4400
4401 PR libgomp/28482
4402 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
4403
4404 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
4405
4406 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
4407
4408 2007-04-16 Matthias Klose <doko@debian.org>
4409
4410 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
4411 flags if not building with -m64.
4412 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
4413 flag for i?86-*-* targets, if current target matches -m64.
4414
4415 2007-04-14 Steve Ellcey <sje@cup.hp.com>
4416
4417 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
4418 * Makefile.in: Regenerate.
4419
4420 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4421
4422 PR testsuite/31369
4423 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
4424 ld_library_path.
4425 * testsuite/libgomp.fortran/fortran.exp: Likewise.
4426
4427 2007-04-04 Jakub Jelinek <jakub@redhat.com>
4428
4429 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
4430 decls.
4431 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
4432 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
4433 (parse_affinity): New function.
4434 (initialize_env): Call it and gomp_init_affinity.
4435 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
4436 create new pthread_attr_t and call gomp_init_thread_affinity
4437 on it for each thread before passing the attribute to pthread_create.
4438 * config/linux/affinity.c: New file.
4439 * config/posix/affinity.c: New file.
4440 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
4441 * configure: Rebuilt.
4442 * config.h.in: Rebuilt.
4443 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
4444 * Makefile.in: Rebuilt.
4445
4446 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
4447
4448 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
4449 *-*-darwin*.
4450 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
4451 and use it if found.
4452
4453 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
4454
4455 * testsuite/config/default.exp: New file.
4456 * testsuite/lib/libgomp.exp: New file.
4457 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
4458 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
4459 load_lib *, load_gcc_lib *): Move to libgomp.exp.
4460 (libgomp_load): Remove.
4461 * testsuite/lib/libgomp.exp (libgomp_init): Compute
4462 always_ld_library_path, not ld_library_path. Set additional_flags
4463 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
4464 (target_compile): Do not call libgomp_init. Append lang_library_path
4465 and lang_link_flags to options.
4466 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
4467 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
4468 here.
4469 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
4470 always_ld_library_path. Set LD_LIBRARY_PATH here.
4471 * testsuite/libgomp.fortran/fortran.exp: Ditto.
4472 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
4473 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
4474 CX8 flag.
4475 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
4476 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
4477 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
4478 * testsuite/libgomp.c/pr29947-1.c: Ditto.
4479 * testsuite/libgomp.c/atomic-10.c: Ditto.
4480
4481 2007-03-21 Jakub Jelinek <jakub@redhat.com>
4482
4483 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
4484 dg-final cleanup-modules line.
4485 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
4486 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
4487 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
4488 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4489 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4490 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4491 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4492
4493 2007-03-18 Andreas Schwab <schwab@suse.de>
4494
4495 * acinclude.m4: Adjust regular expression for ld version
4496 extraction.
4497 * configure: Regenerate.
4498
4499 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
4500
4501 * Makefile.am: Add install-pdf target as copied from
4502 automake v1.10 rules.
4503 * Makefile.in: Regenerate
4504
4505 2007-02-07 Jakub Jelinek <jakub@redhat.com>
4506
4507 PR libgomp/28486
4508 * configure: Regenerate.
4509
4510 PR c++/30703
4511 * testsuite/libgomp.c++/pr30703.C: New test.
4512
4513 2007-02-02 Jakub Jelinek <jakub@redhat.com>
4514
4515 Revert:
4516 2006-07-05 Eric Christopher <echristo@apple.com>
4517 * configure.ac: Depend addition of -pthread on host OS.
4518 * configure: Regenerate.
4519
4520 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4521
4522 * libgomp.texi: Fix spacing after abbreviations.
4523
4524 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
4525
4526 PR libgomp/30546
4527 * configure.ac: Add check for makeinfo
4528 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
4529 if an appropiate version of makeinfo is found.
4530 * aclocal.m4: Regenerated.
4531 * configure: Regenerated.
4532 * Makefile.in: Regenerated.
4533 * testsuite/Makefile.in: Regenerated.
4534
4535 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
4536
4537 PR libgomp/30540
4538 * libgomp.texi: More about implementation-dependent settings.
4539
4540 2007-01-26 Tobias Burnus <burnus@net-b.de>
4541
4542 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
4543
4544 2007-01-24 Jakub Jelinek <jakub@redhat.com>
4545
4546 PR middle-end/30494
4547 * testsuite/libgomp.c/pr30494.c: New test.
4548
4549 2007-01-15 Tom Tromey <tromey@redhat.com>
4550
4551 * configure: Rebuilt.
4552 * configure.ac: Fixed comment.
4553
4554 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
4555
4556 * libgomp.texi: Document implementation specific default values of
4557 environment variables.
4558
4559 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
4560
4561 PR libgomp/28209
4562 * libgomp.texi: New file.
4563 * configure.ac: Add --enable-generated-files-in-srcdir option.
4564 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
4565 files to srcdir.
4566 * Makefile.in: Regenerated.
4567 * config.h.in: Regenerated.
4568 * testsuite/Makefile.in: Regenerated.
4569 * NOTES: Removed.
4570
4571 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
4572
4573 PR libgomp/29949
4574 * env.c (omp_set_num_threads): Set illegal thread count to 1.
4575
4576 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4577
4578 * configure: Regenerate.
4579
4580 2006-12-04 Jakub Jelinek <jakub@redhat.com>
4581
4582 PR libgomp/29947
4583 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
4584 start if there shouldn't be any loop iterations.
4585 (gomp_loop_ordered_static_start): Remove start == end test.
4586 * testsuite/libgomp.c/pr29947-1.c: New test.
4587 * testsuite/libgomp.c/pr29947-2.c: New test.
4588
4589 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
4590
4591 * configure.tgt: Force initial-exec TLS model on Linux only.
4592
4593 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
4594
4595 * configure: Regenerated.
4596
4597 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
4598
4599 * env.c (parse_schedule): Reject out of range values.
4600 (parse_unsigned_long): Reject out of range, negative or zero values.
4601
4602 2006-10-29 Jakub Jelinek <jakub@redhat.com>
4603
4604 PR fortran/29629
4605 * testsuite/libgomp.fortran/pr29629.f90: New test.
4606
4607 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
4608
4609 PR libgomp/29494
4610 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
4611 * config/posix95: New directory.
4612 * config/posix95/omp-lock.h: New file.
4613 * config/posix95/lock.c: Likewise.
4614
4615 2006-10-14 Geoffrey Keating <geoffk@apple.com>
4616
4617 * aclocal.m4: Regenerate.
4618 * configure: Regenerate.
4619
4620 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
4621
4622 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
4623 '<' to '<='.
4624
4625 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
4626
4627 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
4628 test.
4629 * configure: Regenerate.
4630 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
4631
4632 2006-09-26 Jakub Jelinek <jakub@redhat.com>
4633
4634 PR middle-end/25261
4635 PR middle-end/28790
4636 * testsuite/libgomp.c/nestedfn-4.c: New test.
4637 * testsuite/libgomp.c/nestedfn-5.c: New test.
4638 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
4639
4640 PR fortran/29097
4641 * testsuite/libgomp.fortran/condinc1.f: New test.
4642 * testsuite/libgomp.fortran/condinc2.f: New test.
4643 * testsuite/libgomp.fortran/condinc3.f90: New test.
4644 * testsuite/libgomp.fortran/condinc4.f90: New test.
4645 * testsuite/libgomp.fortran/condinc1.inc: New file.
4646
4647 2006-09-18 Tom Tromey <tromey@redhat.com>
4648
4649 * configure: Rebuilt.
4650
4651 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
4652
4653 PR c/28768
4654 PR preprocessor/14634
4655 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
4656 to AC_DEFINE.
4657 * configure: Regenerate.
4658
4659 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
4660
4661 * testsuite/libgomp.fortran/reduction3.f90: Change
4662 -2147483648 to -huge(i)-1 to avoid overflow.
4663 * testsuite/libgomp.fortran/reduction4.f90: Change
4664 Z'ffffffff' to not(0) to avoid overflow.
4665
4666 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
4667
4668 PR libgomp/25938
4669 * Makefile.am (libsubincludedir): New.
4670 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
4671 * Makefile.in: Regenerate.
4672
4673 2006-08-17 Jakub Jelinek <jakub@redhat.com>
4674
4675 PR libgomp/28725
4676 * env.c: Include ctype.h.
4677 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
4678 leading and/or trailing whitespace and compare strings case
4679 insensitively.
4680
4681 2006-07-16 Jakub Jelinek <jakub@redhat.com>
4682
4683 PR fortran/28390
4684 * testsuite/libgomp.fortran/pr28390.f: New test.
4685
4686 2006-07-05 Eric Christopher <echristo@apple.com>
4687
4688 * configure.ac: Depend addition of -pthread on host OS.
4689 * configure: Regenerate.
4690
4691 2006-06-21 Jakub Jelinek <jakub@redhat.com>
4692
4693 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
4694 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
4695 defined.
4696
4697 2006-06-20 Jakub Jelinek <jakub@redhat.com>
4698
4699 PR libgomp/26175
4700 PR libgomp/26477
4701 * configure.ac: If neither --enable-linux-futex nor
4702 --disable-linux-futex is passed, determine the default by checking
4703 for compiling and/or running against NPTL. With --enable-linux-futex,
4704 check if SYS_gettid and SYS_futex are defined.
4705 * configure: Rebuilt.
4706
4707 2006-06-14 Richard Henderson <rth@redhat.com>
4708
4709 PR libgomp/28008
4710 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
4711 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
4712
4713 2006-06-09 Richard Henderson <rth@redhat.com>
4714
4715 * env.c (gomp_nthreads_var): Change to unsigned long.
4716 (gomp_run_sched_chunk): Likewise.
4717 (parse_unsigned_long): Rename from parse_num_threads and generalize.
4718 (initialize_env): Initialize gomp_thread_attr.
4719 * libgomp.h (gomp_nthreads_var): Update decl.
4720 (gomp_run_sched_chunk): Likewise.
4721 (gomp_thread_attr): Declare.
4722 * team.c (gomp_thread_attr): Export.
4723 (initialize_team): Don't initialize it.
4724
4725 2006-06-09 Jakub Jelinek <jakub@redhat.com>
4726
4727 PR fortran/27916
4728 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
4729 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
4730
4731 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4732
4733 * config/mingw32/time.c: New file.
4734 * configure.tgt: Use it.
4735
4736 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
4737
4738 * Makefile.am: Add install-html target. Add install-html to .PHONY
4739 * Makefile.in: Regenerate.
4740
4741 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4742
4743 PR libgomp/27612
4744 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
4745 * testsuite/libgomp.c/critical-1.c: Likewise.
4746 * testsuite/libgomp.c/loop-1.c: Likewise.
4747 * testsuite/libgomp.c/loop-2.c: Likewise.
4748 * testsuite/libgomp.c/single-1.c: Likewise.
4749 * testsuite/libgomp.c/ordered-1.c: Likewise.
4750 * testsuite/libgomp.c/ordered-2.c: Likewise.
4751
4752 2006-05-15 Jakub Jelinek <jakub@redhat.com>
4753
4754 PR middle-end/27416
4755 * libgomp.fortran/pr27416-1.f90: New test.
4756
4757 2006-05-03 Jakub Jelinek <jakub@redhat.com>
4758
4759 PR fortran/27395
4760 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
4761 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
4762
4763 2006-05-02 Jakub Jelinek <jakub@redhat.com>
4764
4765 PR c++/26943
4766 * testsuite/libgomp.c/pr26943-1.c: New test.
4767 * testsuite/libgomp.c/pr26943-2.c: New test.
4768 * testsuite/libgomp.c/pr26943-3.c: New test.
4769 * testsuite/libgomp.c/pr26943-4.c: New test.
4770 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
4771 * testsuite/libgomp.c++/pr26943.C: New test.
4772
4773 2006-05-02 Jakub Jelinek <jakub@redhat.com>
4774
4775 PR middle-end/27337
4776 * testsuite/libgomp.c++/pr27337.C: New test.
4777
4778 2006-04-26 Jakub Jelinek <jakub@redhat.com>
4779
4780 PR c/26171
4781 * testsuite/libgomp.c/pr26171.c: New test.
4782
4783 2006-04-25 Richard Henderson <rth@redhat.com>
4784
4785 PR libgomp/25865
4786 * configure.ac: Use GCC_CHECK_TLS.
4787 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
4788 * Makefile.in, aclocal.m4, configure: Regenerate.
4789
4790 2006-04-10 Matthias Klose <doko@debian.org>
4791
4792 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
4793 directory names containing underscores.
4794
4795 2006-03-21 Jakub Jelinek <jakub@redhat.com>
4796
4797 PR c++/26691
4798 * testsuite/libgomp.c++/pr26691.C: New test.
4799
4800 2006-03-13 Jakub Jelinek <jakub@redhat.com>
4801
4802 * testsuite/libgomp.fortran/retval2.f90: New test.
4803
4804 2006-03-09 Diego Novillo <dnovillo@redhat.com>
4805
4806 * testsuite/libgomp.c++: New directory.
4807
4808 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
4809
4810 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
4811 * config/posix/sem.c: Implement the above.
4812
4813 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
4814
4815 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
4816 define HAVE_BROKEN_POSIX_SEMAPHORES.
4817 * configure: Rebuilt.
4818 * config.h.in: Rebuilt.
4819
4820 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4821
4822 PR bootstrap/26161
4823 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
4824 for the other pthread check.
4825 * configure: Regenerate.
4826 * config.h.in: Regenerate.
4827
4828 2006-02-15 Jakub Jelinek <jakub@redhat.com>
4829
4830 PR libgomp/25938
4831 PR libgomp/25984
4832 * Makefile.am (fincludedir): New variable.
4833 (nodist_include_HEADERS): Remove Fortran files.
4834 (nodist_finclude_HEADERS): New variable.
4835 * Makefile.in: Regenerated.
4836
4837 2006-02-13 Jakub Jelinek <jakub@redhat.com>
4838
4839 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
4840 Remove tests for returning assumed character length arrays.
4841
4842 2006-02-12 Roger Sayle <roger@eyesopen.com>
4843 John David Anglin <dave@hiauly1.hia.nrc.ca>
4844
4845 PR libgomp/25936
4846 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
4847
4848 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
4849
4850 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
4851
4852 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
4853
4854 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
4855 part of LD_LIBRARY_PATH manually.
4856
4857 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
4858
4859 PR libgomp/25852
4860 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
4861 libgomp_init.
4862
4863 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
4864
4865 PR libgomp/25884
4866 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
4867 * configure.ac (PERL): Don't set.
4868 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
4869 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
4870 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
4871 * omp.h.in: Wrap the new configure substitutions with @ characters.
4872 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
4873 * aclocal.m4, configure, Makefile.in: Regenerate.
4874 * mkomp_h.pl: Delete.
4875
4876 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
4877
4878 PR libgomp/25259
4879 * configure.ac: Use GCC_HEADER_STDINT.
4880 * libgomp.h: Include gstdint.h.
4881 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
4882 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
4883
4884 2006-01-24 Richard Henderson <rth@redhat.com>
4885
4886 PR libgomp/25942
4887 * configure.ac: Add AM_MAINTAINER_MODE.
4888 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
4889
4890 2006-01-24 Diego Novillo <dnovillo@redhat.com>
4891
4892 * Makefile.in: Regenerate.
4893 * testsuite/Makefile.in: Regenerate.
4894 * aclocal.m4: Regenerate.
4895
4896 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
4897
4898 * config/posix/proc.c: Conditional include of sys/loadavg.h for
4899 Solaris.
4900 * configure.ac: Add check for loadavg.h.
4901 (link_gomp): Adjust comment.
4902 * configure: Regenerate.
4903 * config.h.in: Regenerate.
4904
4905 2006-01-21 Steve Ellcey <sje@cup.hp.com>
4906
4907 PR libgomp/25877
4908 * configure.ac: Remove check for alloca.h.
4909 * configure: Regenerate.
4910 * config.h.in: Regenerate.
4911 * libgomp.h: define gomp_alloca to be __builtin_alloca.
4912 * team.c: Remove use of alloca.h.
4913 Call gomp_alloca instead of alloca.
4914
4915 2006-01-20 Steve Ellcey <sje@cup.hp.com>
4916
4917 PR libgomp/25877
4918 * team.c: Add include of alloca.h.
4919 * configure.ac: Add check for alloca.h.
4920 * configure: Regenerate.
4921 * config.h.in: Regenerate.
4922
4923 2006-01-17 Jakub Jelinek <jakub@redhat.com>
4924
4925 PR fortran/25219
4926 * testsuite/libgomp.fortran/pr25219.f90: New test.
4927
4928 2005-12-05 Uros Bizjak <uros@kss-loka.si>
4929
4930 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
4931 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
4932 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
4933 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
4934 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
4935 testsuite/libgomp.fortran/threadprivate1.f90,
4936 testsuite/libgomp.fortran/threadprivate2.f90,
4937 testsuite/libgomp.fortran/threadprivate3.f90,
4938 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
4939 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
4940 testsuite/libgomp.fortran/omp_parse3.f90: Change required
4941 effective-target to TLS runtime.
4942
4943 * testsuite/libgomp.fortran/pr25162.f: Require
4944 effective-target TLS runtime.
4945
4946 2005-12-01 Jakub Jelinek <jakub@redhat.com>
4947
4948 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
4949 * testsuite/libgomp.c/nestedfn-3.c: New test.
4950
4951 2005-11-30 Jakub Jelinek <jakub@redhat.com>
4952
4953 PR fortran/25162
4954 * testsuite/libgomp.fortran/pr25162.f: New test.
4955
4956 2005-11-28 Jakub Jelinek <jakub@redhat.com>
4957
4958 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
4959 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
4960
4961 2005-11-25 Jakub Jelinek <jakub@redhat.com>
4962
4963 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
4964 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
4965 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
4966 single.c, team.c, work.c, config/linux/alpha/futex.h,
4967 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
4968 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
4969 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
4970 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
4971 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
4972 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
4973 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
4974 FSF address.
4975
4976 2005-11-18 Jakub Jelinek <jakub@redhat.com>
4977
4978 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
4979 to nodist_noinst_HEADERS.
4980 * Makefile.in: Rebuilt.
4981
4982 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
4983 add integer count field.
4984 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
4985 omp_nest_lock_t type change.
4986 (omp_init_nest_lock): Likewise. Initialize count to 0.
4987 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
4988 Increment count.
4989 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
4990 Decrement count.
4991 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
4992 Increment count if successful and return the new nesting level.
4993 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
4994 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
4995 * testsuite/libgomp.c/lib-1.c: New test.
4996 * testsuite/libgomp.fortran/lib1.f90: New test.
4997 * testsuite/libgomp.fortran/lib2.f: New test.
4998 * testsuite/libgomp.fortran/lib3.f: New test.
4999
5000 2005-11-17 Richard Henderson <rth@redhat.com>
5001
5002 PR 24845
5003 * Makefile.am (nodist_toolexeclib_HEADERS): New.
5004 * configure.ac (link_gomp): New. Substitute it.
5005 (AC_CONFIG_FILES): Add libgomp.spec.
5006 * libgomp.spec.in: New file.
5007 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
5008 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
5009
5010 2005-11-18 Jakub Jelinek <jakub@redhat.com>
5011
5012 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
5013 reduction(-:var) behaving the same as reduction(+:var).
5014 * testsuite/libgomp.c/reduction-4.c: New test.
5015
5016 2005-11-15 Uros Bizjak <uros@kss-loka.si>
5017
5018 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
5019 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
5020 testsuite/libgomp.c/copyin-3.c,
5021 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
5022 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
5023 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
5024 testsuite/libgomp.c++/pr24455.C,
5025 testsuite/libgomp.fortran/threadprivate1.f90,
5026 testsuite/libgomp.fortran/threadprivate2.f90,
5027 testsuite/libgomp.fortran/threadprivate3.f90,
5028 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
5029 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
5030 testsuite/libgomp.fortran/omp_parse3.f90: Require
5031 effective-target TLS.
5032
5033 2005-11-14 Diego Novillo <dnovillo@redhat.com>
5034
5035 * HEADER: Remove.
5036
5037 2005-11-13 Jakub Jelinek <jakub@redhat.com>
5038
5039 PR libgomp/24797
5040 * team.c (initialize_team): Pass NULL rather than free as
5041 pthread_key_create destructor. Initialize thread specific data
5042 pointer in initial thread to a static local variable rather than
5043 malloced memory.
5044
5045 2005-11-11 Uros Bizjak <uros@kss-loka.si>
5046
5047 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
5048 its location to ld_library_path.
5049
5050 2005-11-10 Diego Novillo <dnovillo@redhat.com>
5051
5052 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
5053
5054 2005-11-10 Diego Novillo <dnovillo@redhat.com>
5055
5056 * testsuite/libgomp.c: Rename from libgomp.dg.
5057
5058 2005-11-09 Diego Novillo <dnovillo@redhat.com>
5059
5060 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
5061 threadprivate variable 'i'.
5062
5063 2005-11-09 Jakub Jelinek <jakub@redhat.com>
5064
5065 * config/linux/s390/futex.h: New file.
5066 * configure.tgt: Use it.
5067
5068 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
5069 before the parallel.
5070
5071 2005-11-08 Jakub Jelinek <jakub@redhat.com>
5072
5073 PR c++/24734
5074 * testsuite/libgomp.c++/master-1.C: New test.
5075
5076 2005-11-07 Jakub Jelinek <jakub@redhat.com>
5077
5078 * testsuite/libgomp.dg/copyin-3.c: New test.
5079
5080 2005-11-07 Jakub Jelinek <jakub@redhat.com>
5081
5082 * testsuite/libgomp.fortran/retval1.f90: New test.
5083 * testsuite/libgomp.fortran/vla7.f90: New test.
5084
5085 2005-11-06 Jakub Jelinek <jakub@redhat.com>
5086
5087 * testsuite/libgomp.fortran/vla2.f90: New test.
5088 * testsuite/libgomp.fortran/vla3.f90: New test.
5089 * testsuite/libgomp.fortran/vla4.f90: New test.
5090 * testsuite/libgomp.fortran/vla5.f90: New test.
5091 * testsuite/libgomp.fortran/vla6.f90: New test.
5092
5093 2005-11-01 Jakub Jelinek <jakub@redhat.com>
5094
5095 * config/linux/sparc/futex.h: New file.
5096 * configure.tgt: Use it.
5097 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
5098
5099 * critical.c: Include stdlib.h.
5100 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
5101 ignoring return value.
5102 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
5103 LIBGOMP_CHECK_SYNC_BUILTINS check.
5104 * configure: Rebuilt.
5105
5106 2005-10-31 Jakub Jelinek <jakub@redhat.com>
5107
5108 * testsuite/libgomp.fortran/vla1.f90: New test.
5109
5110 2005-10-31 Richard Henderson <rth@redhat.com>
5111
5112 * testsuite/libgomp.fortran/character2.f90: Fix race condition
5113 setting 's' in different threads.
5114
5115 2005-10-31 Jakub Jelinek <jakub@redhat.com>
5116
5117 * libgomp.h (attribute_hidden, ialias): Define.
5118 * config/posix/proc.c (omp_get_num_procs): Add ialias.
5119 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
5120 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
5121 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
5122 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
5123 omp_test_lock, omp_test_nest_lock): Likewise.
5124 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
5125 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
5126 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
5127 omp_test_lock, omp_test_nest_lock): Likewise.
5128 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
5129 omp_get_dynamic, omp_get_nested): Likewise.
5130 * parallel.c (omp_get_num_threads, omp_get_max_threads,
5131 omp_get_thread_num, omp_in_parallel): Likewise.
5132 * fortran.c (ialias_redirect): Define.
5133 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
5134 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
5135 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
5136 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
5137 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
5138 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
5139 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
5140 omp_get_wtime): Add ialias_redirect.
5141
5142 2005-10-30 Jakub Jelinek <jakub@redhat.com>
5143
5144 * fortran.c: Include stdlib.h.
5145
5146 2005-10-29 Jakub Jelinek <jakub@redhat.com>
5147
5148 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
5149 * Makefile.in: Regenerated.
5150
5151 2005-10-28 Jakub Jelinek <jakub@redhat.com>
5152
5153 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
5154 * libgomp_f.h.in (omp_check_defines): New function.
5155 * env.c: Include libgomp_f.h.
5156 (initialize_env): Call omp_check_defines.
5157
5158 * testsuite/libgomp.dg/copyin-2.c: New test.
5159 * testsuite/libgomp.c++/copyin-2.C: New test.
5160 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
5161
5162 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
5163 * testsuite/libgomp.fortran/sharing2.f90: New test.
5164
5165 * testsuite/libgomp.dg/copyin-1.c: New test.
5166 * testsuite/libgomp.c++/copyin-1.C: New test.
5167
5168 2005-10-26 Jakub Jelinek <jakub@redhat.com>
5169
5170 * testsuite/libgomp.fortran/crayptr1.f90: New test.
5171
5172 * testsuite/libgomp.fortran/workshare1.f90: New test.
5173
5174 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
5175 only test.
5176 * libgomp.fortran/sharing1.f90: New test.
5177
5178 2005-10-24 Jakub Jelinek <jakub@redhat.com>
5179
5180 PR c++/24502
5181 * testsuite/libgomp.c++/loop-7.C: New test.
5182
5183 * testsuite/libgomp.dg/nestedfn-2.c: New test.
5184
5185 * testsuite/libgomp.dg/nestedfn-1.c: New test.
5186 * testsuite/libgomp.fortran/reduction6.f90: New test.
5187 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
5188
5189 2005-10-23 Richard Henderson <rth@redhat.com>
5190
5191 * testsuite/libgomp.c++/ctor-1.C: New.
5192 * testsuite/libgomp.c++/ctor-2.C: New.
5193 * testsuite/libgomp.c++/ctor-3.C: New.
5194 * testsuite/libgomp.c++/ctor-4.C: New.
5195 * testsuite/libgomp.c++/ctor-5.C: New.
5196 * testsuite/libgomp.c++/ctor-6.C: New.
5197 * testsuite/libgomp.c++/ctor-7.C: New.
5198 * testsuite/libgomp.c++/ctor-8.C: New.
5199 * testsuite/libgomp.c++/ctor-9.C: New.
5200
5201 2005-10-21 Diego Novillo <dnovillo@redhat.com>
5202
5203 PR 24455
5204 * testsuite/libgomp.c++/pr24455-1.C: New test.
5205 * testsuite/libgomp.c++/pr24455.C: New test.
5206 * testsuite/libgomp.dg/pr24455-1.c: New test.
5207 * testsuite/libgomp.dg/pr24455.c: New test.
5208
5209 2005-10-20 Richard Henderson <rth@redhat.com>
5210
5211 * testsuite/libgomp.c++/loop-6.C: New.
5212 * testsuite/libgomp.dg/loop-3.c: New.
5213
5214 2005-10-20 Jakub Jelinek <jakub@redhat.com>
5215
5216 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
5217 explicitly private.
5218 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
5219 explicitly shared.
5220
5221 2005-10-19 Diego Novillo <dnovillo@redhat.com>
5222
5223 * testsuite/libgomp.fortran/jacobi.f: New test.
5224
5225 2005-10-19 Richard Henderson <rth@redhat.com>
5226
5227 * configure.tgt (i?86-linux): Default to with_arch instead of
5228 CFLAGS. Add -mtune to match target_cpu.
5229 (x86_64-linux): Tune to i686.
5230
5231 * fortran.c (omp_test_nest_lock_): Fix typo.
5232
5233 2005-10-19 Jakub Jelinek <jakub@redhat.com>
5234
5235 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
5236 gomp_ordered_sync): Do nothing if team->nthreads == 1.
5237 * testsuite/libgomp.dg/ordered-3.c: New test.
5238
5239 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
5240 Remove volatile keyword.
5241
5242 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
5243 in COMMON block to avoid warnings on 64-bit targets.
5244
5245 2005-10-18 Diego Novillo <dnovillo@redhat.com>
5246
5247 * testsuite/libgomp.dg/shared-3.c: New test.
5248
5249 2005-10-18 Jakub Jelinek <jakub@redhat.com>
5250
5251 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
5252 * testsuite/libgomp.fortran/reduction5.f90: New test.
5253
5254 2005-10-18 Jakub Jelinek <jakub@redhat.com>
5255
5256 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
5257 dg-options.
5258 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
5259 flush loop now that __sync_synchronize has proper memory barrier.
5260 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
5261 Add -ffixed-form to dg-options.
5262
5263 2005-10-17 Diego Novillo <dnovillo@redhat.com>
5264
5265 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
5266 from subdirectories.
5267 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
5268 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
5269 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
5270 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
5271 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
5272 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
5273 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
5274 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
5275 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
5276 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
5277 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
5278 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
5279 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
5280 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
5281 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
5282 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
5283 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
5284 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
5285 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
5286 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
5287 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
5288 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
5289 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
5290 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
5291 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
5292
5293 2005-10-17 Jakub Jelinek <jakub@redhat.com>
5294
5295 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
5296 lang_library_path exists. Use find instead of glob to gather tests.
5297 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
5298
5299 2005-10-17 Diego Novillo <dnovillo@redhat.com>
5300
5301 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
5302 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
5303 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
5304 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
5305 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
5306 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
5307 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
5308 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
5309 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
5310 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
5311 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
5312 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
5313 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
5314
5315 2005-10-15 Jakub Jelinek <jakub@redhat.com>
5316
5317 * testsuite/libgomp.dg/vla-1.c: New test.
5318
5319 * testsuite/libgomp.fortran/reference2.f90: New test.
5320
5321 * testsuite/libgomp.fortran/character2.f90: Remove explicit
5322 declaration of omp_get_thread_num.
5323 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
5324 use omp_lib.
5325
5326 * testsuite/libgomp.fortran/reduction1.f90: New test.
5327 * testsuite/libgomp.fortran/reduction2.f90: New test.
5328 * testsuite/libgomp.fortran/reduction3.f90: New test.
5329 * testsuite/libgomp.fortran/reduction4.f90: New test.
5330
5331 2005-10-13 Richard Henderson <rth@redhat.com>
5332
5333 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
5334 * Makefile.in: Regenerate.
5335 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
5336 * libgomp.h: Include bar.h.
5337 (struct gomp_barrier): Remove.
5338 (struct gomp_team): Add barrier. Replace master_barrier with
5339 master_release. Replace threads with ordered_release.
5340 (struct gomp_thread): Replace barrier with release.
5341 * ordered.c (gomp_ordered_first): Update for ordered_release change.
5342 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
5343 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
5344 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
5345 (GOMP_single_copy_end): Likewise.
5346 * team.c (gomp_threads_dock): New.
5347 (gomp_barrier_init, gomp_barrier_destroy): Remove.
5348 (gomp_thread_start): Use gomp_barrier_wait.
5349 (new_team, free_team): Update for gomp_team changes.
5350 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
5351 (gomp_team_end): Use gomp_barrier_wait.
5352 (initialize_team): Update for gomp_thread changes.
5353 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
5354 (gomp_work_share_end_nowait): Use atomic ops when available.
5355 * config/linux/bar.c, config/linux/bar.h: New files.
5356 * config/posix/bar.c, config/posix/bar.h: New files.
5357
5358 2005-10-13 Jakub Jelinek <jakub@redhat.com>
5359
5360 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
5361 * testsuite/libgomp.dg/single-2.c: New test.
5362
5363 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
5364 lang_link_flags): Unset, so that they aren't inherited from previously
5365 sourced *.exp.
5366
5367 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
5368
5369 2005-10-12 Richard Henderson <rth@redhat.com>
5370
5371 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
5372 (libgomp_init): Use lang_test_file, lang_library_path, and
5373 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
5374
5375 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
5376 (lang_test_file, lang_link_flags): New.
5377 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
5378
5379 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
5380 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
5381 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
5382 testsuite/libgomp.c++/parallel-1.C,
5383 testsuite/libgomp.c++/reduction-1.C,
5384 testsuite/libgomp.c++/reduction-2.C,
5385 testsuite/libgomp.c++/reduction-3.C,
5386 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
5387 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
5388 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
5389 New files, largely cribbed from the C testsuite.
5390
5391 2005-10-12 Jakub Jelinek <jakub@redhat.com>
5392
5393 * testsuite/libgomp.fortran/character1.f90: New test.
5394 * testsuite/libgomp.fortran/character2.f90: New test.
5395
5396 * testsuite/libgomp.dg/nested-1.c: New test.
5397 * testsuite/libgomp.dg/nested-2.c: New test.
5398 * testsuite/libgomp.fortran/do1.f90: New test.
5399 * testsuite/libgomp.fortran/do2.f90: New test.
5400
5401 * testsuite/libgomp.fortran/reference1.f90: New test.
5402
5403 2005-10-11 Jakub Jelinek <jakub@redhat.com>
5404
5405 * testsuite/libgomp.dg/reduction-1.c: New test.
5406 * testsuite/libgomp.dg/reduction-2.c: New test.
5407 * testsuite/libgomp.dg/reduction-3.c: New test.
5408
5409 2005-10-10 Jakub Jelinek <jakub@redhat.com>
5410
5411 * testsuite/libgomp.dg/atomic-1.c: New test.
5412 * testsuite/libgomp.dg/atomic-2.c: New test.
5413
5414 2005-10-09 Richard Henderson <rth@redhat.com>
5415
5416 * critical.c (atomic_lock): New.
5417 (initialize_critical): Initialize it.
5418 (GOMP_atomic_start, GOMP_atomic_end): New.
5419 * libgomp.map: Export them.
5420 * libgomp_g.h: Declare them.
5421
5422 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
5423
5424 2005-10-02 Richard Henderson <rth@redhat.com>
5425
5426 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
5427 to XCFLAGS instead of CFLAGS.
5428
5429 2005-09-30 Richard Henderson <rth@redhat.com>
5430
5431 * configure.ac: Determine whether -pthread or -lpthread is needed.
5432 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
5433 * Makefine.in, configure: Rebuild.
5434
5435 2005-09-28 Richard Henderson <rth@redhat.com>
5436
5437 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
5438 * testsuite/libgomp.dg/omp-single-3.c: New test.
5439
5440 2005-09-28 Diego Novillo <dnovillo@redhat.com>
5441
5442 * testsuite/libgomp.dg/omp-single-2.c: New test.
5443 * testsuite/libgomp.dg/shared-2.c: Fix return code.
5444
5445 2005-09-27 Richard Henderson <rth@redhat.com>
5446
5447 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
5448 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
5449
5450 2005-09-27 Jakub Jelinek <jakub@redhat.com>
5451
5452 * testsuite/libgomp.dg/omp-loop03.c: New test.
5453
5454 2005-09-27 Diego Novillo <dnovillo@redhat.com>
5455
5456 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
5457
5458 2005-09-27 Diego Novillo <dnovillo@redhat.com>
5459
5460 * testsuite/libgomp.dg/omp-single-1.c: New test.
5461 * testsuite/libgomp.dg/shared-1.c: Return 0.
5462 Add prototype for abort.
5463 * testsuite/libgomp.dg/shared-2.c: Likewise.
5464
5465 2005-09-26 Jakub Jelinek <jakub@redhat.com>
5466
5467 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
5468 constructs.
5469
5470 2005-09-26 Diego Novillo <dnovillo@redhat.com>
5471
5472 * testsuite/libgomp.dg/shared-1.c: New test.
5473 * testsuite/libgomp.dg/shared-2.c: New test.
5474
5475 2005-09-24 Richard Henderson <rth@redhat.com>
5476
5477 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
5478
5479 2005-09-24 Richard Henderson <rth@redhat.com>
5480
5481 * iter.c (gomp_iter_static_next): Round up when computing number
5482 of iterations. Don't bother distributing a remainder equally.
5483
5484 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
5485 Don't call srand. Zero b before testing.
5486 (main): New.
5487
5488 2005-09-24 Jakub Jelinek <jakub@redhat.com>
5489
5490 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
5491 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
5492
5493 2005-09-23 Jakub Jelinek <jakub@redhat.com>
5494
5495 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
5496 without !$omp end do, followed immediately by subroutine end.
5497
5498 2005-09-23 Diego Novillo <dnovillo@redhat.com>
5499
5500 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
5501
5502 2005-09-22 Richard Henderson <rth@redhat.com>
5503
5504 * critical.c (GOMP_critical_name_start): Change argument to void**.
5505 Reuse the pointer space if the mutex fits.
5506 (GOMP_critical_name_end): Likewise.
5507 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
5508 * libgomp_g.h (GOMP_critical_name_start): Update decl.
5509 (GOMP_critical_name_end): Likewise.
5510 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
5511 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
5512
5513 2005-09-20 Richard Henderson <rth@redhat.com>
5514
5515 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
5516 (create_lock_lock): New.
5517 (initialize_critical): Initialize it.
5518 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
5519 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
5520
5521 2005-09-20 Diego Novillo <dnovillo@redhat.com>
5522
5523 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
5524
5525 2005-09-20 Diego Novillo <dnovillo@redhat.com>
5526
5527 * testsuite/libgomp.dg/omp-loop01.c: New test.
5528 * testsuite/libgomp.dg/omp-loop02.c: New test.
5529
5530 2005-09-20 Jakub Jelinek <jakub@redhat.com>
5531
5532 * configure.ac (AC_PROG_FC): Add.
5533 (USE_FORTRAN): New automake conditional.
5534 * configure: Rebuilt.
5535 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
5536 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
5537 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
5538 Add rules to build them.
5539 * Makefile.in: Rebuilt.
5540 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
5541 OMP_NEST_LOCK_KIND.
5542 * libgomp.map: Add Fortran wrappers.
5543 * libgomp_f.h.in: New file.
5544 * omp_lib.h.in: New file.
5545 * omp_lib.f90.in: New file.
5546 * fortran.c: New file.
5547 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
5548 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
5549 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
5550 libgfortran has been built.
5551 * testsuite/libgomp.fortran/fortran.exp: New file.
5552 * testsuite/libgomp.fortran/omp_cond1.f: New test.
5553 * testsuite/libgomp.fortran/omp_cond2.f: New test.
5554 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
5555 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
5556 * testsuite/libgomp.fortran/omp_hello.f: New test.
5557 * testsuite/libgomp.fortran/omp_orphan.f: New test.
5558 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
5559 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
5560 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
5561 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
5562 * testsuite/libgomp.fortran/omp_reduction.f: New test.
5563 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
5564 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
5565
5566 2005-08-30 Richard Henderson <rth@redhat.com>
5567
5568 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
5569 function for when aliases are not usable.
5570 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
5571 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
5572 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
5573 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
5574 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
5575 GOMP_loop_ordered_guided_next): Likewise.
5576 * ordered.c (GOMP_ordered_start): Likewise.
5577
5578 2005-08-01 Diego Novillo <dnovillo@redhat.com>
5579
5580 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
5581 * testsuite/libgomp.dg/omp_hello.c: Fix return code
5582 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
5583 * testsuite/libgomp.dg/omp_orphan.c: Likewise
5584 * testsuite/libgomp.dg/omp_reduction.c: Likewise
5585 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
5586 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
5587 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
5588 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
5589
5590 2005-07-07 Eric Christopher <echristo@redhat.com>
5591 Diego Novillo <dnovillo@redhat.com>
5592
5593 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
5594 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
5595 up code.
5596 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
5597 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
5598 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
5599 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
5600 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
5601 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
5602 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
5603
5604 2005-06-13 Diego Novillo <dnovillo@redhat.com>
5605
5606 * TOPLEVEL.patch: Remove.
5607
5608 2005-05-16 Richard Henderson <rth@redhat.com>
5609
5610 * configure.ac: Test for clock_gettime.
5611 * config.h.in, configure: Rebuild.
5612 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
5613 (omp_get_wtime): Use clock_gettime if available.
5614 (omp_get_wtick): Use clock_getres if available.
5615
5616 2005-05-11 Richard Henderson <rth@redhat.com>
5617
5618 * config/linux/ia64/futex.h: New file.
5619 * configure.tgt: Use it.
5620
5621 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
5622
5623 2005-05-07 Richard Henderson <rth@redhat.com>
5624
5625 * config/linux/powerpc/futex.h: New file.
5626 * configure.tgt: Use it.
5627
5628 * config/linux/i486/futex.h: Merge ...
5629 * config/linux/x86_64/futex.h: ... into ...
5630 * config/linux/x86/futex.h: ... here.
5631 * configure.tgt: Update to match.
5632
5633 2005-05-06 Richard Henderson <rth@redhat.com>
5634
5635 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
5636 * config/linux/i486/futex.h: Likewise.
5637 * config/linux/x86_64/futex.h: Likewise.
5638
5639 * config/linux/lock.c: New file.
5640 * config/linux/omp-lock.h: New file.
5641
5642 * critical.c, env.h: Don't include omp.h
5643 * config/posix/lock.c: Include libgomp.h instead of omp.h.
5644 * config/posix/time.c: Likewise.
5645 * config/posix/omp-lock.h: New file.
5646 * libgomp.h: Include omp-lock.h and omp.h.
5647 * Makefile.am (nodist_include_HEADERS): New.
5648 (omp.h): New rule.
5649 * configure.ac (PERL): New.
5650 * mkomp_h.pl: New file.
5651 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
5652 with templates.
5653 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
5654
5655 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
5656 build directory. Re-add -march=i486 hack.
5657
5658 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
5659 (libgomp_link_flags): Remove.
5660 (libgomp_initialized): Remove.
5661 (libgomp_init): Don't protect from reinitialization. Copy code
5662 from libstdc++ for getting the multilib set correctly.
5663
5664 2005-05-05 Richard Henderson <rth@redhat.com>
5665
5666 * config/linux/alpha/futex.h: New file.
5667 * configure.tgt (alpha*-*-linux*): Use it.
5668
5669 * config/posix/mutex.c: New file.
5670 * config/posix/sem.c: Use libgomp.h.
5671
5672 * configure.tgt (x86_64-linux): Also test CC for -m32.
5673 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
5674
5675 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
5676 after $gccpath.
5677
5678 * Makefile.am (SUBDIRS): New.
5679 (libgomp_la_LDFLAGS): Add -lpthread.
5680 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
5681 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
5682
5683 * libgomp_g.h: New file.
5684 * libgomp.h: Split out all public declarations to libgomp_g.h.
5685 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
5686 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
5687 * config/linux/sem.h: Likewise.
5688 * config/posix/sem.h: Likewise.
5689
5690 * Makefile.am (AM_LDFLAGS): New.
5691 (libgomp_version_script): Split out from ...
5692 (libgomp_la_LDFLAGS): ... here.
5693 (libgomp_version_info): New.
5694 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
5695 (LIBGOMP_ENABLE): New.
5696 (LIBGOMP_CHECK_LINKER_FEATURES): New.
5697 (LIBGOMP_ENABLE_SYMVERS): New.
5698 * configure.ac (AC_INIT): Version 1.0.
5699 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
5700 (enable-linux-futex): Likewise. Rename from enable-futex.
5701 (libtool_VERSION): New.
5702 (LIBGOMP_ENABLE_SYMVERS): Use it.
5703 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
5704 * Makefile.in, aclocal.m4, configure: Rebuild.
5705
5706 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
5707 (gomp_mutex_unlock_slow): Fix typo.
5708 * config/linux/sem.c: Similarly.
5709 (gomp_sem_post_slow): Fix typo.
5710 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
5711 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
5712 [__PIC__] (sys_futex0): Don't use tmp output in asm.
5713
5714 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
5715 (libgomp_la_LDFLAGS): Add top_srcdir to path.
5716 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
5717 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
5718 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
5719 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
5720 LDFLAGS. Pull enable_futex check to top-level.
5721 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
5722 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
5723
5724 First attempt at real configury.
5725 * Makefile, config.h: Remove file.
5726 * Makefile.am, Makefile.in: New file.
5727 * acinclude.m4 aclocal.m4: New file.
5728 * configure.ac, configure.tgt, configure: New file.
5729
5730 * config/posix/lock.c: Rename from sys-lock.c.
5731 * config/posix/mutex.h: Rename from sys-mutex.h.
5732 * config/posix/sem.c: Rename from sys-sem.c.
5733 * config/posix/sem.h: Rename from sys-sem.h.
5734 * config/posix/proc.c: Rename from sys-proc.c.
5735 * config/posix/time.c: Rename from sys-proc.c.
5736
5737 * config/linux/mutex.c: New file.
5738 * config/linux/mutex.h: New file.
5739 * config/linux/sem.c: New file.
5740 * config/linux/sem.h: New file.
5741 * config/linux/i486/futex.h: New file.
5742 * config/linux/x86_64/futex.h: New file.
5743
5744 2005-05-04 Richard Henderson <rth@redhat.com>
5745
5746 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
5747 * libgomp.h: Declare them.
5748 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
5749 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
5750
5751 2005-05-04 Richard Henderson <rth@redhat.com>
5752
5753 * libgomp-1 code drop
5754
5755 2005-05-04 Richard Henderson <rth@redhat.com>
5756
5757 * iter.c (gomp_iter_static_next): Return tri-state on 0.
5758 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
5759 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
5760 (gomp_iter_static_next): Update.
5761 (gomp_ordered_static_next): Update.
5762 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
5763 (gomp_loop_ordered_static_start): Likewise. Exit early for a
5764 totally empty range.
5765 (gomp_loop_ordered_static_next): Refine test for calling
5766 gomp_ordered_static_next.
5767 * testsuite/ordered-1.c: Add case for more threads than iterations.
5768
5769 * iter.c (gomp_iter_runtime_next_locked): Remove.
5770 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
5771 gomp_loop_guided_start, gomp_loop_ordered_static_start,
5772 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5773 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
5774 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
5775 gomp_loop_ordered_guided_next): Downcase name, make static, add
5776 an external alias with the old name.
5777 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5778 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
5779 switch and call one of the above static functions.
5780 * libgomp.h: Update.
5781
5782 * work.c (gomp_work_share_start): Lock the mutex for !first too.
5783 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
5784 GOMP_loop_guided_start, GOMP_loop_runtime_start,
5785 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
5786 GOMP_loop_ordered_guided_start): Update to match.
5787 * sections.c (GOMP_sections_start): Likewise.
5788 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
5789
5790 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
5791 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
5792 Use bounds check instead of modulus.
5793 (gomp_ordered_sync): Split out of GOMP_ordered_start.
5794 (gomp_ordered_last): Don't sync with ordered_owner here.
5795 (gomp_ordered_next): Likewise.
5796 (gomp_ordered_static_loop_next): Likewise.
5797 * loop.c, libgomp.h: Update to match.
5798
5799 * libgomp.h (GOMP_barrier): Declare.
5800
5801 * testsuite/barrier-1.c: New file.
5802 * testsuite/critical-1.c: New file.
5803 * testsuite/ordered-2.c: New file.
5804 * testsuite/ordered-1.c: New file.
5805 * testsuite/sections-1.c: New file.
5806 * testsuite/single-1.c: New file.
5807 * testsuite/Makefile (TESTS): Add them.
5808
5809 2005-05-04 Richard Henderson <rth@redhat.com>
5810
5811 * libgomp.h (struct gomp_work_share): Add ordered_owner.
5812 * loop.c (GOMP_loop_static_start): If not the startup thread,
5813 acquire the mutex to wait for initialization complete.
5814 (GOMP_loop_ordered_static_start): Likewise.
5815 (GOMP_loop_ordered_runtime_start): Likewise.
5816 (GOMP_loop_ordered_static_first): Remove.
5817 (GOMP_loop_ordered_dynamic_first): Remove.
5818 (GOMP_loop_ordered_guided_first): Remove.
5819 (GOMP_loop_ordered_runtime_first): Remove.
5820 * ordered.c (gomp_ordered_loop_first): Post to own release when
5821 we're the first thread.
5822 (gomp_ordered_loop_last): Wait on release if not owner.
5823 (gomp_ordered_loop_next): Likewise.
5824 (gomp_ordered_static_loop_init): New.
5825 (gomp_ordered_static_loop_next): Use ordered_owner.
5826 (GOMP_ordered_start): Likewise.
5827 * work.c (gomp_new_work_share): Initialize ordered_owner.
5828
5829 2005-05-03 Richard Henderson <rth@redhat.com>
5830
5831 * Makefile (OPT): New.
5832 (CFLAGS): Use it.
5833
5834 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
5835 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
5836 * libgomp.h, libgomp.map, NOTES: Update to match.
5837
5838 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
5839 Add initialized and thr members.
5840 (gomp_thread_start): Pause when initially spawned to wait for
5841 the whole team to be created.
5842 (gomp_team_start): Release team members at the end.
5843
5844 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
5845 (f_foo_1): Use GOMP_loop_end.
5846 (f_foo_2): Use GOMP_loop_end_nowait.
5847
5848 * testsuite/loop-2.c: New file.
5849 * testsuite/Makefile (TESTS): Add it.
5850
5851 2005-05-03 Richard Henderson <rth@redhat.com>
5852
5853 * iter.c (gomp_iter_static_next): Fix overflow check typo.
5854 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
5855 * team.c (new_team): Initialize oldest_live_gen to 1 if no
5856 initial work_share.
5857
5858 * testsuite/Makefile: New file.
5859 * testsuite/loop-1.c: New file.
5860
5861 2005-05-03 Richard Henderson <rth@redhat.com>
5862
5863 Initial implementation and checkin.