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