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