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