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